summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md2
-rw-r--r--doc/stdenv/cross-compilation.chapter.md2
-rw-r--r--lib/customisation.nix15
-rw-r--r--lib/licenses.nix5
-rw-r--r--lib/sources.nix28
-rw-r--r--lib/trivial.nix4
-rw-r--r--maintainers/maintainer-list.nix28
-rw-r--r--maintainers/scripts/pluginupdate.py8
-rw-r--r--nixos/doc/manual/configuration/config-syntax.chapter.md1
-rw-r--r--nixos/doc/manual/configuration/summary.section.md46
-rw-r--r--nixos/doc/manual/configuration/user-mgmt.chapter.md3
-rw-r--r--nixos/doc/manual/from_md/configuration/config-syntax.chapter.xml1
-rw-r--r--nixos/doc/manual/from_md/configuration/summary.section.xml332
-rw-r--r--nixos/doc/manual/from_md/configuration/user-mgmt.chapter.xml2
-rw-r--r--nixos/doc/manual/from_md/installation/installing.chapter.xml14
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2211.section.xml48
-rw-r--r--nixos/doc/manual/installation/installing.chapter.md12
-rw-r--r--nixos/doc/manual/release-notes/rl-2211.section.md12
-rw-r--r--nixos/lib/test-driver/test_driver/machine.py9
-rw-r--r--nixos/modules/config/power-management.nix2
-rw-r--r--nixos/modules/config/users-groups.nix22
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix2
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/misc/nixpkgs.nix2
-rw-r--r--nixos/modules/module-list.nix3
-rw-r--r--nixos/modules/programs/steam.nix33
-rw-r--r--nixos/modules/programs/tmux.nix19
-rw-r--r--nixos/modules/programs/zsh/zsh.nix6
-rw-r--r--nixos/modules/services/databases/surrealdb.nix79
-rw-r--r--nixos/modules/services/desktops/gnome/at-spi2-core.nix5
-rw-r--r--nixos/modules/services/monitoring/tremor-rs.nix129
-rw-r--r--nixos/modules/services/networking/firewall.nix2
-rw-r--r--nixos/modules/services/networking/mullvad-vpn.nix19
-rw-r--r--nixos/modules/services/system/automatic-timezoned.nix92
-rw-r--r--nixos/modules/services/web-apps/alps.nix52
-rw-r--r--nixos/modules/services/web-apps/keycloak.nix27
-rw-r--r--nixos/modules/services/x11/picom.nix14
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh10
-rw-r--r--nixos/modules/system/boot/systemd.nix3
-rw-r--r--nixos/modules/tasks/filesystems.nix8
-rw-r--r--nixos/modules/virtualisation/nixos-containers.nix10
-rw-r--r--nixos/release-combined.nix1
-rw-r--r--nixos/tests/all-tests.nix5
-rw-r--r--nixos/tests/alps.nix104
-rw-r--r--nixos/tests/common/acme/server/acme.test.cert.pem32
-rw-r--r--nixos/tests/common/acme/server/acme.test.key.pem50
-rw-r--r--nixos/tests/common/acme/server/ca.cert.pem34
-rw-r--r--nixos/tests/common/acme/server/ca.key.pem50
-rw-r--r--nixos/tests/deluge.nix4
-rw-r--r--nixos/tests/installer-systemd-stage-1.nix7
-rw-r--r--nixos/tests/installer.nix21
-rw-r--r--nixos/tests/keycloak.nix17
-rw-r--r--nixos/tests/phosh.nix65
-rw-r--r--nixos/tests/web-apps/mastodon.nix5
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix4
-rw-r--r--pkgs/applications/audio/cava/default.nix4
-rw-r--r--pkgs/applications/audio/lollypop/default.nix4
-rw-r--r--pkgs/applications/audio/odin2/default.nix14
-rw-r--r--pkgs/applications/audio/open-stage-control/default.nix44
-rw-r--r--pkgs/applications/audio/open-stage-control/node-composition.nix17
-rw-r--r--pkgs/applications/audio/open-stage-control/node-packages.nix9220
-rw-r--r--pkgs/applications/audio/open-stage-control/package-lock.json.patch18247
-rwxr-xr-xpkgs/applications/audio/open-stage-control/update.sh66
-rw-r--r--pkgs/applications/audio/pocket-casts/default.nix29
-rw-r--r--pkgs/applications/audio/polyphone/default.nix8
-rw-r--r--pkgs/applications/audio/praat/default.nix4
-rw-r--r--pkgs/applications/audio/psst/default.nix13
-rw-r--r--pkgs/applications/audio/ptcollab/default.nix4
-rw-r--r--pkgs/applications/audio/radioboat/default.nix6
-rw-r--r--pkgs/applications/audio/tagger/default.nix4
-rw-r--r--pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--pkgs/applications/blockchains/nearcore/default.nix6
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix84
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix2
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/nano-theme/default.nix22
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix13
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/update.py3
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix69
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json1264
-rw-r--r--pkgs/applications/editors/imhex/default.nix3
-rw-r--r--pkgs/applications/editors/leo-editor/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/default.nix4
-rw-r--r--pkgs/applications/editors/qemacs/default.nix4
-rw-r--r--pkgs/applications/editors/texstudio/default.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix379
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix158
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix64
-rwxr-xr-xpkgs/applications/editors/vim/plugins/nvim-treesitter/update.py5
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix19
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names3
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix30
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix12
-rw-r--r--pkgs/applications/emulators/basiliskii/default.nix4
-rw-r--r--pkgs/applications/emulators/duckstation/default.nix31
-rw-r--r--pkgs/applications/emulators/flycast/default.nix7
-rw-r--r--pkgs/applications/emulators/sameboy/default.nix4
-rw-r--r--pkgs/applications/file-managers/felix-fm/default.nix31
-rw-r--r--pkgs/applications/file-managers/llama/default.nix6
-rw-r--r--pkgs/applications/gis/grass/default.nix2
-rw-r--r--pkgs/applications/graphics/ascii-image-converter/default.nix6
-rw-r--r--pkgs/applications/graphics/lazpaint/default.nix1
-rw-r--r--pkgs/applications/graphics/qimgv/default.nix4
-rw-r--r--pkgs/applications/graphics/qimgv/qt5-12-compat.diff13
-rw-r--r--pkgs/applications/kde/kdevelop/kdevelop.nix4
-rw-r--r--pkgs/applications/kde/rocs.nix4
-rw-r--r--pkgs/applications/misc/anytype/default.nix4
-rw-r--r--pkgs/applications/misc/cubiomes-viewer/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix6
-rw-r--r--pkgs/applications/misc/eureka-ideas/default.nix13
-rw-r--r--pkgs/applications/misc/heimer/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/ksmoothdock/default.nix6
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/meerk40t/default.nix4
-rw-r--r--pkgs/applications/misc/metadata-cleaner/default.nix4
-rw-r--r--pkgs/applications/misc/oxker/default.nix6
-rw-r--r--pkgs/applications/misc/process-compose/default.nix42
-rw-r--r--pkgs/applications/misc/sigi/default.nix8
-rw-r--r--pkgs/applications/misc/synergy/default.nix6
-rw-r--r--pkgs/applications/misc/tippecanoe/default.nix4
-rw-r--r--pkgs/applications/misc/tty-share/default.nix5
-rw-r--r--pkgs/applications/misc/web-media-controller/default.nix30
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json6
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix5
-rw-r--r--pkgs/applications/networking/browsers/librewolf/librewolf.nix10
-rw-r--r--pkgs/applications/networking/browsers/luakit/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helmsman/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/krane/Gemfile.lock30
-rw-r--r--pkgs/applications/networking/cluster/krane/gemset.nix48
-rw-r--r--pkgs/applications/networking/cluster/kubelogin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json144
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/goeland/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/default.nix6
-rw-r--r--pkgs/applications/networking/go-graft/default.nix6
-rw-r--r--pkgs/applications/networking/google-drive-ocamlfuse/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/coyim/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/go-neb/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/threema-desktop/default.nix6
-rw-r--r--pkgs/applications/networking/irc/kvirc/default.nix6
-rw-r--r--pkgs/applications/networking/irc/sic/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/muchsync.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix530
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix4
-rw-r--r--pkgs/applications/networking/p2p/lokinet/default.nix14
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/networking/rymdport/default.nix52
-rw-r--r--pkgs/applications/networking/sniffers/kismet/default.nix105
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--pkgs/applications/networking/twtxt/default.nix6
-rw-r--r--pkgs/applications/office/karlender/default.nix6
-rw-r--r--pkgs/applications/office/libreoffice/default.nix2
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix1
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/radio/btlejack/default.nix6
-rw-r--r--pkgs/applications/radio/rtl_433/default.nix17
-rw-r--r--pkgs/applications/radio/sdrangel/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/kstars/default.nix4
-rw-r--r--pkgs/applications/science/biology/igv/default.nix4
-rw-r--r--pkgs/applications/science/electronics/dsview/default.nix28
-rw-r--r--pkgs/applications/science/electronics/dsview/install.patch30
-rw-r--r--pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix28
-rw-r--r--pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix27
-rw-r--r--pkgs/applications/science/electronics/dsview/qt515.patch13
-rw-r--r--pkgs/applications/science/logic/beluga/default.nix2
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix4
-rw-r--r--pkgs/applications/version-management/bcompare/default.nix6
-rw-r--r--pkgs/applications/version-management/fossil/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-absorb/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-branchless/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-credential-keepassxc/default.nix36
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitnuro/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitui/default.nix11
-rw-r--r--pkgs/applications/version-management/git-and-tools/lefthook/default.nix4
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/gitoxide/default.nix6
-rw-r--r--pkgs/applications/video/freetube/default.nix4
-rw-r--r--pkgs/applications/video/iina/default.nix4
-rw-r--r--pkgs/applications/video/kmplayer/default.nix3
-rw-r--r--pkgs/applications/video/kooha/default.nix1
-rw-r--r--pkgs/applications/video/lbry/default.nix4
-rw-r--r--pkgs/applications/video/media-downloader/default.nix4
-rw-r--r--pkgs/applications/video/mpv/scripts/sponsorblock.nix6
-rw-r--r--pkgs/applications/virtualization/cloud-hypervisor/default.nix6
-rw-r--r--pkgs/applications/virtualization/cri-o/wrapper.nix13
-rw-r--r--pkgs/applications/virtualization/crosvm/Cargo.lock2214
-rw-r--r--pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff15
-rw-r--r--pkgs/applications/virtualization/crosvm/default.nix56
-rw-r--r--pkgs/applications/virtualization/crosvm/generate-cargo.sh7
-rwxr-xr-xpkgs/applications/virtualization/crosvm/update.py15
-rw-r--r--pkgs/applications/virtualization/podman/wrapper.nix17
-rw-r--r--pkgs/applications/window-managers/gamescope/default.nix6
-rw-r--r--pkgs/applications/window-managers/phosh/default.nix3
-rw-r--r--pkgs/applications/window-managers/picom/default.nix4
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng.nix2
-rw-r--r--pkgs/build-support/make-symlinks/builder.sh9
-rw-r--r--pkgs/build-support/make-symlinks/default.nix7
-rw-r--r--pkgs/build-support/node/build-npm-package/hooks/default.nix9
-rw-r--r--pkgs/build-support/rust/build-rust-crate/configure-crate.nix14
-rw-r--r--pkgs/build-support/rust/hooks/default.nix4
-rw-r--r--pkgs/data/fonts/google-fonts/default.nix37
-rw-r--r--pkgs/data/icons/numix-icon-theme/default.nix4
-rw-r--r--pkgs/data/icons/whitesur-icon-theme/default.nix7
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/v2ray-geoip/default.nix6
-rw-r--r--pkgs/data/themes/adw-gtk3/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/emoji-selector/default.nix41
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json60
-rw-r--r--pkgs/desktops/gnome/extensions/manuallyPackaged.nix1
-rw-r--r--pkgs/development/beam-modules/elixir-ls/pin.json6
-rw-r--r--pkgs/development/compilers/chicken/4/eggDerivation.nix6
-rw-r--r--pkgs/development/compilers/chicken/5/eggDerivation.nix6
-rw-r--r--pkgs/development/compilers/copper/default.nix5
-rw-r--r--pkgs/development/compilers/flutter/default.nix10
-rw-r--r--pkgs/development/compilers/haxe/default.nix4
-rw-r--r--pkgs/development/compilers/yosys/default.nix11
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix26
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix12
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml8
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml5
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml18
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml7
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix4
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix933
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/luau/default.nix4
-rw-r--r--pkgs/development/interpreters/lunatic/default.nix10
-rw-r--r--pkgs/development/interpreters/php/8.2.nix61
-rw-r--r--pkgs/development/interpreters/racket/default.nix4
-rw-r--r--pkgs/development/interpreters/racket/minimal.nix2
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/bindings.nix8
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/core.nix4
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/db.nix17
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch18
-rw-r--r--pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch23
-rw-r--r--pkgs/development/libraries/ada/xmlada/default.nix4
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix4
-rw-r--r--pkgs/development/libraries/babl/default.nix4
-rw-r--r--pkgs/development/libraries/catch2/3.nix4
-rw-r--r--pkgs/development/libraries/duckdb/default.nix20
-rw-r--r--pkgs/development/libraries/duckdb/version.patch47
-rw-r--r--pkgs/development/libraries/entt/default.nix10
-rw-r--r--pkgs/development/libraries/farstream/default.nix2
-rw-r--r--pkgs/development/libraries/gegl/default.nix11
-rw-r--r--pkgs/development/libraries/glbinding/default.nix4
-rw-r--r--pkgs/development/libraries/gsl/gsl-1_16.nix51
-rw-r--r--pkgs/development/libraries/hiredis/default.nix4
-rw-r--r--pkgs/development/libraries/imath/default.nix4
-rw-r--r--pkgs/development/libraries/imgui/default.nix4
-rw-r--r--pkgs/development/libraries/java/commons/compress/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix1
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch40
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/karchive.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--pkgs/development/libraries/kerberos/heimdal.nix4
-rw-r--r--pkgs/development/libraries/libagar/default.nix4
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix6
-rw-r--r--pkgs/development/libraries/libhv/default.nix34
-rw-r--r--pkgs/development/libraries/libmodbus/default.nix16
-rw-r--r--pkgs/development/libraries/libnice/default.nix2
-rw-r--r--pkgs/development/libraries/libplctag/default.nix4
-rw-r--r--pkgs/development/libraries/libstroke/default.nix10
-rw-r--r--pkgs/development/libraries/libutempter/default.nix9
-rw-r--r--pkgs/development/libraries/libutempter/exec_path.patch31
-rw-r--r--pkgs/development/libraries/lirc/default.nix22
-rw-r--r--pkgs/development/libraries/ngtcp2/default.nix4
-rw-r--r--pkgs/development/libraries/odpic/default.nix4
-rw-r--r--pkgs/development/libraries/openturns/default.nix4
-rw-r--r--pkgs/development/libraries/openxr-loader/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix3
-rw-r--r--pkgs/development/libraries/qt-6/default.nix2
-rw-r--r--pkgs/development/libraries/qt-6/qtModule.nix2
-rw-r--r--pkgs/development/libraries/s2n-tls/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/blas/default.nix4
-rw-r--r--pkgs/development/libraries/telepathy/farstream/default.nix2
-rw-r--r--pkgs/development/libraries/telepathy/qt/default.nix2
-rw-r--r--pkgs/development/libraries/vtk/9.x.nix6
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK30.nix4
-rw-r--r--pkgs/development/misc/brev-cli/default.nix6
-rw-r--r--pkgs/development/node-packages/node-packages.json1
-rw-r--r--pkgs/development/node-packages/node-packages.nix531
-rw-r--r--pkgs/development/ocaml-modules/cudf/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/dose3/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/extlib/1.7.7.nix29
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/iter/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/lustre-v6/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mlgmpidl/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/tcslib/default.nix4
-rw-r--r--pkgs/development/php-packages/datadog_trace/default.nix3
-rw-r--r--pkgs/development/php-packages/gnupg/default.nix3
-rw-r--r--pkgs/development/php-packages/oci8/default.nix14
-rw-r--r--pkgs/development/php-packages/xdebug/default.nix14
-rw-r--r--pkgs/development/python-modules/aioairzone/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aioftp/default.nix4
-rw-r--r--pkgs/development/python-modules/aiogithubapi/default.nix2
-rw-r--r--pkgs/development/python-modules/aiohomekit/default.nix4
-rw-r--r--pkgs/development/python-modules/aioswitcher/default.nix4
-rw-r--r--pkgs/development/python-modules/aiosyncthing/default.nix2
-rw-r--r--pkgs/development/python-modules/amqtt/default.nix2
-rw-r--r--pkgs/development/python-modules/aprslib/default.nix12
-rw-r--r--pkgs/development/python-modules/arviz/default.nix6
-rw-r--r--pkgs/development/python-modules/awacs/default.nix38
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-security/default.nix21
-rw-r--r--pkgs/development/python-modules/azure-mgmt-storage/default.nix4
-rw-r--r--pkgs/development/python-modules/bibtexparser/default.nix8
-rw-r--r--pkgs/development/python-modules/bleak-retry-connector/default.nix4
-rw-r--r--pkgs/development/python-modules/bluetooth-adapters/default.nix6
-rw-r--r--pkgs/development/python-modules/bluetooth-auto-recovery/default.nix7
-rw-r--r--pkgs/development/python-modules/bluetooth-data-tools/default.nix7
-rw-r--r--pkgs/development/python-modules/boschshcpy/default.nix4
-rw-r--r--pkgs/development/python-modules/boxx/default.nix4
-rw-r--r--pkgs/development/python-modules/bthome-ble/default.nix7
-rw-r--r--pkgs/development/python-modules/channels/default.nix4
-rw-r--r--pkgs/development/python-modules/check-manifest/default.nix9
-rw-r--r--pkgs/development/python-modules/clickhouse-cityhash/default.nix17
-rw-r--r--pkgs/development/python-modules/clip/default.nix39
-rw-r--r--pkgs/development/python-modules/clize/default.nix11
-rw-r--r--pkgs/development/python-modules/compreffor/default.nix4
-rw-r--r--pkgs/development/python-modules/datasette/default.nix6
-rw-r--r--pkgs/development/python-modules/datashader/default.nix4
-rw-r--r--pkgs/development/python-modules/dbus-fast/default.nix6
-rw-r--r--pkgs/development/python-modules/diff-cover/default.nix4
-rw-r--r--pkgs/development/python-modules/discovery30303/default.nix2
-rw-r--r--pkgs/development/python-modules/django-taggit/default.nix7
-rw-r--r--pkgs/development/python-modules/django-webpack-loader/default.nix24
-rw-r--r--pkgs/development/python-modules/duckdb/default.nix14
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix27
-rw-r--r--pkgs/development/python-modules/dynalite-devices/default.nix2
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix4
-rw-r--r--pkgs/development/python-modules/filemagic/default.nix30
-rw-r--r--pkgs/development/python-modules/flux-led/default.nix5
-rw-r--r--pkgs/development/python-modules/g2pkk/default.nix36
-rw-r--r--pkgs/development/python-modules/gbinder-python/default.nix4
-rw-r--r--pkgs/development/python-modules/geopy/default.nix14
-rw-r--r--pkgs/development/python-modules/git-annex-adapter/default.nix4
-rw-r--r--pkgs/development/python-modules/gql/default.nix2
-rw-r--r--pkgs/development/python-modules/graphviz/default.nix4
-rw-r--r--pkgs/development/python-modules/gspread/default.nix4
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/holidays/default.nix4
-rw-r--r--pkgs/development/python-modules/homematicip/default.nix2
-rw-r--r--pkgs/development/python-modules/huawei-lte-api/default.nix4
-rw-r--r--pkgs/development/python-modules/huggingface-hub/default.nix4
-rw-r--r--pkgs/development/python-modules/hypercorn/default.nix22
-rw-r--r--pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix2
-rw-r--r--pkgs/development/python-modules/ibm-watson/default.nix2
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/jamo/default.nix34
-rw-r--r--pkgs/development/python-modules/jsonrpc-websocket/default.nix2
-rw-r--r--pkgs/development/python-modules/keyring/default.nix13
-rw-r--r--pkgs/development/python-modules/latexify-py/default.nix39
-rw-r--r--pkgs/development/python-modules/liquidctl/default.nix8
-rw-r--r--pkgs/development/python-modules/lupa/default.nix4
-rw-r--r--pkgs/development/python-modules/mastodon-py/default.nix4
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix1
-rw-r--r--pkgs/development/python-modules/name-that-hash/default.nix4
-rw-r--r--pkgs/development/python-modules/neo4j/default.nix4
-rw-r--r--pkgs/development/python-modules/numba/cuda_path.patch17
-rw-r--r--pkgs/development/python-modules/numba/default.nix48
-rw-r--r--pkgs/development/python-modules/od/default.nix23
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/plotext/default.nix30
-rw-r--r--pkgs/development/python-modules/pre-commit-hooks/default.nix5
-rw-r--r--pkgs/development/python-modules/prodict/default.nix35
-rw-r--r--pkgs/development/python-modules/pushover-complete/default.nix15
-rw-r--r--pkgs/development/python-modules/pwntools/default.nix2
-rw-r--r--pkgs/development/python-modules/pydata-sphinx-theme/default.nix4
-rw-r--r--pkgs/development/python-modules/pylitterbot/default.nix4
-rw-r--r--pkgs/development/python-modules/pylutron-caseta/default.nix2
-rw-r--r--pkgs/development/python-modules/pyotgw/default.nix4
-rw-r--r--pkgs/development/python-modules/pypandoc/default.nix25
-rw-r--r--pkgs/development/python-modules/pypck/default.nix2
-rw-r--r--pkgs/development/python-modules/pyrect/default.nix13
-rw-r--r--pkgs/development/python-modules/pyrogram/default.nix4
-rw-r--r--pkgs/development/python-modules/pysma/default.nix4
-rw-r--r--pkgs/development/python-modules/pyspcwebgw/default.nix2
-rw-r--r--pkgs/development/python-modules/pyswitchbot/default.nix4
-rw-r--r--pkgs/development/python-modules/pytautulli/default.nix2
-rw-r--r--pkgs/development/python-modules/python-homewizard-energy/default.nix7
-rw-r--r--pkgs/development/python-modules/python-kasa/default.nix2
-rw-r--r--pkgs/development/python-modules/python-smarttub/default.nix4
-rw-r--r--pkgs/development/python-modules/pytraccar/default.nix2
-rw-r--r--pkgs/development/python-modules/pyunifiprotect/default.nix8
-rw-r--r--pkgs/development/python-modules/pyvicare/default.nix4
-rw-r--r--pkgs/development/python-modules/pywizlight/default.nix2
-rw-r--r--pkgs/development/python-modules/qiskit-terra/default.nix2
-rw-r--r--pkgs/development/python-modules/regenmaschine/default.nix4
-rw-r--r--pkgs/development/python-modules/renault-api/default.nix2
-rw-r--r--pkgs/development/python-modules/repeated-test/default.nix45
-rw-r--r--pkgs/development/python-modules/respx/default.nix9
-rw-r--r--pkgs/development/python-modules/scapy/default.nix5
-rw-r--r--pkgs/development/python-modules/scikit-learn/default.nix2
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix43
-rw-r--r--pkgs/development/python-modules/serpy/default.nix30
-rw-r--r--pkgs/development/python-modules/shtab/default.nix5
-rw-r--r--pkgs/development/python-modules/sigtools/default.nix35
-rw-r--r--pkgs/development/python-modules/sip/default.nix4
-rw-r--r--pkgs/development/python-modules/smpplib/default.nix27
-rw-r--r--pkgs/development/python-modules/snakebite/default.nix15
-rw-r--r--pkgs/development/python-modules/sphinx-copybutton/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix7
-rw-r--r--pkgs/development/python-modules/sphinxcontrib_httpdomain/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix39
-rw-r--r--pkgs/development/python-modules/ssdeep/default.nix11
-rw-r--r--pkgs/development/python-modules/structlog/default.nix4
-rw-r--r--pkgs/development/python-modules/subarulink/default.nix4
-rw-r--r--pkgs/development/python-modules/taskw/default.nix10
-rw-r--r--pkgs/development/python-modules/taxi/default.nix26
-rw-r--r--pkgs/development/python-modules/termgraph/default.nix32
-rw-r--r--pkgs/development/python-modules/thermobeacon-ble/default.nix7
-rw-r--r--pkgs/development/python-modules/tld/default.nix4
-rw-r--r--pkgs/development/python-modules/token-bucket/default.nix3
-rw-r--r--pkgs/development/python-modules/tplink-omada-client/default.nix4
-rw-r--r--pkgs/development/python-modules/trainer/default.nix (renamed from pkgs/development/python-modules/coqui-trainer/default.nix)2
-rw-r--r--pkgs/development/python-modules/troposphere/default.nix52
-rw-r--r--pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--pkgs/development/python-modules/types-colorama/default.nix4
-rw-r--r--pkgs/development/python-modules/types-python-dateutil/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/types-setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/types-toml/default.nix4
-rw-r--r--pkgs/development/python-modules/types-urllib3/default.nix4
-rw-r--r--pkgs/development/python-modules/unicodedata2/default.nix4
-rw-r--r--pkgs/development/python-modules/unifi-discovery/default.nix2
-rw-r--r--pkgs/development/python-modules/versioningit/default.nix10
-rw-r--r--pkgs/development/python-modules/vt-py/default.nix4
-rw-r--r--pkgs/development/python-modules/wand/default.nix (renamed from pkgs/development/python-modules/Wand/default.nix)19
-rw-r--r--pkgs/development/python-modules/watchdog/default.nix1
-rw-r--r--pkgs/development/python-modules/whois/default.nix4
-rw-r--r--pkgs/development/python-modules/xbox-webapi/default.nix2
-rw-r--r--pkgs/development/python-modules/zigpy-znp/default.nix4
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--pkgs/development/tools/appthreat-depscan/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bob/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/buck/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gprbuild/boot.nix6
-rw-r--r--pkgs/development/tools/buildah/wrapper.nix17
-rw-r--r--pkgs/development/tools/bundletool/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix32
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/database/apgdiff/default.nix35
-rw-r--r--pkgs/development/tools/database/beekeeper-studio/default.nix4
-rw-r--r--pkgs/development/tools/datree/default.nix4
-rw-r--r--pkgs/development/tools/doctl/default.nix4
-rw-r--r--pkgs/development/tools/dump_syms/default.nix15
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/fnm/default.nix6
-rw-r--r--pkgs/development/tools/go-task/default.nix6
-rw-r--r--pkgs/development/tools/go-toml/default.nix6
-rw-r--r--pkgs/development/tools/grpc-gateway/default.nix6
-rw-r--r--pkgs/development/tools/micronaut/default.nix4
-rw-r--r--pkgs/development/tools/millet/default.nix6
-rw-r--r--pkgs/development/tools/misc/babeltrace/default.nix13
-rw-r--r--pkgs/development/tools/misc/sccache/default.nix6
-rw-r--r--pkgs/development/tools/mold/default.nix4
-rw-r--r--pkgs/development/tools/mysql-shell/default.nix37
-rw-r--r--pkgs/development/tools/ocaml/camlidl/default.nix34
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix4
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/default.nix10
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/deps.nix99
-rw-r--r--pkgs/development/tools/operator-sdk/default.nix4
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammar.nix10
-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-r.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rego.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sql.json8
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json3
-rw-r--r--pkgs/development/tools/pscale/default.nix6
-rw-r--r--pkgs/development/tools/ruff/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-public-api/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-release/default.nix6
-rw-r--r--pkgs/development/tools/sentry-cli/default.nix6
-rw-r--r--pkgs/development/tools/skaffold/default.nix6
-rw-r--r--pkgs/development/tools/sumneko-lua-language-server/default.nix4
-rw-r--r--pkgs/development/tools/symfony-cli/default.nix6
-rw-r--r--pkgs/development/tools/tabnine/default.nix33
-rwxr-xr-xpkgs/development/tools/tabnine/fetch-latest.sh29
-rw-r--r--pkgs/development/tools/tabnine/sources.json17
-rwxr-xr-xpkgs/development/tools/tabnine/update.sh50
-rw-r--r--pkgs/development/tools/wabt/default.nix4
-rw-r--r--pkgs/development/tools/worker-build/default.nix6
-rw-r--r--pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix6
-rw-r--r--pkgs/development/tools/ytt/default.nix4
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/nodejs/v19.nix4
-rw-r--r--pkgs/games/ckan/default.nix4
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix2
-rw-r--r--pkgs/games/ferium/default.nix6
-rw-r--r--pkgs/games/keeperrl/default.nix38
-rw-r--r--pkgs/games/mindustry/0001-fix-include-path-for-SDL2-on-linux.patch8
-rw-r--r--pkgs/games/mindustry/default.nix82
-rw-r--r--pkgs/games/prismlauncher/default.nix4
-rw-r--r--pkgs/games/starsector/default.nix32
-rw-r--r--pkgs/games/terraria-server/default.nix4
-rw-r--r--pkgs/games/unciv/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/kyocera/default.nix4
-rw-r--r--pkgs/misc/screensavers/slock/default.nix15
-rw-r--r--pkgs/misc/wiki-tui/default.nix6
-rw-r--r--pkgs/os-specific/linux/batman-adv/version.nix8
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-updater/default.nix6
-rw-r--r--pkgs/os-specific/linux/firmware/sof-firmware/default.nix15
-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-6.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/perf/5.19-binutils-2.39-support.patch352
-rw-r--r--pkgs/os-specific/linux/kernel/perf/default.nix43
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix8
-rw-r--r--pkgs/os-specific/linux/nsncd/default.nix8
-rw-r--r--pkgs/os-specific/linux/procps-ng/default.nix2
-rw-r--r--pkgs/os-specific/linux/vmm_clock/default.nix2
-rw-r--r--pkgs/servers/adguardhome/bins.nix20
-rw-r--r--pkgs/servers/adguardhome/default.nix4
-rw-r--r--pkgs/servers/alps/default.nix20
-rw-r--r--pkgs/servers/asterisk/default.nix33
-rw-r--r--pkgs/servers/asterisk/versions.json16
-rw-r--r--pkgs/servers/calibre-web/default.nix2
-rw-r--r--pkgs/servers/consul/default.nix6
-rw-r--r--pkgs/servers/corosync/default.nix4
-rw-r--r--pkgs/servers/hbase/default.nix19
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix2
-rw-r--r--pkgs/servers/home-assistant/default.nix24
-rw-r--r--pkgs/servers/http/gatling/default.nix1
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/kubemq-community/default.nix4
-rw-r--r--pkgs/servers/mail/sympa/default.nix4
-rw-r--r--pkgs/servers/mastodon/default.nix4
-rw-r--r--pkgs/servers/mastodon/gemset.nix407
-rw-r--r--pkgs/servers/mastodon/source.nix4
-rw-r--r--pkgs/servers/mastodon/version.nix2
-rw-r--r--pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix3
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix8
-rw-r--r--pkgs/servers/monitoring/icinga2/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/artifactory-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/kea-exporter.nix5
-rw-r--r--pkgs/servers/monitoring/prometheus/nats-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix1
-rw-r--r--pkgs/servers/mycorrhiza/default.nix4
-rw-r--r--pkgs/servers/nats-server/default.nix4
-rw-r--r--pkgs/servers/nosql/surrealdb/default.nix53
-rw-r--r--pkgs/servers/peertube/default.nix4
-rw-r--r--pkgs/servers/photoprism/default.nix4
-rw-r--r--pkgs/servers/photoprism/libtensorflow.nix30
-rw-r--r--pkgs/servers/prowlarr/default.nix8
-rw-r--r--pkgs/servers/samba/4.x.nix27
-rw-r--r--pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch95
-rw-r--r--pkgs/servers/search/meilisearch/default.nix6
-rw-r--r--pkgs/servers/sftpgo/default.nix52
-rw-r--r--pkgs/servers/snappymail/default.nix4
-rw-r--r--pkgs/servers/soft-serve/default.nix6
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_relusage.nix29
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_repack.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/plpgsql_check.nix4
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
-rw-r--r--pkgs/servers/tautulli/default.nix6
-rw-r--r--pkgs/servers/traefik/default.nix6
-rw-r--r--pkgs/servers/web-apps/discourse/default.nix6
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock2
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock2
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock29
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix53
-rw-r--r--pkgs/servers/web-apps/outline/default.nix4
-rw-r--r--pkgs/shells/fish/plugins/colored-man-pages.nix20
-rw-r--r--pkgs/shells/fish/plugins/default.nix5
-rw-r--r--pkgs/shells/fish/plugins/sponge.nix20
-rw-r--r--pkgs/shells/fish/plugins/tide.nix28
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix8
-rw-r--r--pkgs/tools/admin/aws-sso-cli/default.nix4
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/fits-cloudctl/default.nix6
-rw-r--r--pkgs/tools/admin/lxd/default.nix4
-rw-r--r--pkgs/tools/admin/pulumi/default.nix6
-rw-r--r--pkgs/tools/audio/isrcsubmit/default.nix2
-rw-r--r--pkgs/tools/audio/tts/default.nix24
-rw-r--r--pkgs/tools/backup/mastodon-archive/default.nix4
-rw-r--r--pkgs/tools/compression/zfp/default.nix30
-rw-r--r--pkgs/tools/filesystems/fatsort/default.nix26
-rw-r--r--pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch34
-rw-r--r--pkgs/tools/games/jpsxdec/default.nix4
-rw-r--r--pkgs/tools/graphics/feedgnuplot/default.nix27
-rw-r--r--pkgs/tools/graphics/timg/default.nix14
-rw-r--r--pkgs/tools/inputmethods/lisgd/default.nix4
-rw-r--r--pkgs/tools/misc/android-tools/android-tools-kernel-headers-6.0.diff82
-rw-r--r--pkgs/tools/misc/android-tools/default.nix31
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix4
-rw-r--r--pkgs/tools/misc/edk2-uefi-shell/default.nix4
-rw-r--r--pkgs/tools/misc/fzf/default.nix4
-rw-r--r--pkgs/tools/misc/gh-dash/default.nix6
-rw-r--r--pkgs/tools/misc/gitlint/default.nix4
-rw-r--r--pkgs/tools/misc/krapslog/default.nix6
-rw-r--r--pkgs/tools/misc/mmctl/default.nix4
-rw-r--r--pkgs/tools/misc/moar/default.nix28
-rw-r--r--pkgs/tools/misc/ncdu/default.nix4
-rw-r--r--pkgs/tools/misc/nncp/default.nix4
-rw-r--r--pkgs/tools/misc/onefetch/default.nix11
-rw-r--r--pkgs/tools/misc/renameutils/default.nix17
-rw-r--r--pkgs/tools/misc/tmux/default.nix5
-rw-r--r--pkgs/tools/misc/tremor-rs/ls.nix29
-rw-r--r--pkgs/tools/networking/bore-cli/default.nix6
-rw-r--r--pkgs/tools/networking/checkip/default.nix4
-rw-r--r--pkgs/tools/networking/inadyn/default.nix4
-rw-r--r--pkgs/tools/networking/ipcalc/default.nix5
-rw-r--r--pkgs/tools/networking/ipcalc/sandbox_tests.patch59
-rw-r--r--pkgs/tools/networking/mosh/default.nix1
-rw-r--r--pkgs/tools/networking/mosh/utempter_path.patch14
-rw-r--r--pkgs/tools/networking/netbird/default.nix6
-rw-r--r--pkgs/tools/networking/pritunl-client/default.nix4
-rw-r--r--pkgs/tools/networking/redli/default.nix4
-rw-r--r--pkgs/tools/networking/subfinder/default.nix6
-rw-r--r--pkgs/tools/networking/xdp-tools/default.nix14
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix4
-rw-r--r--pkgs/tools/security/cariddi/default.nix4
-rw-r--r--pkgs/tools/security/ccid/default.nix4
-rw-r--r--pkgs/tools/security/commix/default.nix4
-rw-r--r--pkgs/tools/security/doppler/default.nix6
-rw-r--r--pkgs/tools/security/exploitdb/default.nix12
-rw-r--r--pkgs/tools/security/ghidra/build.nix4
-rw-r--r--pkgs/tools/security/ghidra/default.nix6
-rw-r--r--pkgs/tools/security/jwx/default.nix6
-rw-r--r--pkgs/tools/security/krunner-pass/default.nix8
-rw-r--r--pkgs/tools/security/kubeaudit/default.nix4
-rw-r--r--pkgs/tools/security/melt/default.nix6
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock34
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix54
-rw-r--r--pkgs/tools/security/pass2csv/default.nix4
-rw-r--r--pkgs/tools/security/sn0int/default.nix6
-rw-r--r--pkgs/tools/security/ssh-to-age/default.nix6
-rw-r--r--pkgs/tools/security/terrascan/default.nix6
-rw-r--r--pkgs/tools/system/automatic-timezoned/default.nix26
-rw-r--r--pkgs/tools/system/efivar/default.nix2
-rw-r--r--pkgs/tools/system/hw-probe/default.nix4
-rw-r--r--pkgs/tools/system/ipmitool/default.nix58
-rw-r--r--pkgs/tools/system/nvtop/default.nix15
-rw-r--r--pkgs/tools/text/chroma/default.nix4
-rw-r--r--pkgs/tools/text/chroma/src.json8
-rw-r--r--pkgs/tools/text/crowdin-cli/default.nix4
-rw-r--r--pkgs/tools/text/ruplacer/default.nix6
-rw-r--r--pkgs/tools/typesetting/sile/default.nix4
-rw-r--r--pkgs/tools/typesetting/soupault/default.nix4
-rw-r--r--pkgs/tools/virtualization/cloud-init/default.nix4
-rw-r--r--pkgs/tools/virtualization/rootlesskit/default.nix6
-rw-r--r--pkgs/top-level/aliases.nix7
-rw-r--r--pkgs/top-level/all-packages.nix115
-rw-r--r--pkgs/top-level/java-packages.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix21
-rw-r--r--pkgs/top-level/perl-packages.nix6
-rw-r--r--pkgs/top-level/python-aliases.nix4
-rw-r--r--pkgs/top-level/python-packages.nix28
-rw-r--r--pkgs/top-level/release-haskell.nix2
-rw-r--r--pkgs/top-level/splice.nix17
689 files changed, 26420 insertions, 17165 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4c4bea0ae2528..d8540782b91b0 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -51,7 +51,7 @@ See the nixpkgs manual for more details on [standard meta-attributes](https://ni
 
 In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list/Discourse archives, pull request discussions or upstream changes, it may require a lot of work.
 
-For package version upgrades and such a one-line commit message is usually sufficient.
+Package version upgrades usually allow for simpler commit messages, including attribute name, old and new version, as well as a reference to the relevant release notes/changelog. Every once in a while a package upgrade requires more extensive changes, and that subsequently warrants a more verbose message.
 
 ## Rebasing between branches (i.e. from master to staging)
 
diff --git a/doc/stdenv/cross-compilation.chapter.md b/doc/stdenv/cross-compilation.chapter.md
index 0eff70de5ca1d..5f7ff513959ab 100644
--- a/doc/stdenv/cross-compilation.chapter.md
+++ b/doc/stdenv/cross-compilation.chapter.md
@@ -250,5 +250,5 @@ Thirdly, it is because everything target-mentioning only exists to accommodate c
 :::
 
 ::: {.note}
-If one explores Nixpkgs, they will see derivations with names like `gccCross`. Such `*Cross` derivations is a holdover from before we properly distinguished between the host and target platforms—the derivation with “Cross” in the name covered the `build = host != target` case, while the other covered the `host = target`, with build platform the same or not based on whether one was using its `.nativeDrv` or `.crossDrv`. This ugliness will disappear soon.
+If one explores Nixpkgs, they will see derivations with names like `gccCross`. Such `*Cross` derivations is a holdover from before we properly distinguished between the host and target platforms—the derivation with “Cross” in the name covered the `build = host != target` case, while the other covered the `host = target`, with build platform the same or not based on whether one was using its `.__spliced.buildHost` or `.__spliced.hostTarget`.
 :::
diff --git a/lib/customisation.nix b/lib/customisation.nix
index cc9a9b1c55d0a..bd7ee3c83b8cf 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -38,12 +38,15 @@ rec {
       //
       (drv.passthru or {})
       //
-      (if (drv ? crossDrv && drv ? nativeDrv)
-       then {
-         crossDrv = overrideDerivation drv.crossDrv f;
-         nativeDrv = overrideDerivation drv.nativeDrv f;
-       }
-       else { }));
+      # TODO(@Artturin): remove before release 23.05 and only have __spliced.
+      (lib.optionalAttrs (drv ? crossDrv && drv ? nativeDrv) {
+        crossDrv = overrideDerivation drv.crossDrv f;
+        nativeDrv = overrideDerivation drv.nativeDrv f;
+      })
+      //
+      lib.optionalAttrs (drv ? __spliced) {
+        __spliced = {} // (lib.mapAttrs (_: sDrv: overrideDerivation sDrv f) drv.__spliced);
+      });
 
 
   /* `makeOverridable` takes a function from attribute set to attribute set and
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 09f8be7d725b6..612cfba6c7305 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -154,6 +154,11 @@ in mkLicense lset) ({
     fullName = "BSD-2-Clause Plus Patent License";
   };
 
+  bsd2WithViews = {
+    spdxId = "BSD-2-Clause-Views";
+    fullName = "BSD 2-Clause with views sentence";
+  };
+
   bsd3 = {
     spdxId = "BSD-3-Clause";
     fullName = ''BSD 3-clause "New" or "Revised" License'';
diff --git a/lib/sources.nix b/lib/sources.nix
index cec395c9bb180..3ad7dc6335549 100644
--- a/lib/sources.nix
+++ b/lib/sources.nix
@@ -166,17 +166,27 @@ let
       in type == "directory" || lib.any (ext: lib.hasSuffix ext base) exts;
     in cleanSourceWith { inherit filter src; };
 
-  pathIsGitRepo = path: (tryEval (commitIdFromGitRepo path)).success;
+  pathIsGitRepo = path: (_commitIdFromGitRepoOrError path)?value;
 
   /*
     Get the commit id of a git repo.
 
     Example: commitIdFromGitRepo <nixpkgs/.git>
   */
-  commitIdFromGitRepo =
+  commitIdFromGitRepo = path:
+    let commitIdOrError = _commitIdFromGitRepoOrError path;
+    in commitIdOrError.value or (throw commitIdOrError.error);
+
+  # Get the commit id of a git repo.
+
+  # Returns `{ value = commitHash }` or `{ error = "... message ..." }`.
+
+  # Example: commitIdFromGitRepo <nixpkgs/.git>
+  # not exported, used for commitIdFromGitRepo
+  _commitIdFromGitRepoOrError =
     let readCommitFromFile = file: path:
-        let fileName       = toString path + "/" + file;
-            packedRefsName = toString path + "/packed-refs";
+        let fileName       = path + "/${file}";
+            packedRefsName = path + "/packed-refs";
             absolutePath   = base: path:
               if lib.hasPrefix "/" path
               then path
@@ -186,7 +196,7 @@ let
            then
              let m   = match "^gitdir: (.*)$" (lib.fileContents path);
              in if m == null
-                then throw ("File contains no gitdir reference: " + path)
+                then { error = "File contains no gitdir reference: " + path; }
                 else
                   let gitDir      = absolutePath (dirOf path) (lib.head m);
                       commonDir'' = if pathIsRegularFile "${gitDir}/commondir"
@@ -204,7 +214,7 @@ let
              let fileContent = lib.fileContents fileName;
                  matchRef    = match "^ref: (.*)$" fileContent;
              in if  matchRef == null
-                then fileContent
+                then { value = fileContent; }
                 else readCommitFromFile (lib.head matchRef) path
 
            else if pathIsRegularFile packedRefsName
@@ -218,10 +228,10 @@ let
                  # https://github.com/NixOS/nix/issues/2147#issuecomment-659868795
                  refs = filter isRef (split "\n" fileContent);
              in if refs == []
-                then throw ("Could not find " + file + " in " + packedRefsName)
-                else lib.head (matchRef (lib.head refs))
+                then { error = "Could not find " + file + " in " + packedRefsName; }
+                else { value = lib.head (matchRef (lib.head refs)); }
 
-           else throw ("Not a .git directory: " + path);
+           else { error = "Not a .git directory: " + toString path; };
     in readCommitFromFile "HEAD";
 
   pathHasContext = builtins.hasContext or (lib.hasPrefix storeDir);
diff --git a/lib/trivial.nix b/lib/trivial.nix
index 0e02660d6b35a..142ed32c9e5a6 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -213,8 +213,8 @@ rec {
     # Default value to return if revision can not be determined
     default:
     let
-      revisionFile = "${toString ./..}/.git-revision";
-      gitRepo      = "${toString ./..}/.git";
+      revisionFile = ./.. + "/.git-revision";
+      gitRepo      = ./.. + "/.git";
     in if lib.pathIsGitRepo gitRepo
        then lib.commitIdFromGitRepo gitRepo
        else if lib.pathExists revisionFile then lib.fileContents revisionFile
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index aad541ad0c969..33d6bcd382f3b 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -8686,6 +8686,15 @@
       fingerprint = "1DE4 424D BF77 1192 5DC4  CF5E 9AED 8814 81D8 444E";
     }];
   };
+   maxbrunet = {
+    email = "max@brnt.mx";
+    github = "maxbrunet";
+    githubId = 32458727;
+    name = "Maxime Brunet";
+    keys = [{
+      fingerprint = "E9A2 EE26 EAC6 B3ED 6C10  61F3 4379 62FF 87EC FE2B";
+    }];
+  };
   maxdamantus = {
     email = "maxdamantus@gmail.com";
     github = "Maxdamantus";
@@ -8716,6 +8725,12 @@
     githubId = 1472826;
     name = "Max Smolin";
   };
+  maxux = {
+    email = "root@maxux.net";
+    github = "maxux";
+    githubId = 4141584;
+    name = "Maxime Daniel";
+  };
   maxxk = {
     email = "maxim.krivchikov@gmail.com";
     github = "maxxk";
@@ -11315,6 +11330,13 @@
     githubId = 35086;
     name = "Jonathan Wright";
   };
+  quantenzitrone = {
+    email = "quantenzitrone@protonmail.com";
+    github = "Quantenzitrone";
+    githubId = 74491719;
+    matrix = "@quantenzitrone:matrix.org";
+    name = "quantenzitrone";
+  };
   queezle = {
     email = "git@queezle.net";
     github = "queezle42";
@@ -13665,6 +13687,12 @@
     githubId = 3105057;
     name = "Jan Beinke";
   };
+  thenonameguy = {
+    email = "thenonameguy24@gmail.com";
+    name = "Krisztian Szabo";
+    github = "thenonameguy";
+    githubId = 2217181;
+  };
   therealansh = {
     email = "tyagiansh23@gmail.com";
     github = "therealansh";
diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py
index 46788edd236e9..3341fea29106b 100644
--- a/maintainers/scripts/pluginupdate.py
+++ b/maintainers/scripts/pluginupdate.py
@@ -142,10 +142,10 @@ class Repo:
 
     def as_nix(self, plugin: "Plugin") -> str:
         return f'''fetchgit {{
-            url = "{self.uri}";
-            rev = "{plugin.commit}";
-            sha256 = "{plugin.sha256}";
-        }}'''
+      url = "{self.uri}";
+      rev = "{plugin.commit}";
+      sha256 = "{plugin.sha256}";
+    }}'''
 
 
 class RepoGitHub(Repo):
diff --git a/nixos/doc/manual/configuration/config-syntax.chapter.md b/nixos/doc/manual/configuration/config-syntax.chapter.md
index 56d093c0f6e84..9f8d45d588997 100644
--- a/nixos/doc/manual/configuration/config-syntax.chapter.md
+++ b/nixos/doc/manual/configuration/config-syntax.chapter.md
@@ -15,5 +15,4 @@ NixOS configuration files.
 <xi:include href="config-file.section.xml" />
 <xi:include href="abstractions.section.xml" />
 <xi:include href="modularity.section.xml" />
-<xi:include href="summary.section.xml" />
 ```
diff --git a/nixos/doc/manual/configuration/summary.section.md b/nixos/doc/manual/configuration/summary.section.md
deleted file mode 100644
index 8abbbe257fd90..0000000000000
--- a/nixos/doc/manual/configuration/summary.section.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Syntax Summary {#sec-nix-syntax-summary}
-
-Below is a summary of the most important syntactic constructs in the Nix
-expression language. It's not complete. In particular, there are many
-other built-in functions. See the [Nix
-manual](https://nixos.org/nix/manual/#chap-writing-nix-expressions) for
-the rest.
-
-| Example                                       | Description                                                                                                        |
-|-----------------------------------------------|--------------------------------------------------------------------------------------------------------------------|
-| *Basic values*                                |                                                                                                                    |
-| `"Hello world"`                               | A string                                                                                                           |
-| `"${pkgs.bash}/bin/sh"`                       | A string containing an expression (expands to `"/nix/store/hash-bash-version/bin/sh"`)                             |
-| `true`, `false`                               | Booleans                                                                                                           |
-| `123`                                         | An integer                                                                                                         |
-| `./foo.png`                                   | A path (relative to the containing Nix expression)                                                                 |
-| *Compound values*                             |                                                                                                                    |
-| `{ x = 1; y = 2; }`                           | A set with attributes named `x` and `y`                                                                            |
-| `{ foo.bar = 1; }`                            | A nested set, equivalent to `{ foo = { bar = 1; }; }`                                                              |
-| `rec { x = "foo"; y = x + "bar"; }`           | A recursive set, equivalent to `{ x = "foo"; y = "foobar"; }`                                                      |
-| `[ "foo" "bar" ]`                             | A list with two elements                                                                                           |
-| *Operators*                                   |                                                                                                                    |
-| `"foo" + "bar"`                               | String concatenation                                                                                               |
-| `1 + 2`                                       | Integer addition                                                                                                   |
-| `"foo" == "f" + "oo"`                         | Equality test (evaluates to `true`)                                                                                |
-| `"foo" != "bar"`                              | Inequality test (evaluates to `true`)                                                                              |
-| `!true`                                       | Boolean negation                                                                                                   |
-| `{ x = 1; y = 2; }.x`                         | Attribute selection (evaluates to `1`)                                                                             |
-| `{ x = 1; y = 2; }.z or 3`                    | Attribute selection with default (evaluates to `3`)                                                                |
-| `{ x = 1; y = 2; } // { z = 3; }`             | Merge two sets (attributes in the right-hand set taking precedence)                                                |
-| *Control structures*                          |                                                                                                                    |
-| `if 1 + 1 == 2 then "yes!" else "no!"`        | Conditional expression                                                                                             |
-| `assert 1 + 1 == 2; "yes!"`                   | Assertion check (evaluates to `"yes!"`). See [](#sec-assertions) for using assertions in modules                   |
-| `let x = "foo"; y = "bar"; in x + y`          | Variable definition                                                                                                |
-| `with pkgs.lib; head [ 1 2 3 ]`               | Add all attributes from the given set to the scope (evaluates to `1`)                                              |
-| *Functions (lambdas)*                         |                                                                                                                    |
-| `x: x + 1`                                    | A function that expects an integer and returns it increased by 1                                                   |
-| `(x: x + 1) 100`                              | A function call (evaluates to 101)                                                                                 |
-| `let inc = x: x + 1; in inc (inc (inc 100))`  | A function bound to a variable and subsequently called by name (evaluates to 103)                                  |
-| `{ x, y }: x + y`                             | A function that expects a set with required attributes `x` and `y` and concatenates them                           |
-| `{ x, y ? "bar" }: x + y`                     | A function that expects a set with required attribute `x` and optional `y`, using `"bar"` as default value for `y` |
-| `{ x, y, ... }: x + y`                        | A function that expects a set with required attributes `x` and `y` and ignores any other attributes                |
-| `{ x, y } @ args: x + y`                      | A function that expects a set with required attributes `x` and `y`, and binds the whole set to `args`              |
-| *Built-in functions*                          |                                                                                                                    |
-| `import ./foo.nix`                            | Load and return Nix expression in given file                                                                       |
-| `map (x: x + x) [ 1 2 3 ]`                    | Apply a function to every element of a list (evaluates to `[ 2 4 6 ]`)                                             |
diff --git a/nixos/doc/manual/configuration/user-mgmt.chapter.md b/nixos/doc/manual/configuration/user-mgmt.chapter.md
index 37990664a8f1b..5c3aca3ef9e95 100644
--- a/nixos/doc/manual/configuration/user-mgmt.chapter.md
+++ b/nixos/doc/manual/configuration/user-mgmt.chapter.md
@@ -32,8 +32,7 @@ account will cease to exist. Also, imperative commands for managing users and
 groups, such as useradd, are no longer available. Passwords may still be
 assigned by setting the user\'s
 [hashedPassword](#opt-users.users._name_.hashedPassword) option. A
-hashed password can be generated using `mkpasswd -m
-  sha-512`.
+hashed password can be generated using `mkpasswd`.
 
 A user ID (uid) is assigned automatically. You can also specify a uid
 manually by adding
diff --git a/nixos/doc/manual/from_md/configuration/config-syntax.chapter.xml b/nixos/doc/manual/from_md/configuration/config-syntax.chapter.xml
index 01446e53e38ff..baf9639554cc2 100644
--- a/nixos/doc/manual/from_md/configuration/config-syntax.chapter.xml
+++ b/nixos/doc/manual/from_md/configuration/config-syntax.chapter.xml
@@ -17,5 +17,4 @@
   <xi:include href="config-file.section.xml" />
   <xi:include href="abstractions.section.xml" />
   <xi:include href="modularity.section.xml" />
-  <xi:include href="summary.section.xml" />
 </chapter>
diff --git a/nixos/doc/manual/from_md/configuration/summary.section.xml b/nixos/doc/manual/from_md/configuration/summary.section.xml
deleted file mode 100644
index 96a178c4930ed..0000000000000
--- a/nixos/doc/manual/from_md/configuration/summary.section.xml
+++ /dev/null
@@ -1,332 +0,0 @@
-<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-nix-syntax-summary">
-  <title>Syntax Summary</title>
-  <para>
-    Below is a summary of the most important syntactic constructs in the
-    Nix expression language. It’s not complete. In particular, there are
-    many other built-in functions. See the
-    <link xlink:href="https://nixos.org/nix/manual/#chap-writing-nix-expressions">Nix
-    manual</link> for the rest.
-  </para>
-  <informaltable>
-    <tgroup cols="2">
-      <colspec align="left" />
-      <colspec align="left" />
-      <thead>
-        <row>
-          <entry>
-            Example
-          </entry>
-          <entry>
-            Description
-          </entry>
-        </row>
-      </thead>
-      <tbody>
-        <row>
-          <entry>
-            <emphasis>Basic values</emphasis>
-          </entry>
-          <entry>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>&quot;Hello world&quot;</literal>
-          </entry>
-          <entry>
-            A string
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>&quot;${pkgs.bash}/bin/sh&quot;</literal>
-          </entry>
-          <entry>
-            A string containing an expression (expands to
-            <literal>&quot;/nix/store/hash-bash-version/bin/sh&quot;</literal>)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>true</literal>, <literal>false</literal>
-          </entry>
-          <entry>
-            Booleans
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>123</literal>
-          </entry>
-          <entry>
-            An integer
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>./foo.png</literal>
-          </entry>
-          <entry>
-            A path (relative to the containing Nix expression)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <emphasis>Compound values</emphasis>
-          </entry>
-          <entry>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>{ x = 1; y = 2; }</literal>
-          </entry>
-          <entry>
-            A set with attributes named <literal>x</literal> and
-            <literal>y</literal>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>{ foo.bar = 1; }</literal>
-          </entry>
-          <entry>
-            A nested set, equivalent to
-            <literal>{ foo = { bar = 1; }; }</literal>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>rec { x = &quot;foo&quot;; y = x + &quot;bar&quot;; }</literal>
-          </entry>
-          <entry>
-            A recursive set, equivalent to
-            <literal>{ x = &quot;foo&quot;; y = &quot;foobar&quot;; }</literal>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>[ &quot;foo&quot; &quot;bar&quot; ]</literal>
-          </entry>
-          <entry>
-            A list with two elements
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <emphasis>Operators</emphasis>
-          </entry>
-          <entry>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>&quot;foo&quot; + &quot;bar&quot;</literal>
-          </entry>
-          <entry>
-            String concatenation
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>1 + 2</literal>
-          </entry>
-          <entry>
-            Integer addition
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>&quot;foo&quot; == &quot;f&quot; + &quot;oo&quot;</literal>
-          </entry>
-          <entry>
-            Equality test (evaluates to <literal>true</literal>)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>&quot;foo&quot; != &quot;bar&quot;</literal>
-          </entry>
-          <entry>
-            Inequality test (evaluates to <literal>true</literal>)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>!true</literal>
-          </entry>
-          <entry>
-            Boolean negation
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>{ x = 1; y = 2; }.x</literal>
-          </entry>
-          <entry>
-            Attribute selection (evaluates to <literal>1</literal>)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>{ x = 1; y = 2; }.z or 3</literal>
-          </entry>
-          <entry>
-            Attribute selection with default (evaluates to
-            <literal>3</literal>)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>{ x = 1; y = 2; } // { z = 3; }</literal>
-          </entry>
-          <entry>
-            Merge two sets (attributes in the right-hand set taking
-            precedence)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <emphasis>Control structures</emphasis>
-          </entry>
-          <entry>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>if 1 + 1 == 2 then &quot;yes!&quot; else &quot;no!&quot;</literal>
-          </entry>
-          <entry>
-            Conditional expression
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>assert 1 + 1 == 2; &quot;yes!&quot;</literal>
-          </entry>
-          <entry>
-            Assertion check (evaluates to
-            <literal>&quot;yes!&quot;</literal>). See
-            <xref linkend="sec-assertions" /> for using assertions in
-            modules
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>let x = &quot;foo&quot;; y = &quot;bar&quot;; in x + y</literal>
-          </entry>
-          <entry>
-            Variable definition
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>with pkgs.lib; head [ 1 2 3 ]</literal>
-          </entry>
-          <entry>
-            Add all attributes from the given set to the scope
-            (evaluates to <literal>1</literal>)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <emphasis>Functions (lambdas)</emphasis>
-          </entry>
-          <entry>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>x: x + 1</literal>
-          </entry>
-          <entry>
-            A function that expects an integer and returns it increased
-            by 1
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>(x: x + 1) 100</literal>
-          </entry>
-          <entry>
-            A function call (evaluates to 101)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>let inc = x: x + 1; in inc (inc (inc 100))</literal>
-          </entry>
-          <entry>
-            A function bound to a variable and subsequently called by
-            name (evaluates to 103)
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>{ x, y }: x + y</literal>
-          </entry>
-          <entry>
-            A function that expects a set with required attributes
-            <literal>x</literal> and <literal>y</literal> and
-            concatenates them
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>{ x, y ? &quot;bar&quot; }: x + y</literal>
-          </entry>
-          <entry>
-            A function that expects a set with required attribute
-            <literal>x</literal> and optional <literal>y</literal>,
-            using <literal>&quot;bar&quot;</literal> as default value
-            for <literal>y</literal>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>{ x, y, ... }: x + y</literal>
-          </entry>
-          <entry>
-            A function that expects a set with required attributes
-            <literal>x</literal> and <literal>y</literal> and ignores
-            any other attributes
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>{ x, y } @ args: x + y</literal>
-          </entry>
-          <entry>
-            A function that expects a set with required attributes
-            <literal>x</literal> and <literal>y</literal>, and binds the
-            whole set to <literal>args</literal>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <emphasis>Built-in functions</emphasis>
-          </entry>
-          <entry>
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>import ./foo.nix</literal>
-          </entry>
-          <entry>
-            Load and return Nix expression in given file
-          </entry>
-        </row>
-        <row>
-          <entry>
-            <literal>map (x: x + x) [ 1 2 3 ]</literal>
-          </entry>
-          <entry>
-            Apply a function to every element of a list (evaluates to
-            <literal>[ 2 4 6 ]</literal>)
-          </entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </informaltable>
-</section>
diff --git a/nixos/doc/manual/from_md/configuration/user-mgmt.chapter.xml b/nixos/doc/manual/from_md/configuration/user-mgmt.chapter.xml
index 06492d5c25126..a2d7d2a9f1154 100644
--- a/nixos/doc/manual/from_md/configuration/user-mgmt.chapter.xml
+++ b/nixos/doc/manual/from_md/configuration/user-mgmt.chapter.xml
@@ -39,7 +39,7 @@ users.users.alice = {
     Passwords may still be assigned by setting the user's
     <link linkend="opt-users.users._name_.hashedPassword">hashedPassword</link>
     option. A hashed password can be generated using
-    <literal>mkpasswd -m sha-512</literal>.
+    <literal>mkpasswd</literal>.
   </para>
   <para>
     A user ID (uid) is assigned automatically. You can also specify a
diff --git a/nixos/doc/manual/from_md/installation/installing.chapter.xml b/nixos/doc/manual/from_md/installation/installing.chapter.xml
index 02a0f14b984ac..f2ed58c0c1fe5 100644
--- a/nixos/doc/manual/from_md/installation/installing.chapter.xml
+++ b/nixos/doc/manual/from_md/installation/installing.chapter.xml
@@ -455,8 +455,8 @@ OK
           <listitem>
             <para>
               Finally, add a <emphasis>swap</emphasis> partition. The
-              size required will vary according to needs, here a 8GiB
-              one is created.
+              size required will vary according to needs, here a 8GB one
+              is created.
             </para>
             <programlisting>
 # parted /dev/sda -- mkpart primary linux-swap -8GB 100%
@@ -814,8 +814,8 @@ $ passwd eelco
       </para>
       <programlisting>
 # parted /dev/sda -- mklabel msdos
-# parted /dev/sda -- mkpart primary 1MiB -8GiB
-# parted /dev/sda -- mkpart primary linux-swap -8GiB 100%
+# parted /dev/sda -- mkpart primary 1MB -8GB
+# parted /dev/sda -- mkpart primary linux-swap -8GB 100%
 </programlisting>
       <anchor xml:id="ex-partition-scheme-UEFI" />
       <para>
@@ -824,9 +824,9 @@ $ passwd eelco
       </para>
       <programlisting>
 # parted /dev/sda -- mklabel gpt
-# parted /dev/sda -- mkpart primary 512MiB -8GiB
-# parted /dev/sda -- mkpart primary linux-swap -8GiB 100%
-# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
+# parted /dev/sda -- mkpart primary 512MB -8GB
+# parted /dev/sda -- mkpart primary linux-swap -8GB 100%
+# parted /dev/sda -- mkpart ESP fat32 1MB 512MB
 # parted /dev/sda -- set 3 esp on
 </programlisting>
       <anchor xml:id="ex-install-sequence" />
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index a584292bffecc..a1e01bd92921e 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -141,6 +141,11 @@
       </listitem>
       <listitem>
         <para>
+          PHP 8.2.0 RC 6 is available.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>protonup</literal> has been aliased to and replaced
           by <literal>protonup-ng</literal> due to upstream not
           maintaining it.
@@ -207,6 +212,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://github.com/maxbrunet/automatic-timezoned">automatic-timezoned</link>.
+          a Linux daemon to automatically update the system timezone
+          based on location. Available as
+          <link linkend="opt-services.automatic-timezoned.enable">services.automatic-timezoned</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           [xray] (https://github.com/XTLS/Xray-core), a fully compatible
           v2ray-core replacement. Features XTLS, which when enabled on
           server and client, brings UDP FullCone NAT to proxy setups.
@@ -994,6 +1007,12 @@ signald -d /var/lib/signald/db \
       </listitem>
       <listitem>
         <para>
+          <literal>ocamlPackages.ocaml_extlib</literal> has been renamed
+          to <literal>ocamlPackages.extlib</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>pkgs.fetchNextcloudApp</literal> has been rewritten
           to circumvent impurities in e.g. tarballs from GitHub and to
           make it easier to apply patches. This means that your hashes
@@ -1037,6 +1056,17 @@ services.github-runner.serviceOverrides.SupplementaryGroups = [
     <itemizedlist>
       <listitem>
         <para>
+          <literal>firefox</literal>, <literal>thunderbird</literal> and
+          <literal>librewolf</literal> come with enabled Wayland support
+          by default. The <literal>firefox-wayland</literal>,
+          <literal>firefox-esr-wayland</literal>,
+          <literal>thunderbird-wayland</literal> and
+          <literal>librewolf-wayland</literal> attributes are obsolete
+          and have been aliased to their generic attribute.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>xplr</literal> package has been updated from
           0.18.0 to 0.19.0, which brings some breaking changes. See the
           <link xlink:href="https://github.com/sayanarijit/xplr/releases/tag/v0.19.0">upstream
@@ -1414,6 +1444,16 @@ services.github-runner.serviceOverrides.SupplementaryGroups = [
       </listitem>
       <listitem>
         <para>
+          The Mastodon package got upgraded from the major version 3 to
+          4. See the
+          <link xlink:href="https://github.com/mastodon/mastodon/releases/tag/v4.0.0">v4.0.0
+          release notes</link> for a list of changes. On standard
+          setups, no manual migration steps are required. Nevertheless,
+          a database backup is recommended.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>nomad</literal> package now defaults to 1.3,
           which no longer has a downgrade path to releases 1.2 or older.
         </para>
@@ -1458,6 +1498,14 @@ services.github-runner.serviceOverrides.SupplementaryGroups = [
           are under <literal>programs.firefox</literal>.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The option
+          <literal>services.picom.experimentalBackends</literal> was
+          removed since it is now the default and the option will cause
+          <literal>picom</literal> to quit instead.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
 </section>
diff --git a/nixos/doc/manual/installation/installing.chapter.md b/nixos/doc/manual/installation/installing.chapter.md
index 44e7e29421d65..2c86cb923a5c1 100644
--- a/nixos/doc/manual/installation/installing.chapter.md
+++ b/nixos/doc/manual/installation/installing.chapter.md
@@ -307,7 +307,7 @@ update /etc/fstab.
     ```
 
 4.  Finally, add a *swap* partition. The size required will vary
-    according to needs, here a 8GiB one is created.
+    according to needs, here a 8GB one is created.
 
     ```ShellSession
     # parted /dev/sda -- mkpart primary linux-swap -8GB 100%
@@ -543,8 +543,8 @@ corresponding configuration Nix expression.
 :::
 ```ShellSession
 # parted /dev/sda -- mklabel msdos
-# parted /dev/sda -- mkpart primary 1MiB -8GiB
-# parted /dev/sda -- mkpart primary linux-swap -8GiB 100%
+# parted /dev/sda -- mkpart primary 1MB -8GB
+# parted /dev/sda -- mkpart primary linux-swap -8GB 100%
 ```
 :::
 
@@ -554,9 +554,9 @@ corresponding configuration Nix expression.
 :::
 ```ShellSession
 # parted /dev/sda -- mklabel gpt
-# parted /dev/sda -- mkpart primary 512MiB -8GiB
-# parted /dev/sda -- mkpart primary linux-swap -8GiB 100%
-# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
+# parted /dev/sda -- mkpart primary 512MB -8GB
+# parted /dev/sda -- mkpart primary linux-swap -8GB 100%
+# parted /dev/sda -- mkpart ESP fat32 1MB 512MB
 # parted /dev/sda -- set 3 esp on
 ```
 :::
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index a3d6f0f5ca647..642009e9f44e4 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -57,6 +57,8 @@ In addition to numerous new and upgraded packages, this release has the followin
   `mod_php` usage we still enable `ZTS` (Zend Thread Safe). This has been a
   common practice for a long time in other distributions.
 
+- PHP 8.2.0 RC 6 is available.
+
 - `protonup` has been aliased to and replaced by `protonup-ng` due to upstream not maintaining it.
 
 - Perl has been updated to 5.36, and its core module `HTTP::Tiny` was patched to verify SSL/TLS certificates by default.
@@ -78,6 +80,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [appvm](https://github.com/jollheef/appvm), Nix based app VMs. Available as [virtualisation.appvm](options.html#opt-virtualisation.appvm.enable).
 
+- [automatic-timezoned](https://github.com/maxbrunet/automatic-timezoned). a Linux daemon to automatically update the system timezone based on location. Available as [services.automatic-timezoned](#opt-services.automatic-timezoned.enable).
+
 - [xray] (https://github.com/XTLS/Xray-core), a fully compatible v2ray-core replacement. Features XTLS, which when enabled on server and client, brings UDP FullCone NAT to proxy setups. Available as [services.xray](options.html#opt-services.xray.enable).
 
 - [syncstorage-rs](https://github.com/mozilla-services/syncstorage-rs), a self-hostable sync server for Firefox. Available as [services.firefox-syncserver](options.html#opt-services.firefox-syncserver.enable).
@@ -307,6 +311,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
 
 - `stylua` no longer accepts `lua52Support` and `luauSupport` overrides, use `features` instead, which defaults to `[ "lua54" "luau" ]`.
 
+- `ocamlPackages.ocaml_extlib` has been renamed to `ocamlPackages.extlib`.
+
 - `pkgs.fetchNextcloudApp` has been rewritten to circumvent impurities in e.g. tarballs from GitHub and to make it easier to
   apply patches. This means that your hashes are out-of-date and the (previously required) attributes `name` and `version`
   are no longer accepted.
@@ -328,6 +334,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
 
 ## Other Notable Changes {#sec-release-22.11-notable-changes}
 
+- `firefox`, `thunderbird` and `librewolf` come with enabled Wayland support by default. The `firefox-wayland`, `firefox-esr-wayland`, `thunderbird-wayland` and `librewolf-wayland` attributes are obsolete and have been aliased to their generic attribute.
+
 - The `xplr` package has been updated from 0.18.0 to 0.19.0, which brings some breaking changes. See the [upstream release notes](https://github.com/sayanarijit/xplr/releases/tag/v0.19.0) for more details.
 
 - Configuring multiple GitHub runners is now possible through `services.github-runners.<name>`. The option `services.github-runner` remains.
@@ -435,6 +443,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
 
 - There is a new module for the `xfconf` program (the Xfce configuration storage system), which has a dbus service.
 
+- The Mastodon package got upgraded from the major version 3 to 4. See the [v4.0.0 release notes](https://github.com/mastodon/mastodon/releases/tag/v4.0.0) for a list of changes. On standard setups, no manual migration steps are required. Nevertheless, a database backup is recommended.
+
 - The `nomad` package now defaults to 1.3, which no longer has a downgrade path to releases 1.2 or older.
 
 - The `nodePackages` package set now defaults to the LTS release in the `nodejs` package again, instead of being pinned to `nodejs-14_x`. Several updates to node2nix have been made for compatibility with newer Node.js and npm versions and a new `postRebuild` hook has been added for packages to perform extra build steps before the npm install step prunes dev dependencies.
@@ -445,4 +455,6 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
 
 - A NixOS module for Firefox has been added which allows preferences and [policies](https://github.com/mozilla/policy-templates/blob/master/README.md) to be set. This also allows extensions to be installed via the `ExtensionSettings` policy. The new options are under `programs.firefox`.
 
+- The option `services.picom.experimentalBackends` was removed since it is now the default and the option will cause `picom` to quit instead.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
diff --git a/nixos/lib/test-driver/test_driver/machine.py b/nixos/lib/test-driver/test_driver/machine.py
index e45c83086fb52..ffbc7c18e42b6 100644
--- a/nixos/lib/test-driver/test_driver/machine.py
+++ b/nixos/lib/test-driver/test_driver/machine.py
@@ -684,10 +684,10 @@ class Machine:
         with self.nested("waiting for {} to appear on tty {}".format(regexp, tty)):
             retry(tty_matches)
 
-    def send_chars(self, chars: str) -> None:
+    def send_chars(self, chars: str, delay: Optional[float] = 0.01) -> None:
         with self.nested("sending keys ‘{}‘".format(chars)):
             for char in chars:
-                self.send_key(char)
+                self.send_key(char, delay)
 
     def wait_for_file(self, filename: str) -> None:
         """Waits until the file exists in machine's file system."""
@@ -860,10 +860,11 @@ class Machine:
                 if matches is not None:
                     return
 
-    def send_key(self, key: str) -> None:
+    def send_key(self, key: str, delay: Optional[float] = 0.01) -> None:
         key = CHAR_TO_KEY.get(key, key)
         self.send_monitor_command("sendkey {}".format(key))
-        time.sleep(0.01)
+        if delay is not None:
+            time.sleep(delay)
 
     def send_console(self, chars: str) -> None:
         assert self.process
diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix
index a4e8028cfbe9e..e7fd02920e0dc 100644
--- a/nixos/modules/config/power-management.nix
+++ b/nixos/modules/config/power-management.nix
@@ -94,7 +94,7 @@ in
         after = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target" ];
         script =
           ''
-            /run/current-system/systemd/bin/systemctl try-restart post-resume.target
+            /run/current-system/systemd/bin/systemctl try-restart --no-block post-resume.target
             ${cfg.resumeCommands}
             ${cfg.powerUpCommands}
           '';
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index b538a0119c06d..2660b0e6c9388 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -35,7 +35,7 @@ let
   '';
 
   hashedPasswordDescription = ''
-    To generate a hashed password run `mkpasswd -m sha-512`.
+    To generate a hashed password run `mkpasswd`.
 
     If set to an empty string (`""`), this user will
     be able to log in without being asked for a password (but not via remote
@@ -592,6 +592,26 @@ in {
       '';
     };
 
+    # Warn about user accounts with deprecated password hashing schemes
+    system.activationScripts.hashes = {
+      deps = [ "users" ];
+      text = ''
+        users=()
+        while IFS=: read -r user hash tail; do
+          if [[ "$hash" = "$"* && ! "$hash" =~ ^\$(y|gy|7|2b|2y|2a|6)\$ ]]; then
+            users+=("$user")
+          fi
+        done </etc/shadow
+
+        if (( "''${#users[@]}" )); then
+          echo "
+        WARNING: The following user accounts rely on password hashes that will
+        be removed in NixOS 23.05. They should be renewed as soon as possible."
+          printf ' - %s\n' "''${users[@]}"
+        fi
+      '';
+    };
+
     # for backwards compatibility
     system.activationScripts.groups = stringAfter [ "users" ] "";
 
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix
index 288cbc94a321b..3f3571d253825 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix
@@ -14,8 +14,6 @@ in
     calamares-nixos
     calamares-nixos-autostart
     calamares-nixos-extensions
-    # Needed for calamares QML module packagechooserq
-    libsForQt5.full
     # Get list of locales
     glibcLocales
   ];
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index cbc3b612059d7..17ea04cb4ecb5 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -355,6 +355,7 @@ in
       pipewire = 323;
       rstudio-server = 324;
       localtimed = 325;
+      automatic-timezoned = 326;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -664,6 +665,7 @@ in
       pipewire = 323;
       rstudio-server = 324;
       localtimed = 325;
+      automatic-timezoned = 326;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index 00460a88d86cb..7f7417226d174 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -307,7 +307,7 @@ in
           ''
         else
           throw ''
-            Neither ${opt.hostPlatform} nor or the legacy option ${opt.system} has been set.
+            Neither ${opt.hostPlatform} nor the legacy option ${opt.system} has been set.
             You can set ${opt.hostPlatform} in hardware-configuration.nix by re-running
             a recent version of nixos-generate-config.
             The option ${opt.system} is still fully supported for NixOS 22.05 interoperability,
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index ca5bf624f725b..2a23a32eaba6e 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -382,6 +382,7 @@
   ./services/databases/pgmanage.nix
   ./services/databases/postgresql.nix
   ./services/databases/redis.nix
+  ./services/databases/surrealdb.nix
   ./services/databases/victoriametrics.nix
   ./services/desktops/accountsservice.nix
   ./services/desktops/bamf.nix
@@ -718,6 +719,7 @@
   ./services/monitoring/teamviewer.nix
   ./services/monitoring/telegraf.nix
   ./services/monitoring/thanos.nix
+  ./services/monitoring/tremor-rs.nix
   ./services/monitoring/tuptime.nix
   ./services/monitoring/unifi-poller.nix
   ./services/monitoring/ups.nix
@@ -1049,6 +1051,7 @@
   ./services/security/vault.nix
   ./services/security/vaultwarden/default.nix
   ./services/security/yubikey-agent.nix
+  ./services/system/automatic-timezoned.nix
   ./services/system/cachix-agent/default.nix
   ./services/system/cachix-watch-store.nix
   ./services/system/cloud-init.nix
diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix
index adbbf5d9ed4b4..1b69aac98863b 100644
--- a/nixos/modules/programs/steam.nix
+++ b/nixos/modules/programs/steam.nix
@@ -4,17 +4,31 @@ with lib;
 
 let
   cfg = config.programs.steam;
-
-  steam = pkgs.steam.override {
-    extraLibraries = pkgs: with config.hardware.opengl;
-      if pkgs.hostPlatform.is64bit
-      then [ package ] ++ extraPackages
-      else [ package32 ] ++ extraPackages32;
-  };
 in {
   options.programs.steam = {
     enable = mkEnableOption (lib.mdDoc "steam");
 
+    package = mkOption {
+      type        = types.package;
+      default     = pkgs.steam.override {
+        extraLibraries = pkgs: with config.hardware.opengl;
+          if pkgs.hostPlatform.is64bit
+          then [ package ] ++ extraPackages
+          else [ package32 ] ++ extraPackages32;
+      };
+      defaultText = literalExpression ''
+        pkgs.steam.override {
+          extraLibraries = pkgs: with config.hardware.opengl;
+            if pkgs.hostPlatform.is64bit
+            then [ package ] ++ extraPackages
+            else [ package32 ] ++ extraPackages32;
+        }
+      '';
+      description = lib.mdDoc ''
+        steam package to use.
+      '';
+    };
+
     remotePlay.openFirewall = mkOption {
       type = types.bool;
       default = false;
@@ -44,7 +58,10 @@ in {
 
     hardware.steam-hardware.enable = true;
 
-    environment.systemPackages = [ steam steam.run ];
+    environment.systemPackages = [
+      cfg.package
+      cfg.package.run
+    ];
 
     networking.firewall = lib.mkMerge [
       (mkIf cfg.remotePlay.openFirewall {
diff --git a/nixos/modules/programs/tmux.nix b/nixos/modules/programs/tmux.nix
index cf7ea4cfcf76a..4fb9175fb8d21 100644
--- a/nixos/modules/programs/tmux.nix
+++ b/nixos/modules/programs/tmux.nix
@@ -178,6 +178,16 @@ in {
         description = lib.mdDoc "List of plugins to install.";
         example = lib.literalExpression "[ pkgs.tmuxPlugins.nord ]";
       };
+
+      withUtempter = mkOption {
+        description = lib.mdDoc ''
+          Whether to enable libutempter for tmux.
+          This is required so that tmux can write to /var/run/utmp (which can be queried with `who` to display currently connected user sessions).
+          Note, this will add a guid wrapper for the group utmp!
+        '';
+        default = true;
+        type = types.bool;
+      };
     };
   };
 
@@ -193,6 +203,15 @@ in {
         TMUX_TMPDIR = lib.optional cfg.secureSocket ''''${XDG_RUNTIME_DIR:-"/run/user/$(id -u)"}'';
       };
     };
+    security.wrappers = mkIf cfg.withUtempter {
+      utempter = {
+        source = "${pkgs.libutempter}/lib/utempter/utempter";
+        owner = "root";
+        group = "utmp";
+        setuid = false;
+        setgid = true;
+      };
+    };
   };
 
   imports = [
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index cb55717b588ab..0b152e54cf95f 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -173,10 +173,10 @@ in
         # This file is read for all shells.
 
         # Only execute this file once per shell.
-        if [ -n "$__ETC_ZSHENV_SOURCED" ]; then return; fi
+        if [ -n "''${__ETC_ZSHENV_SOURCED-}" ]; then return; fi
         __ETC_ZSHENV_SOURCED=1
 
-        if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then
+        if [ -z "''${__NIXOS_SET_ENVIRONMENT_DONE-}" ]; then
             . ${config.system.build.setEnvironment}
         fi
 
@@ -206,7 +206,7 @@ in
         ${zshStartupNotes}
 
         # Only execute this file once per shell.
-        if [ -n "$__ETC_ZPROFILE_SOURCED" ]; then return; fi
+        if [ -n "''${__ETC_ZPROFILE_SOURCED-}" ]; then return; fi
         __ETC_ZPROFILE_SOURCED=1
 
         # Setup custom login shell init stuff.
diff --git a/nixos/modules/services/databases/surrealdb.nix b/nixos/modules/services/databases/surrealdb.nix
new file mode 100644
index 0000000000000..27269eb02f64e
--- /dev/null
+++ b/nixos/modules/services/databases/surrealdb.nix
@@ -0,0 +1,79 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+
+  cfg = config.services.surrealdb;
+in {
+
+  options = {
+    services.surrealdb = {
+      enable = mkEnableOption (lib.mdDoc "A scalable, distributed, collaborative, document-graph database, for the realtime web ");
+
+      dbPath = mkOption {
+        type = types.str;
+        description = lib.mdDoc ''
+          The path that surrealdb will write data to. Use null for in-memory.
+          Can be one of "memory", "file://:path", "tikv://:addr".
+        '';
+        default = "file:///var/lib/surrealdb/";
+        example = "memory";
+      };
+
+      host = mkOption {
+        type = types.str;
+        description = lib.mdDoc ''
+          The host that surrealdb will connect to.
+        '';
+        default = "127.0.0.1";
+        example = "127.0.0.1";
+      };
+
+      port = mkOption {
+        type = types.port;
+        description = lib.mdDoc ''
+          The port that surrealdb will connect to.
+        '';
+        default = 8000;
+        example = 8000;
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    # Used to connect to the running service
+    environment.systemPackages = [ pkgs.surrealdb ] ;
+
+    systemd.services.surrealdb = {
+      description = "A scalable, distributed, collaborative, document-graph database, for the realtime web ";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      serviceConfig = {
+        ExecStart = "${pkgs.surrealdb}/bin/surreal start --bind ${cfg.host}:${toString cfg.port} ${optionalString (cfg.dbPath != null) "-- ${cfg.dbPath}"}";
+        DynamicUser = true;
+        Restart = "on-failure";
+        StateDirectory = "surrealdb";
+        CapabilityBoundingSet = "";
+        NoNewPrivileges = true;
+        PrivateTmp = true;
+        ProtectHome = true;
+        ProtectClock = true;
+        ProtectProc = "noaccess";
+        ProcSubset = "pid";
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectControlGroups = true;
+        ProtectHostname = true;
+        RestrictSUIDSGID = true;
+        RestrictRealtime = true;
+        RestrictNamespaces = true;
+        LockPersonality = true;
+        RemoveIPC = true;
+        SystemCallFilter = [ "@system-service" "~@privileged" ];
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/desktops/gnome/at-spi2-core.nix b/nixos/modules/services/desktops/gnome/at-spi2-core.nix
index 495ea5af9879d..10a2f1f9eca0d 100644
--- a/nixos/modules/services/desktops/gnome/at-spi2-core.nix
+++ b/nixos/modules/services/desktops/gnome/at-spi2-core.nix
@@ -51,7 +51,10 @@ with lib;
     })
 
     (mkIf (!config.services.gnome.at-spi2-core.enable) {
-      environment.variables.NO_AT_BRIDGE = "1";
+      environment.variables = {
+        NO_AT_BRIDGE = "1";
+        GTK_A11Y = "none";
+      };
     })
   ];
 }
diff --git a/nixos/modules/services/monitoring/tremor-rs.nix b/nixos/modules/services/monitoring/tremor-rs.nix
new file mode 100644
index 0000000000000..213e8a474868c
--- /dev/null
+++ b/nixos/modules/services/monitoring/tremor-rs.nix
@@ -0,0 +1,129 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+
+  cfg = config.services.tremor-rs;
+
+  loggerSettingsFormat = pkgs.formats.yaml { };
+  loggerConfigFile = loggerSettingsFormat.generate "logger.yaml" cfg.loggerSettings;
+in {
+
+  options = {
+    services.tremor-rs = {
+      enable = lib.mkEnableOption (lib.mdDoc "Tremor event- or stream-processing system");
+
+      troyFileList = mkOption {
+        type = types.listOf types.path;
+        default = [];
+        description = lib.mdDoc "List of troy files to load.";
+      };
+
+      tremorLibDir = mkOption {
+        type = types.path;
+        default = "";
+        description = lib.mdDoc "Directory where to find /lib containing tremor script files";
+      };
+
+      host = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
+        description = lib.mdDoc "The host tremor should be listening on";
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 9898;
+        description = lib.mdDoc "the port tremor should be listening on";
+      };
+
+      loggerSettings = mkOption {
+        description = lib.mdDoc "Tremor logger configuration";
+        default = {};
+        type = loggerSettingsFormat.type;
+
+        example = {
+          refresh_rate = "30 seconds";
+          appenders.stdout.kind = "console";
+          root = {
+            level = "warn";
+            appenders = [ "stdout" ];
+          };
+          loggers = {
+            tremor_runtime = {
+              level = "debug";
+              appenders = [ "stdout" ];
+              additive = false;
+            };
+            tremor = {
+              level = "debug";
+              appenders = [ "stdout" ];
+              additive = false;
+            };
+          };
+        };
+
+        defaultText = literalExpression ''
+          {
+            refresh_rate = "30 seconds";
+            appenders.stdout.kind = "console";
+            root = {
+              level = "warn";
+              appenders = [ "stdout" ];
+            };
+            loggers = {
+              tremor_runtime = {
+                level = "debug";
+                appenders = [ "stdout" ];
+                additive = false;
+              };
+              tremor = {
+                level = "debug";
+                appenders = [ "stdout" ];
+                additive = false;
+              };
+            };
+          }
+        '';
+
+      };
+    };
+  };
+
+  config = mkIf (cfg.enable) {
+
+    environment.systemPackages = [ pkgs.tremor-rs ] ;
+
+    systemd.services.tremor-rs = {
+      description = "Tremor event- or stream-processing system";
+      wantedBy = [ "multi-user.target" ];
+      requires = [ "network-online.target" ];
+      after = [ "network-online.target" ];
+
+      environment.TREMOR_PATH = "${pkgs.tremor-rs}/lib:${cfg.tremorLibDir}";
+
+      serviceConfig = {
+        ExecStart = "${pkgs.tremor-rs}/bin/tremor --logger-config ${loggerConfigFile} server run ${concatStringsSep " " cfg.troyFileList} --api-host ${cfg.host}:${toString cfg.port}";
+        DynamicUser = true;
+        Restart = "always";
+        NoNewPrivileges = true;
+        PrivateTmp = true;
+        ProtectHome = true;
+        ProtectClock = true;
+        ProtectProc = "noaccess";
+        ProcSubset = "pid";
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectControlGroups = true;
+        ProtectHostname = true;
+        RestrictSUIDSGID = true;
+        RestrictRealtime = true;
+        RestrictNamespaces = true;
+        LockPersonality = true;
+        RemoveIPC = true;
+        SystemCallFilter = [ "@system-service" "~@privileged" ];
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index 0242a3780ffc5..27119dcc57c55 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -325,7 +325,7 @@ in
         example = literalExpression "pkgs.iptables-legacy";
         description =
           lib.mdDoc ''
-            The iptables package to use for running the firewall service."
+            The iptables package to use for running the firewall service.
           '';
       };
 
diff --git a/nixos/modules/services/networking/mullvad-vpn.nix b/nixos/modules/services/networking/mullvad-vpn.nix
index 7eb3761aad37b..82e68bf92af1f 100644
--- a/nixos/modules/services/networking/mullvad-vpn.nix
+++ b/nixos/modules/services/networking/mullvad-vpn.nix
@@ -14,6 +14,15 @@ with lib;
       '';
     };
 
+    enableExcludeWrapper = mkOption {
+      type = types.bool;
+      default = true;
+      description = lib.mdDoc ''
+        This option activates the wrapper that allows the use of mullvad-exclude.
+        Might have minor security impact, so consider disabling if you do not use the feature.
+      '';
+    };
+
     package = mkOption {
       type = types.package;
       default = pkgs.mullvad;
@@ -27,12 +36,22 @@ with lib;
   config = mkIf cfg.enable {
     boot.kernelModules = [ "tun" ];
 
+    environment.systemPackages = [ cfg.package ];
+
     # mullvad-daemon writes to /etc/iproute2/rt_tables
     networking.iproute2.enable = true;
 
     # See https://github.com/NixOS/nixpkgs/issues/113589
     networking.firewall.checkReversePath = "loose";
 
+    # See https://github.com/NixOS/nixpkgs/issues/176603
+    security.wrappers.mullvad-exclude = mkIf cfg.enableExcludeWrapper {
+      setuid = true;
+      owner = "root";
+      group = "root";
+      source = "${cfg.package}/bin/mullvad-exclude";
+    };
+
     systemd.services.mullvad-daemon = {
       description = "Mullvad VPN daemon";
       wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/system/automatic-timezoned.nix b/nixos/modules/services/system/automatic-timezoned.nix
new file mode 100644
index 0000000000000..9bdd64dd33a3c
--- /dev/null
+++ b/nixos/modules/services/system/automatic-timezoned.nix
@@ -0,0 +1,92 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.automatic-timezoned;
+in
+{
+  options = {
+    services.automatic-timezoned = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = mdDoc ''
+          Enable `automatic-timezoned`, simple daemon for keeping the system
+          timezone up-to-date based on the current location. It uses geoclue2 to
+          determine the current location and systemd-timedated to actually set
+          the timezone.
+        '';
+      };
+      package = mkOption {
+        type = types.package;
+        default = pkgs.automatic-timezoned;
+        defaultText = literalExpression "pkgs.automatic-timezoned";
+        description = mdDoc ''
+          Which `automatic-timezoned` package to use.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    security.polkit.extraConfig = ''
+      polkit.addRule(function(action, subject) {
+        if (action.id == "org.freedesktop.timedate1.set-timezone"
+            && subject.user == "automatic-timezoned") {
+          return polkit.Result.YES;
+        }
+      });
+    '';
+
+    services.geoclue2 = {
+      enable = true;
+      appConfig.automatic-timezoned = {
+        isAllowed = true;
+        isSystem = true;
+        users = [ (toString config.ids.uids.automatic-timezoned) ];
+      };
+    };
+
+    systemd.services = {
+
+      automatic-timezoned = {
+        description = "Automatically update system timezone based on location";
+        requires = [ "automatic-timezoned-geoclue-agent.service" ];
+        after = [ "automatic-timezoned-geoclue-agent.service" ];
+        serviceConfig = {
+          Type = "exec";
+          User = "automatic-timezoned";
+          ExecStart = "${cfg.package}/bin/automatic-timezoned --zoneinfo-path=${pkgs.tzdata}/share/zoneinfo/zone1970.tab";
+        };
+        wantedBy = [ "default.target" ];
+      };
+
+      automatic-timezoned-geoclue-agent = {
+        description = "Geoclue agent for automatic-timezoned";
+        requires = [ "geoclue.service" ];
+        after = [ "geoclue.service" ];
+        serviceConfig = {
+          Type = "exec";
+          User = "automatic-timezoned";
+          ExecStart = "${pkgs.geoclue2-with-demo-agent}/libexec/geoclue-2.0/demos/agent";
+          Restart = "on-failure";
+          PrivateTmp = true;
+        };
+        wantedBy = [ "default.target" ];
+      };
+
+    };
+
+    users = {
+      users.automatic-timezoned = {
+        description = "automatic-timezoned";
+        uid = config.ids.uids.automatic-timezoned;
+        group = "automatic-timezoned";
+      };
+      groups.automatic-timezoned = {
+        gid = config.ids.gids.automatic-timezoned;
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/web-apps/alps.nix b/nixos/modules/services/web-apps/alps.nix
index b73cb82925d9b..4681739af4ab0 100644
--- a/nixos/modules/services/web-apps/alps.nix
+++ b/nixos/modules/services/web-apps/alps.nix
@@ -70,6 +70,23 @@ in {
         '';
       };
     };
+
+    package = mkOption {
+      internal = true;
+      type = types.package;
+      default = pkgs.alps;
+    };
+
+    args = mkOption {
+      internal = true;
+      type = types.listOf types.str;
+      default = [
+        "-addr" "${cfg.bindIP}:${toString cfg.port}"
+        "-theme" "${cfg.theme}"
+        "imaps://${cfg.imaps.host}:${toString cfg.imaps.port}"
+        "smpts://${cfg.smtps.host}:${toString cfg.smtps.port}"
+      ];
+    };
   };
 
   config = mkIf cfg.enable {
@@ -80,16 +97,33 @@ in {
       after = [ "network.target" "network-online.target" ];
 
       serviceConfig = {
-        ExecStart = ''
-          ${pkgs.alps}/bin/alps \
-            -addr ${cfg.bindIP}:${toString cfg.port} \
-            -theme ${cfg.theme} \
-            imaps://${cfg.imaps.host}:${toString cfg.imaps.port} \
-            smpts://${cfg.smtps.host}:${toString cfg.smtps.port}
-        '';
-        StateDirectory = "alps";
-        WorkingDirectory = "/var/lib/alps";
+        ExecStart = "${cfg.package}/bin/alps ${escapeShellArgs cfg.args}";
         DynamicUser = true;
+        ## This is desirable but would restrict bindIP to 127.0.0.1
+        #IPAddressAllow = "localhost";
+        #IPAddressDeny = "any";
+        LockPersonality = true;
+        NoNewPrivileges = true;
+        PrivateDevices = true;
+        PrivateIPC = true;
+        PrivateTmp = true;
+        PrivateUsers = true;
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectProc = "invisible";
+        ProtectSystem = "strict";
+        RemoveIPC = true;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+        SystemCallArchitectures = "native";
+        SystemCallFilter = [ "@system-service @resources" "~@privileged @obsolete" ];
       };
     };
   };
diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix
index 521cf778a36bf..d52190a28648e 100644
--- a/nixos/modules/services/web-apps/keycloak.nix
+++ b/nixos/modules/services/web-apps/keycloak.nix
@@ -482,6 +482,10 @@ in
             assertion = (cfg.database.useSSL && cfg.database.type == "postgresql") -> (cfg.database.caCert != null);
             message = "A CA certificate must be specified (in 'services.keycloak.database.caCert') when PostgreSQL is used with SSL";
           }
+          {
+            assertion = createLocalPostgreSQL -> config.services.postgresql.settings.standard_conforming_strings or true;
+            message = "Setting up a local PostgreSQL db for Keycloak requires `standard_conforming_strings` turned on to work reliably";
+          }
         ];
 
         environment.systemPackages = [ keycloakBuild ];
@@ -544,7 +548,13 @@ in
             create_role="$(mktemp)"
             trap 'rm -f "$create_role"' EXIT
 
+            # Read the password from the credentials directory and
+            # escape any single quotes by adding additional single
+            # quotes after them, following the rules laid out here:
+            # https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS
             db_password="$(<"$CREDENTIALS_DIRECTORY/db_password")"
+            db_password="''${db_password//\'/\'\'}"
+
             echo "CREATE ROLE keycloak WITH LOGIN PASSWORD '$db_password' CREATEDB" > "$create_role"
             psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='keycloak'" | grep -q 1 || psql -tA --file="$create_role"
             psql -tAc "SELECT 1 FROM pg_database WHERE datname = 'keycloak'" | grep -q 1 || psql -tAc 'CREATE DATABASE "keycloak" OWNER "keycloak"'
@@ -566,8 +576,16 @@ in
           script = ''
             set -o errexit -o pipefail -o nounset -o errtrace
             shopt -s inherit_errexit
+
+            # Read the password from the credentials directory and
+            # escape any single quotes by adding additional single
+            # quotes after them, following the rules laid out here:
+            # https://dev.mysql.com/doc/refman/8.0/en/string-literals.html
             db_password="$(<"$CREDENTIALS_DIRECTORY/db_password")"
-            ( echo "CREATE USER IF NOT EXISTS 'keycloak'@'localhost' IDENTIFIED BY '$db_password';"
+            db_password="''${db_password//\'/\'\'}"
+
+            ( echo "SET sql_mode = 'NO_BACKSLASH_ESCAPES';"
+              echo "CREATE USER IF NOT EXISTS 'keycloak'@'localhost' IDENTIFIED BY '$db_password';"
               echo "CREATE DATABASE IF NOT EXISTS keycloak CHARACTER SET utf8 COLLATE utf8_unicode_ci;"
               echo "GRANT ALL PRIVILEGES ON keycloak.* TO 'keycloak'@'localhost';"
             ) | mysql -N
@@ -632,12 +650,17 @@ in
 
               ${secretReplacements}
 
+              # Escape any backslashes in the db parameters, since
+              # they're otherwise unexpectedly read as escape
+              # sequences.
+              sed -i '/db-/ s|\\|\\\\|g' /run/keycloak/conf/keycloak.conf
+
             '' + optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
               mkdir -p /run/keycloak/ssl
               cp $CREDENTIALS_DIRECTORY/ssl_{cert,key} /run/keycloak/ssl/
             '' + ''
               export KEYCLOAK_ADMIN=admin
-              export KEYCLOAK_ADMIN_PASSWORD=${cfg.initialAdminPassword}
+              export KEYCLOAK_ADMIN_PASSWORD=${escapeShellArg cfg.initialAdminPassword}
               kc.sh start --optimized
             '';
           };
diff --git a/nixos/modules/services/x11/picom.nix b/nixos/modules/services/x11/picom.nix
index d42cf1d7412fe..56b55709e47fc 100644
--- a/nixos/modules/services/x11/picom.nix
+++ b/nixos/modules/services/x11/picom.nix
@@ -47,6 +47,9 @@ in {
       since picom v6 and was subsequently removed by upstream.
       See https://github.com/yshui/picom/commit/bcbc410
     '')
+    (mkRemovedOptionModule [ "services" "picom" "experimentalBackends" ] ''
+      This option was removed by upstream since picom v10.
+    '')
   ];
 
   options.services.picom = {
@@ -58,14 +61,6 @@ in {
       '';
     };
 
-    experimentalBackends = mkOption {
-      type = types.bool;
-      default = false;
-      description = lib.mdDoc ''
-        Whether to use the unstable new reimplementation of the backends.
-      '';
-    };
-
     fade = mkOption {
       type = types.bool;
       default = false;
@@ -306,8 +301,7 @@ in {
       };
 
       serviceConfig = {
-        ExecStart = "${pkgs.picom}/bin/picom --config ${configFile}"
-          + (optionalString cfg.experimentalBackends " --experimental-backends");
+        ExecStart = "${pkgs.picom}/bin/picom --config ${configFile}";
         RestartSec = 3;
         Restart = "always";
       };
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 994aa0e33cbfa..4596c160a9571 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -342,6 +342,14 @@ checkFS() {
     return 0
 }
 
+escapeFstab() {
+    local original="$1"
+
+    # Replace space
+    local escaped="${original// /\\040}"
+    # Replace tab
+    echo "${escaped//$'\t'/\\011}"
+}
 
 # Function for mounting a file system.
 mountFS() {
@@ -569,7 +577,7 @@ while read -u 3 mountPoint; do
         continue
     fi
 
-    mountFS "$device" "$mountPoint" "$options" "$fsType"
+    mountFS "$device" "$(escapeFstab "$mountPoint")" "$(escapeFstab "$options")" "$fsType"
 done
 
 exec 3>&-
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index d28e6ed0e2770..8f1086c9c539e 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -558,7 +558,8 @@ in
       # Environment of PID 1
       systemd.managerEnvironment = {
         # Doesn't contain systemd itself - everything works so it seems to use the compiled-in value for its tools
-        PATH = lib.makeBinPath config.system.fsPackages;
+        # util-linux is needed for the main fsck utility wrapping the fs-specific ones
+        PATH = lib.makeBinPath (config.system.fsPackages ++ [cfg.package.util-linux]);
         LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive";
         TZDIR = "/etc/zoneinfo";
         # If SYSTEMD_UNIT_PATH ends with an empty component (":"), the usual unit load path will be appended to the contents of the variable
diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix
index 97f02a8c963a8..7ab8f8dc676c7 100644
--- a/nixos/modules/tasks/filesystems.nix
+++ b/nixos/modules/tasks/filesystems.nix
@@ -167,7 +167,7 @@ let
          else throw "No device specified for mount point ‘${fs.mountPoint}’.")
       + " " + escape (rootPrefix + fs.mountPoint)
       + " " + fs.fsType
-      + " " + builtins.concatStringsSep "," (fs.options ++ (extraOpts fs))
+      + " " + escape (builtins.concatStringsSep "," (fs.options ++ (extraOpts fs)))
       + " " + (optionalString (!excludeChecks)
         ("0 " + (if skipCheck fs then "0" else if fs.mountPoint == "/" then "1" else "2")))
       + "\n"
@@ -300,11 +300,7 @@ in
     boot.supportedFilesystems = map (fs: fs.fsType) fileSystems;
 
     # Add the mount helpers to the system path so that `mount' can find them.
-    system.fsPackages = [
-      pkgs.dosfstools
-      # This is needed for the main fsck utility wrapping the fs-specific ones.
-      pkgs.util-linux
-    ];
+    system.fsPackages = [ pkgs.dosfstools ];
 
     environment.systemPackages = with pkgs; [ fuse3 fuse ] ++ config.system.fsPackages;
 
diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix
index 02414b7d60e99..e1e640c447425 100644
--- a/nixos/modules/virtualisation/nixos-containers.nix
+++ b/nixos/modules/virtualisation/nixos-containers.nix
@@ -9,6 +9,10 @@ let
   configurationDirectory = "/etc/${configurationDirectoryName}";
   stateDirectory = "/var/lib/${configurationPrefix}containers";
 
+  nixos-container = pkgs.nixos-container.override {
+    inherit stateDirectory configurationDirectory;
+  };
+
   # The container's init script, a small wrapper around the regular
   # NixOS stage-2 init script.
   containerInit = (cfg:
@@ -250,7 +254,7 @@ let
     ExecReload = pkgs.writeScript "reload-container"
       ''
         #! ${pkgs.runtimeShell} -e
-        ${pkgs.nixos-container}/bin/nixos-container run "$INSTANCE" -- \
+        ${nixos-container}/bin/nixos-container run "$INSTANCE" -- \
           bash --login -c "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/bin/switch-to-configuration test"
       '';
 
@@ -868,9 +872,7 @@ in
     '';
 
     environment.systemPackages = [
-      (pkgs.nixos-container.override {
-        inherit stateDirectory configurationDirectory;
-      })
+      nixos-container
     ];
 
     boot.kernelModules = [
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index bd7b452735f1c..337b5192776f8 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -77,6 +77,7 @@ in rec {
         (onFullSupported "nixos.tests.i3wm")
         (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSimple")
         (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvolDefault")
+        (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvolEscape")
         (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSubvols")
         (onSystems ["x86_64-linux"] "nixos.tests.installer.luksroot")
         (onSystems ["x86_64-linux"] "nixos.tests.installer.lvm")
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index bd0fe18c4f8c2..d3dc8b9ca08a4 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -74,6 +74,7 @@ in {
   agda = handleTest ./agda.nix {};
   airsonic = handleTest ./airsonic.nix {};
   allTerminfo = handleTest ./all-terminfo.nix {};
+  alps = handleTest ./alps.nix {};
   amazon-init-shell = handleTest ./amazon-init-shell.nix {};
   apfs = handleTest ./apfs.nix {};
   apparmor = handleTest ./apparmor.nix {};
@@ -251,8 +252,8 @@ in {
   haproxy = handleTest ./haproxy.nix {};
   hardened = handleTest ./hardened.nix {};
   healthchecks = handleTest ./web-apps/healthchecks.nix {};
-  hbase1 = handleTest ./hbase.nix { package=pkgs.hbase1; };
   hbase2 = handleTest ./hbase.nix { package=pkgs.hbase2; };
+  hbase_2_4 = handleTest ./hbase.nix { package=pkgs.hbase_2_4; };
   hbase3 = handleTest ./hbase.nix { package=pkgs.hbase3; };
   hedgedoc = handleTest ./hedgedoc.nix {};
   herbstluftwm = handleTest ./herbstluftwm.nix {};
@@ -490,9 +491,11 @@ in {
   pgadmin4-standalone = handleTest ./pgadmin4-standalone.nix {};
   pgjwt = handleTest ./pgjwt.nix {};
   pgmanage = handleTest ./pgmanage.nix {};
+  phosh = handleTest ./phosh.nix {};
   php = handleTest ./php {};
   php80 = handleTest ./php { php = pkgs.php80; };
   php81 = handleTest ./php { php = pkgs.php81; };
+  php82 = handleTest ./php { php = pkgs.php82; };
   phylactery = handleTest ./web-apps/phylactery.nix {};
   pict-rs = handleTest ./pict-rs.nix {};
   pinnwand = handleTest ./pinnwand.nix {};
diff --git a/nixos/tests/alps.nix b/nixos/tests/alps.nix
new file mode 100644
index 0000000000000..8d7814117df1e
--- /dev/null
+++ b/nixos/tests/alps.nix
@@ -0,0 +1,104 @@
+let
+  certs = import ./common/acme/server/snakeoil-certs.nix;
+  domain = certs.domain;
+in
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "alps";
+
+  nodes = {
+    server = {
+      imports = [ ./common/user-account.nix ];
+      security.pki.certificateFiles = [
+        certs.ca.cert
+      ];
+      networking.extraHosts = ''
+        127.0.0.1 ${domain}
+      '';
+      networking.firewall.allowedTCPPorts = [ 25 465 993 ];
+      services.postfix = {
+        enable = true;
+        enableSubmission = true;
+        enableSubmissions = true;
+        tlsTrustedAuthorities = "${certs.ca.cert}";
+        sslCert = "${certs.${domain}.cert}";
+        sslKey = "${certs.${domain}.key}";
+      };
+      services.dovecot2 = {
+        enable = true;
+        enableImap = true;
+        sslCACert = "${certs.ca.cert}";
+        sslServerCert = "${certs.${domain}.cert}";
+        sslServerKey = "${certs.${domain}.key}";
+      };
+    };
+
+    client = { nodes, config, ... }: {
+      security.pki.certificateFiles = [
+        certs.ca.cert
+      ];
+      networking.extraHosts = ''
+        ${nodes.server.config.networking.primaryIPAddress} ${domain}
+      '';
+      services.alps = {
+        enable = true;
+        theme = "alps";
+        imaps = {
+          host = domain;
+          port = 993;
+        };
+        smtps = {
+          host = domain;
+          port = 465;
+        };
+      };
+      environment.systemPackages = [
+        (pkgs.writers.writePython3Bin "test-alps-login" { } ''
+          from urllib.request import build_opener, HTTPCookieProcessor, Request
+          from urllib.parse import urlencode, urljoin
+          from http.cookiejar import CookieJar
+
+          baseurl = "http://localhost:${toString config.services.alps.port}"
+          username = "alice"
+          password = "${nodes.server.config.users.users.alice.password}"
+          cookiejar = CookieJar()
+          cookieprocessor = HTTPCookieProcessor(cookiejar)
+          opener = build_opener(cookieprocessor)
+
+          data = urlencode({"username": username, "password": password}).encode()
+          req = Request(urljoin(baseurl, "login"), data=data, method="POST")
+          with opener.open(req) as ret:
+              # Check that the alps_session cookie is set
+              print(cookiejar)
+              assert any(cookie.name == "alps_session" for cookie in cookiejar)
+
+          req = Request(baseurl)
+          with opener.open(req) as ret:
+              # Check that the alps_session cookie is still there...
+              print(cookiejar)
+              assert any(cookie.name == "alps_session" for cookie in cookiejar)
+              # ...and that we have not been redirected back to the login page
+              print(ret.url)
+              assert ret.url == urljoin(baseurl, "mailbox/INBOX")
+
+          req = Request(urljoin(baseurl, "logout"))
+          with opener.open(req) as ret:
+              # Check that the alps_session cookie is now gone
+              print(cookiejar)
+              assert all(cookie.name != "alps_session" for cookie in cookiejar)
+        '')
+      ];
+    };
+  };
+
+  testScript = ''
+    server.start()
+    server.wait_for_unit("postfix.service")
+    server.wait_for_unit("dovecot2.service")
+    server.wait_for_open_port(465)
+    server.wait_for_open_port(993)
+
+    client.start()
+    client.wait_for_unit("alps.service")
+    client.succeed("test-alps-login")
+  '';
+})
diff --git a/nixos/tests/common/acme/server/acme.test.cert.pem b/nixos/tests/common/acme/server/acme.test.cert.pem
index 76b0d916a8175..562e7a329b681 100644
--- a/nixos/tests/common/acme/server/acme.test.cert.pem
+++ b/nixos/tests/common/acme/server/acme.test.cert.pem
@@ -1,19 +1,19 @@
 -----BEGIN CERTIFICATE-----
-MIIDLDCCAhSgAwIBAgIIRDAN3FHH//IwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
-AxMVbWluaWNhIHJvb3QgY2EgNzg3NDZmMB4XDTIwMTAyMTEzMjgzNloXDTIyMTEy
-MDEzMjgzNlowFDESMBAGA1UEAxMJYWNtZS50ZXN0MIIBIjANBgkqhkiG9w0BAQEF
-AAOCAQ8AMIIBCgKCAQEAo8XjMVUaljcaqQ5MFhfPuQgSwdyXEUbpSHz+5yPkE0h9
-Z4Xu5BJF1Oq7h5ggCtadVsIspiY6Jm6aWDOjlh4myzW5UNBNUG3OPEk50vmmHFeH
-pImHO/d8yb33QoF9VRcTZs4tuJYg7l9bSs4jNG72vYvv2YiGAcmjJcsmAZIfniCN
-Xf/LjIm+Cxykn+Vo3UuzO1w5/iuofdgWO/aZxMezmXUivlL3ih4cNzCJei8WlB/l
-EnHrkcy3ogRmmynP5zcz7vmGIJX2ji6dhCa4Got5B7eZK76o2QglhQXqPatG0AOY
-H+RfQfzKemqPG5om9MgJtwFtTOU1LoaiBw//jXKESQIDAQABo3YwdDAOBgNVHQ8B
+MIIDLDCCAhSgAwIBAgIIHvJkPAdMFGAwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
+AxMVbWluaWNhIHJvb3QgY2EgNDYwMjMxMB4XDTIyMTEyMDE1MzcwNFoXDTI0MTIy
+MDE1MzcwNFowFDESMBAGA1UEAxMJYWNtZS50ZXN0MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAs/Xad8Jn0YMI8nTjbVakGsFplxSKkgWs9Jv8tETC1FBV
+KNo3yF6IElBhzKw3eF6piZqDwNFXobuMCZ3Ckaj+EOdSA0DhjwUSBmEok/0siIu4
+WbAS2iKwZGuJlJRYOmfXRPt2nNSPhuNHtZJoTWufN5K1XS+4v1dsVUWdWvkUuaC5
+/uoujcYd4D6XDhJCubDCE+WSYk0KBLtMQ8irbNu4FGoCn5T7kDq46XwVjulWxc5q
+dZ/Z/zgKQkoLaHgWKLjvuu7/CZw6RXyBlwVJh36pljixRnpnLfMMykO9Sq7Z3cR2
+aVcMRjjeH0uScfFHIb3hvqyZLd+NHw3SqE8la/Nq1wIDAQABo3YwdDAOBgNVHQ8B
 Af8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB
-/wQCMAAwHwYDVR0jBBgwFoAU+8IZlLV/Qp5CXqpXMLvtxWlxcJwwFAYDVR0RBA0w
-C4IJYWNtZS50ZXN0MA0GCSqGSIb3DQEBCwUAA4IBAQB0pe8I5/VDkB5VMgQB2GJV
-GKzyigfWbVez9uLmqMj9PPP/zzYKSYeq+91aMuOZrnH7NqBxSTwanULkmqAmhbJJ
-YkXw+FlFekf9FyxcuArzwzzNZDSGcjcdXpN8S2K1qkBd00iSJF9kU7pdZYCIKR20
-QirdBrELEfsJ3GU62a6N3a2YsrisZUvq5TbjGJDcytAtt+WG3gmV7RInLdFfPwbw
-bEHPCnx0uiV0nxLjd/aVT+RceVrFQVt4hR99jLoMlBitSKluZ1ljsrpIyroBhQT0
-pp/pVi6HJdijG0fsPrC325NEGAwcpotLUhczoeM/rffKJd54wLhDkfYxOyRZXivs
+/wQCMAAwHwYDVR0jBBgwFoAUW4rxHHeasqLl7KMK+F3uVN0JGwYwFAYDVR0RBA0w
+C4IJYWNtZS50ZXN0MA0GCSqGSIb3DQEBCwUAA4IBAQBDT8HY62N6YbG7Fp3gPD2L
+Y0ZFHAAYM5l+Qn55aYkaTxpaRFPAeh0POmTIgSXfFSQYR00w3x2ni0K1ecBI814y
+Mkgoki+jP6JhgV1fPTa5Wqm2x/Ufcr6LbTIDVqO5zFxTdkqZHfC7sMahDNULVrN2
+RVkTLppDfmQ+oFcwNvZSgK9SDJNMlsNllOyGGUuMSd1KjWU4/Wr0AmaS+V3Cjf14
+MsvgVhN66ECom1yyy3q9HZgAoZy6lnHOWHD4BVXOmbS2Y1lSVv/atmiGH7F9nvNN
+Ggh/+RmkXGczV80wT2TnivEamJGHA4kwThL40SRKfaTTX7miImI25E6+390hBXyw
 -----END CERTIFICATE-----
diff --git a/nixos/tests/common/acme/server/acme.test.key.pem b/nixos/tests/common/acme/server/acme.test.key.pem
index 741df99a372e3..fd3e9f7dbcf61 100644
--- a/nixos/tests/common/acme/server/acme.test.key.pem
+++ b/nixos/tests/common/acme/server/acme.test.key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAo8XjMVUaljcaqQ5MFhfPuQgSwdyXEUbpSHz+5yPkE0h9Z4Xu
-5BJF1Oq7h5ggCtadVsIspiY6Jm6aWDOjlh4myzW5UNBNUG3OPEk50vmmHFeHpImH
-O/d8yb33QoF9VRcTZs4tuJYg7l9bSs4jNG72vYvv2YiGAcmjJcsmAZIfniCNXf/L
-jIm+Cxykn+Vo3UuzO1w5/iuofdgWO/aZxMezmXUivlL3ih4cNzCJei8WlB/lEnHr
-kcy3ogRmmynP5zcz7vmGIJX2ji6dhCa4Got5B7eZK76o2QglhQXqPatG0AOYH+Rf
-QfzKemqPG5om9MgJtwFtTOU1LoaiBw//jXKESQIDAQABAoIBADox/2FwVFo8ioS4
-R+Ex5OZjMAcjU6sX/516jTmlT05q2+UFerYgqB/YqXqtW/V9/brulN8VhmRRuRbO
-grq9TBu5o3hMDK0f18EkZB/MBnLbx594H033y6gEkPBZAyhRYtuNOEH3VwxdZhtW
-1Lu1EoiYSUqLcNMBy6+KWJ8GRaXyacMYBlj2lMHmyzkA/t1+2mwTGC3lT6zN0F5Y
-E5umXOxsn6Tb6q3KM9O5IvtmMMKpgj4HIHZLZ6j40nNgHwGRaAv4Sha/vx0DeBw3
-6VlNiTTPdShEkhESlM5/ocqTfI92VHJpM5gkqTYOWBi2aKIPfAopXoqoJdWl4pQ/
-NCFIu2ECgYEAzntNKIcQtf0ewe0/POo07SIFirvz6jVtYNMTzeQfL6CoEjYArJeu
-Vzc4wEQfA4ZFVerBb1/O6M449gI3zex1PH4AX0h8q8DSjrppK1Jt2TnpVh97k7Gg
-Tnat/M/yW3lWYkcMVJJ3AYurXLFTT1dYP0HvBwZN04yInrEcPNXKfmcCgYEAywyJ
-51d4AE94PrANathKqSI/gk8sP+L1gzylZCcUEAiGk/1r45iYB4HN2gvWbS+CvSdp
-F7ShlDWrTaNh2Bm1dgTjc4pWb4J+CPy/KN2sgLwIuM4+ZWIZmEDcio6khrM/gNqK
-aR7xUsvWsqU26O84woY/xR8IHjSNF7cFWE1H2c8CgYEAt6SSi2kVQ8dMg84uYE8t
-o3qO00U3OycpkOQqyQQLeKC62veMwfRl6swCfX4Y11mkcTXJtPTRYd2Ia8StPUkB
-PDwUuKoPt/JXUvoYb59wc7M+BIsbrdBdc2u6cw+/zfutCNuH6/AYSBeg4WAVaIuW
-wSwzG1xP+8cR+5IqOzEqWCECgYATweeVTCyQEyuHJghYMi2poXx+iIesu7/aAkex
-pB/Oo5W8xrb90XZRnK7UHbzCqRHWqAQQ23Gxgztk9ZXqui2vCzC6qGZauV7cLwPG
-zTMg36sVmHP314DYEM+k59ZYiQ6P0jQPoIQo407D2VGrfsOOIhQIcUmP7tsfyJ5L
-hlGMfwKBgGq4VNnnuX8I5kl03NpaKfG+M8jEHmVwtI9RkPTCCX9bMjeG0cDxqPTF
-TRkf3r8UWQTZ5QfAfAXYAOlZvmGhHjSembRbXMrMdi3rGsYRSrQL6n5NHnORUaMy
-FCWo4gyAnniry7tx9dVNgmHmbjEHuQnf8AC1r3dibRCjvJWUiQ8H
+MIIEowIBAAKCAQEAs/Xad8Jn0YMI8nTjbVakGsFplxSKkgWs9Jv8tETC1FBVKNo3
+yF6IElBhzKw3eF6piZqDwNFXobuMCZ3Ckaj+EOdSA0DhjwUSBmEok/0siIu4WbAS
+2iKwZGuJlJRYOmfXRPt2nNSPhuNHtZJoTWufN5K1XS+4v1dsVUWdWvkUuaC5/uou
+jcYd4D6XDhJCubDCE+WSYk0KBLtMQ8irbNu4FGoCn5T7kDq46XwVjulWxc5qdZ/Z
+/zgKQkoLaHgWKLjvuu7/CZw6RXyBlwVJh36pljixRnpnLfMMykO9Sq7Z3cR2aVcM
+RjjeH0uScfFHIb3hvqyZLd+NHw3SqE8la/Nq1wIDAQABAoIBAG2s50FXjLgmONyz
+Giv3wrm/qF94GF+X7+l/64nd4jNM5imonJiT7C/lJ0V6q6/DWWXQcn2f191slJMD
+v6HQMU8R+2yaLR1hxLN4oSdYA70QEgEvCr5Ap+n7k/SmWAL4aDzVWFuKPBLED178
+ZG7SqU1QLxIk1F5gpFhvvc/Ev7nE0KAzTJ3jGyWHZjJ1TKAWHx6oeKOw4OejRcGO
++rDBfQrV59fiCy8CFraGPDGie5Eb7ioXyt4cf4/odtLol7bSIwH4BLwfvKJbRobi
+gSjvL5JJLjhjWzeoj+JC4o0sWQegytWpNCHSFETfHQ8rlcagTN8JaTcBg6+wrR2O
+OPeoFqkCgYEA7o9jSk7i23SiKo3C+T9KFIL2OS7akwUqIQZehZJ6LXljYEDP1lcz
+wjvWuLGVzlST3fmumHIMZLjjBU1cMYAPZrbUrEeayATD4jBxyiXbHqhB3DQ0W4CX
+obUhcdsLGsKp0zXls8FeiQs6GOeEwSDU+1nAL9/hLK7w6cJ2zyj8HBUCgYEAwR3H
+/ltIjD8tXNF05ayOguzrbivx2vaXusskZgn9QqntoGqqsXLOgsqcUH0dtiTyVOn+
+Nba7w+o5NfaAfE9uR+oeZSo1IJU8oEi/EZqXTcYf5p3oAjXXZ9wXX8kl91EjCzKl
+0kDpSpsMhUzdB2i5I9Oh1fLaW4iMwyuY1CgnqjsCgYBHIJFmEmcpL3k6XtIHJoub
+2gA3xHR+6UdKWW/NO4MaE9tBU5GkQpO4EcdPggM8ZZNA17Tq1vZDAa0OY6ZdS+VL
+pq96Pk8z29fblL4Ym3jdhyU71oTV011iZXL3U2vYKrofsy4tjjX1fldwHXdDbdqS
+povaulGU1QQXblemJH4mkQKBgC3IUq6Rk4x0OdvkaFM+6nZNlq8Cyg7AIU6OdG2g
+dqNER+qc/yScdCr7v70xPEb/UVgiNTskvDUBJVkOvH08E4gHD/ep3vh/iOTy+iFB
+RheRHeT9kJBdlVixC/WQaWjNmoJAGqHS87vVME214Dyubh35QUfIkE3c/IoUnuHF
+N0obAoGBANJpPBF36H1nb+TcVerOBXI8oqeIyoq7f4W/wbIirnZq/XfBaaOL5R6v
+6+p4LEcQ1Mf33Yfr5M4aR0q7fgNDg/g4LcMg6fI3+UwPC6lJY+K8zzF4fmGDhheC
+D+LsZG0Funl9kT0yxPBQhCJmmkJNIHiSNuRLt9Infne2408+YV+T
 -----END RSA PRIVATE KEY-----
diff --git a/nixos/tests/common/acme/server/ca.cert.pem b/nixos/tests/common/acme/server/ca.cert.pem
index 5c33e879b675b..8d52a0a8f462c 100644
--- a/nixos/tests/common/acme/server/ca.cert.pem
+++ b/nixos/tests/common/acme/server/ca.cert.pem
@@ -1,20 +1,20 @@
 -----BEGIN CERTIFICATE-----
-MIIDSzCCAjOgAwIBAgIIeHRvRrNvbGQwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
-AxMVbWluaWNhIHJvb3QgY2EgNzg3NDZmMCAXDTIwMTAyMTEzMjgzNloYDzIxMjAx
-MDIxMTMyODM2WjAgMR4wHAYDVQQDExVtaW5pY2Egcm9vdCBjYSA3ODc0NmYwggEi
-MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrNTzVLDJOKtGYGLU98EEcLKps
-tXHCLC6G54LKbEcU80fn+ArX8qsPSHyhdXQkcYjq6Vh/EDJ1TctyRSnvAjwyG4Aa
-1Zy1QFc/JnjMjvzimCkUc9lQ+wkLwHSM/KGwR1cGjmtQ/EMClZTA0NwulJsXMKVz
-bd5asXbq/yJTQ5Ww25HtdNjwRQXTvB7r3IKcY+DsED9CvFvC9oG/ZhtZqZuyyRdC
-kFUrrv8WNUDkWSN+lMR6xMx8v0583IN6f11IhX0b+svK98G81B2eswBdkzvVyv9M
-unZBO0JuJG8sdM502KhWLmzBC1ZbvgUBF9BumDRpMFH4DCj7+qQ2taWeGyc7AgMB
+MIIDSzCCAjOgAwIBAgIIRgIx/Q6DdK0wDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
+AxMVbWluaWNhIHJvb3QgY2EgNDYwMjMxMCAXDTIyMTEyMDE1MzcwNFoYDzIxMjIx
+MTIwMTUzNzA0WjAgMR4wHAYDVQQDExVtaW5pY2Egcm9vdCBjYSA0NjAyMzEwggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYxM/efiS7rNNzdu+AK+J57+om
+QYsoteVpmwcU6Ul8Zr6pcsBSLetV2PCWGVKKfXdK1Ep+JdBoiuG8EY/wffYJy+So
+WRRWX+bGIFly74urX2iOH/yimF8XMaHj4CzjMD1wM2rFLswL3VK2DM+wrCMO2zE2
+BAiUAJ++ws99Dl74DQ9lGne8hMjFgzakINCNd948/t2+LMVxqCgQ7fI+iHA1X7QF
+1AT5c86wd/GxLzfl343DxLSeMRFbGUVSH6NBBnIQdFDq1GjNGPbn8ZlDXw5WWeR5
+ufnxcRRNpp3GnHG3/VOebFAr++5/0ze+QvF6XPXk9RZWvhh0dD14/8W/PMK1AgMB
 AAGjgYYwgYMwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
-BgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBT7whmUtX9CnkJe
-qlcwu+3FaXFwnDAfBgNVHSMEGDAWgBT7whmUtX9CnkJeqlcwu+3FaXFwnDANBgkq
-hkiG9w0BAQsFAAOCAQEARMe1wKmF33GjEoLLw0oDDS4EdAv26BzCwtrlljsEtwQN
-95oSzUNd6o4Js7WCG2o543OX6cxzM+yju8TES3+vJKDgsbNMU0bWCv//tdrb0/G8
-OkU3Kfi5q4fOauZ1pqGv/pXdfYhZ5ieB/zwis3ykANe5JfB0XqwCb1Vd0C3UCIS2
-NPKngRwNSzphIsbzfvxGDkdM1enuGl5CVyDhrwTMqGaJGDSOv6U5jKFxKRvigqTN
-Ls9lPmT5NXYETduWLBR3yUIdH6kZXrcozZ02B9vjOB2Cv4RMDc+9eM30CLIWpf1I
-097e7JkhzxFhfC/bMMt3P1FeQc+fwH91wdBmNi7tQw==
+BgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBRbivEcd5qyouXs
+owr4Xe5U3QkbBjAfBgNVHSMEGDAWgBRbivEcd5qyouXsowr4Xe5U3QkbBjANBgkq
+hkiG9w0BAQsFAAOCAQEAdSudxwrpXf/nxXJ8THob63UEvvof0o7uENbNPjqt7VZZ
+lQeKnZOrzjYbTcsbyDpm/zsniT9620ntVcL4/IG2eeuSPA9btHNiFM6R3Nby8Op4
+emqNzrS0DFqV/CAOAue+C44Vb9IS+ibFxEpI3GTH0FVWpEglLuesXKV+boy1aCNq
+BYvk6lVplmnTtyfEUAQxyjJhTHu0+ZDwmw1+/NY9Wn2aeile+/G8ao+MBXARELmq
+aoGKfFfrMGRT/KDSyODBEdJ1XkLr0TYjNvyctsaYBp9FhVQiuNMOyCku7EB8y+tZ
+odYtLw6ecNnrjgQAnxSDg1ChrQ0wNSdPyjvycNgvjQ==
 -----END CERTIFICATE-----
diff --git a/nixos/tests/common/acme/server/ca.key.pem b/nixos/tests/common/acme/server/ca.key.pem
index ed46f5dccf467..cde4e8ac7c758 100644
--- a/nixos/tests/common/acme/server/ca.key.pem
+++ b/nixos/tests/common/acme/server/ca.key.pem
@@ -1,27 +1,27 @@
 -----BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAqzU81SwyTirRmBi1PfBBHCyqbLVxwiwuhueCymxHFPNH5/gK
-1/KrD0h8oXV0JHGI6ulYfxAydU3LckUp7wI8MhuAGtWctUBXPyZ4zI784pgpFHPZ
-UPsJC8B0jPyhsEdXBo5rUPxDApWUwNDcLpSbFzClc23eWrF26v8iU0OVsNuR7XTY
-8EUF07we69yCnGPg7BA/QrxbwvaBv2YbWambsskXQpBVK67/FjVA5FkjfpTEesTM
-fL9OfNyDen9dSIV9G/rLyvfBvNQdnrMAXZM71cr/TLp2QTtCbiRvLHTOdNioVi5s
-wQtWW74FARfQbpg0aTBR+Awo+/qkNrWlnhsnOwIDAQABAoIBAA3ykVkgd5ysmlSU
-trcsCnHcJaojgff6l3PACoSpG4VWaGY6a8+54julgRm6MtMBONFCX0ZCsImj484U
-Wl0xRmwil2YYPuL5MeJgJPktMObY1IfpBCw3tz3w2M3fiuCMf0d2dMGtO1xLiUnH
-+hgFXTkfamsj6ThkOrbcQBSebeRxbKM5hqyCaQoieV+0IJnyxUVq/apib8N50VsH
-SHd4oqLUuEZgg6N70+l5DpzedJUb4nrwS/KhUHUBgnoPItYBCiGPmrwLk7fUhPs6
-kTDqJDtc/xW/JbjmzhWEpVvtumcC/OEKULss7HLdeQqwVBrRQkznb0M9AnSra3d0
-X11/Y4ECgYEA3FC8SquLPFb2lHK4+YbJ4Ac6QVWeYFEHiZ0Rj+CmONmjcAvOGLPE
-SblRLm3Nbrkxbm8FF6/AfXa/rviAKEVPs5xqGfSDw/3n1uInPcmShiBCLwM/jHH5
-NeVG+R5mTg5zyQ/pQMLWRcs+Ail+ZAnZuoGpW3Cdc8OtCUYFQ7XB6nsCgYEAxvBJ
-zFxcTtsDzWbMWXejugQiUqJcEbKWwEfkRbf3J2rAVO2+EFr7LxdRfN2VwPiTQcWc
-LnN2QN+ouOjqBMTh3qm5oQY+TLLHy86k9g1k0gXWkMRQgP2ZdfWH1HyrwjLUgLe1
-VezFN7N1azgy6xFkInAAvuA4loxElZNvkGBgekECgYA/Xw26ILvNIGqO6qzgQXAh
-+5I7JsiGheg4IjDiBMlrQtbrLMoceuD0H9UFGNplhel9DXwWgxxIOncKejpK2x0A
-2fX+/0FDh+4+9hA5ipiV8gN3iGSoHkSDxy5yC9d7jlapt+TtFt4Rd1OfxZWwatDw
-/8jaH3t6yAcmyrhK8KYVrwKBgAE5KwsBqmOlvyE9N5Z5QN189wUREIXfVkP6bTHs
-jq2EX4hmKdwJ4y+H8i1VY31bSfSGlY5HkXuWpH/2lrHO0CDBZG3UDwADvWzIaYVF
-0c/kz0v2mRQh+xaZmus4lQnNrDbaalgL666LAPbW0qFVaws3KxoBYPe0BxvwWyhF
-H3LBAoGBAKRRNsq2pWQ8Gqxc0rVoH0FlexU9U2ci3lsLmgEB0A/o/kQkSyAxaRM+
-VdKp3sWfO8o8lX5CVQslCNBSjDTNcat3Co4NEBLg6Xv1yKN/WN1GhusnchP9szsP
-oU47gC89QhUyWSd6vvr2z2NG9C3cACxe4dhDSHQcE4nHSldzCKv2
+MIIEowIBAAKCAQEAmMTP3n4ku6zTc3bvgCviee/qJkGLKLXlaZsHFOlJfGa+qXLA
+Ui3rVdjwlhlSin13StRKfiXQaIrhvBGP8H32CcvkqFkUVl/mxiBZcu+Lq19ojh/8
+ophfFzGh4+As4zA9cDNqxS7MC91StgzPsKwjDtsxNgQIlACfvsLPfQ5e+A0PZRp3
+vITIxYM2pCDQjXfePP7dvizFcagoEO3yPohwNV+0BdQE+XPOsHfxsS835d+Nw8S0
+njERWxlFUh+jQQZyEHRQ6tRozRj25/GZQ18OVlnkebn58XEUTaadxpxxt/1TnmxQ
+K/vuf9M3vkLxelz15PUWVr4YdHQ9eP/FvzzCtQIDAQABAoIBAAMvJv4GNxHKWmXv
+trI/N+s+uuytNQ9WKz/2QUGIU0XKhnLVt3h/CIazjOA0CupkDxZ6MktK0ns7WdUn
+sI5cscImg8+We7wJJ7A9gF/K6mhaBr3foM5qyqCbIjqzs3vQx5cNG06c2RfuNwkg
+XzvZeqmWnAH6N4uOL8Y0HUsH/6a/5rHEBTgUOnOidR8T1vdIN5vnpknef/H575ab
+jTdDyb15Vns7nC4Q8lortkLsQzOt//LWpVuLZXGDm1Xi47ahNXM8Fo/MFK+xcBDF
+onMFuclxImN3FqkyMH6PgJS392bZ1LLcmS4bqZ0oIwfUZ/kIEwAI2cTwEYfYmN7C
+ekgvpsECgYEAxoJUcZW4iWvT8kznWKKT+YJAfTYmgwOxB1Dn3RxFA8cXocQQvwvM
+mSl1AKOjWHFl/eW9s4zwy/fOnsN1m1tCTuWSNn5sudZSJfbd5CCiYaYTI66McCCm
+5FGzqLM44Wm5y2qLa7l3in8Tza/645RpLXZyRfMInoW5In0XKbokLbkCgYEAxQM/
+p63V5KuZYsm9BWNcCvAbS6G9NHjbeRrkAd171SSdibdwLIBeyn7A5JCiVqhZZbsO
+1q1okO4m4j+JHzntWi63yXwG49sEVNaFbExPE4tfJeHD0Po8MJffoLNVTE+INT0B
+fl1elhMpE9qpizFIHF7L8KnUf5Igi+yp0d6Amt0CgYACAhmGmKQoR736KosAm4xx
+rr6mRaD4HFZzI39k/j84fZAgo9IjjKQCPKghXIZvg54rhmJ36YoaFiSx+Ho9Gxw9
+nhbvlDHXY3KrTacLAsWBxWNWLhLfo4TstGLj5wRBS4eEpkxIx7SM4yI5J3mbScoS
+mqsnSAEjUWkBD1DnrClniQKBgQCdfC9SNp+Yn6OJWIKE4Bwfkjf/iVbZrxKiCGDj
+LM1kYFSeVciRijw72n8PNp7ObtyneZQu/4dq8zSZ/vf5wjB9uoKnyUEou1cHCkS1
+gXpkwTBZ89K4JpAeuAjHSROSYLEc/ZtIDBMkHETl3hFRdx+RriWQR/HZ2FG0CIbn
+gNmE8QKBgDlFu+TcspI2R9mKbHrbPTXOAlmi2g7RZ3jF1m4S/aZqSL/bqPRBb0OU
+dY7MX4GHhJYR7RnMMROZQI0H4ZwWSMfokBDa96MDY107atK8TqZmYKaZQsEB8B4r
+fMmKnQljYj91d/reowLJrQRf5SjBvtDIEIsiC8UgjQImAsZ8huEX
 -----END RSA PRIVATE KEY-----
diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix
index 0cd1d21870adf..e8945fdea003a 100644
--- a/nixos/tests/deluge.nix
+++ b/nixos/tests/deluge.nix
@@ -54,8 +54,10 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     declarative.wait_for_unit("deluged")
     declarative.wait_for_unit("delugeweb")
     declarative.wait_until_succeeds("curl --fail http://declarative:3142")
+
+    # deluge-console always exits with 1. https://dev.deluge-torrent.org/ticket/3291
     declarative.succeed(
-        "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm.*Remove a torrent'"
+        "(deluge-console 'connect 127.0.0.1:58846 andrew password; help' || true) | grep -q 'rm.*Remove a torrent'"
     )
   '';
 })
diff --git a/nixos/tests/installer-systemd-stage-1.nix b/nixos/tests/installer-systemd-stage-1.nix
index d02387ee80e09..03f0ec8d746b8 100644
--- a/nixos/tests/installer-systemd-stage-1.nix
+++ b/nixos/tests/installer-systemd-stage-1.nix
@@ -8,9 +8,10 @@
   # them when fixed.
   inherit (import ./installer.nix { inherit system config pkgs; systemdStage1 = true; })
     # bcache
-    # btrfsSimple
-    # btrfsSubvolDefault
-    # btrfsSubvols
+    btrfsSimple
+    btrfsSubvolDefault
+    btrfsSubvolEscape
+    btrfsSubvols
     # encryptedFSWithKeyfile
     # grub1
     # luksroot
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index d9f64a781c57e..9b3c8a762991b 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -911,4 +911,25 @@ in {
       )
     '';
   };
+
+  # Test to see if we can deal with subvols that need to be escaped in fstab
+  btrfsSubvolEscape = makeInstallerTest "btrfsSubvolEscape" {
+    createPartitions = ''
+      machine.succeed(
+          "sgdisk -Z /dev/vda",
+          "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda",
+          "mkswap /dev/vda2 -L swap",
+          "swapon -L swap",
+          "mkfs.btrfs -L root /dev/vda3",
+          "btrfs device scan",
+          "mount LABEL=root /mnt",
+          "btrfs subvol create '/mnt/nixos in space'",
+          "btrfs subvol create /mnt/boot",
+          "umount /mnt",
+          "mount -o 'defaults,subvol=nixos in space' LABEL=root /mnt",
+          "mkdir /mnt/boot",
+          "mount -o defaults,subvol=boot LABEL=root /mnt/boot",
+      )
+    '';
+  };
 }
diff --git a/nixos/tests/keycloak.nix b/nixos/tests/keycloak.nix
index 6ce136330d438..228e57d1cdd6f 100644
--- a/nixos/tests/keycloak.nix
+++ b/nixos/tests/keycloak.nix
@@ -5,10 +5,13 @@
 let
   certs = import ./common/acme/server/snakeoil-certs.nix;
   frontendUrl = "https://${certs.domain}";
-  initialAdminPassword = "h4IhoJFnt2iQIR9";
 
   keycloakTest = import ./make-test-python.nix (
     { pkgs, databaseType, ... }:
+    let
+      initialAdminPassword = "h4Iho\"JFn't2>iQIR9";
+      adminPasswordFile = pkgs.writeText "admin-password" "${initialAdminPassword}";
+    in
     {
       name = "keycloak";
       meta = with pkgs.lib.maintainers; {
@@ -37,7 +40,7 @@ let
               type = databaseType;
               username = "bogus";
               name = "also bogus";
-              passwordFile = "${pkgs.writeText "dbPassword" "wzf6vOCbPp6cqTH"}";
+              passwordFile = "${pkgs.writeText "dbPassword" ''wzf6\"vO"Cb\nP>p#6;c&o?eu=q'THE'''H''''E''}";
             };
             plugins = with config.services.keycloak.package.plugins; [
               keycloak-discord
@@ -111,7 +114,7 @@ let
           keycloak.succeed("""
               curl -sSf -d 'client_id=admin-cli' \
                    -d 'username=admin' \
-                   -d 'password=${initialAdminPassword}' \
+                   -d "password=$(<${adminPasswordFile})" \
                    -d 'grant_type=password' \
                    '${frontendUrl}/realms/master/protocol/openid-connect/token' \
                    | jq -r '"Authorization: bearer " + .access_token' >admin_auth_header
@@ -119,10 +122,10 @@ let
 
           # Register the metrics SPI
           keycloak.succeed(
-              "${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt",
-              "KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password '${initialAdminPassword}'",
-              "KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'",
-              "curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'"
+              """${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt""",
+              """KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password "$(<${adminPasswordFile})" """,
+              """KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'""",
+              """curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'"""
           )
 
           # Publish the realm, including a test OIDC client and user
diff --git a/nixos/tests/phosh.nix b/nixos/tests/phosh.nix
new file mode 100644
index 0000000000000..6c6357f580968
--- /dev/null
+++ b/nixos/tests/phosh.nix
@@ -0,0 +1,65 @@
+import ./make-test-python.nix ({ pkgs, ...}: let
+  pin = "1234";
+in {
+  name = "phosh";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ zhaofengli ];
+  };
+
+  nodes = {
+    phone = { config, pkgs, ... }: {
+      users.users.nixos = {
+        isNormalUser = true;
+        password = pin;
+      };
+
+      services.xserver.desktopManager.phosh = {
+        enable = true;
+        user = "nixos";
+        group = "users";
+
+        phocConfig = {
+          outputs.Virtual-1 = {
+            scale = 2;
+          };
+        };
+      };
+
+      systemd.services.phosh = {
+        environment = {
+          # Accelerated graphics fail on phoc 0.20 (wlroots 0.15)
+          "WLR_RENDERER" = "pixman";
+        };
+      };
+
+      virtualisation.resolution = { x = 720; y = 1440; };
+      virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci,xres=720,yres=1440" ];
+    };
+  };
+
+  enableOCR = true;
+
+  testScript = ''
+    import time
+
+    start_all()
+    phone.wait_for_unit("phosh.service")
+
+    with subtest("Check that we can see the lock screen info page"):
+        # Saturday, January 1
+        phone.succeed("timedatectl set-time '2022-01-01 07:00'")
+
+        phone.wait_for_text("Saturday")
+        phone.screenshot("01lockinfo")
+
+    with subtest("Check that we can unlock the screen"):
+        phone.send_chars("${pin}", delay=0.2)
+        time.sleep(1)
+        phone.screenshot("02unlock")
+
+        phone.send_chars("\n")
+
+        phone.wait_for_text("All Apps")
+        phone.screenshot("03launcher")
+  '';
+})
diff --git a/nixos/tests/web-apps/mastodon.nix b/nixos/tests/web-apps/mastodon.nix
index 05cc727476d67..bc1122e7268f9 100644
--- a/nixos/tests/web-apps/mastodon.nix
+++ b/nixos/tests/web-apps/mastodon.nix
@@ -16,7 +16,7 @@ let
 in
 {
   name = "mastodon";
-  meta.maintainers = with pkgs.lib.maintainers; [ erictapen izorkin ];
+  meta.maintainers = with pkgs.lib.maintainers; [ erictapen izorkin turion ];
 
   nodes = {
     ca = { pkgs, ... }: {
@@ -56,6 +56,9 @@ in
     };
 
     server = { pkgs, ... }: {
+
+      virtualisation.memorySize = 2048;
+
       networking = {
         interfaces.eth1 = {
           ipv4.addresses = [
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
index 038a5277d2f50..8da04de579e6a 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.4.2";
+  version = "4.4.3";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-nLXpf0Xi7yuz/Rm8Sfkr1PGLuazN+Lh6sIqkWFBmP3w=";
+    sha256 = "sha256-NP9cM1xIHblMdUFKIviPKDi6su6Nc3xsX2pnPeP7hdQ=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix
index ffb1b99fd8c75..752e1d2dfcfa2 100644
--- a/pkgs/applications/audio/cava/default.nix
+++ b/pkgs/applications/audio/cava/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "cava";
-  version = "0.8.2";
+  version = "0.8.3";
 
   buildInputs = [
     alsa-lib
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "karlstav";
     repo = "cava";
     rev = version;
-    sha256 = "sha256-5nguoC2MrcNHMQ6rMOIRdSPtjA6bx5OrMGYdU/H08z0=";
+    sha256 = "sha256-6xiWhWynIbUWFIieiYIg24PgwnKuNSIEpkY+P6gyFGw=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 019196d74eb7e..0da23254aa81f 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -25,7 +25,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.4.36";
+  version = "1.4.35";
 
   format = "other";
   doCheck = false;
@@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-Ka/rYgWGuCQTzguJiyQpY5SPC1iB5XOVy/Gezj+DYpk=";
+    sha256 = "sha256-Rdp0gZjdj2tXOWarsTpqgvSZVXAQsCLfk5oUyalE/ZA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/odin2/default.nix b/pkgs/applications/audio/odin2/default.nix
index f0bd5e0156483..beb1264679354 100644
--- a/pkgs/applications/audio/odin2/default.nix
+++ b/pkgs/applications/audio/odin2/default.nix
@@ -18,14 +18,14 @@
 
 stdenv.mkDerivation rec {
   pname = "odin2";
-  version = "unstable-2022-02-23";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
-    owner = "baconpaul";
+    owner = "TheWaveWarden";
     repo = "odin2";
-    rev = "ed02d06cfb5db8a118d291c00bd2e4cd6e262cde";
+    rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-VkZ+mqCmqWQafdN0nQxJdPxbiaZ37/0jOhLvVbnGLvQ=";
+    sha256 = "sha256-N96Nb7G6hqfh8DyMtHbttl/fRZUkS8f2KfPSqeMAhHY=";
   };
 
   nativeBuildInputs = [
@@ -62,10 +62,12 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
-    mkdir -p $out/bin $out/lib/vst3
+    mkdir -p $out/bin $out/lib/vst3 $out/lib/lv2 $out/lib/clap
     cd Odin2_artefacts/Release
+    cp Standalone/Odin2 $out/bin
     cp -r VST3/Odin2.vst3 $out/lib/vst3
-    cp -r Standalone/Odin2 $out/bin
+    cp -r LV2/Odin2.lv2 $out/lib/lv2
+    cp -r CLAP/Odin2.clap $out/lib/clap
 '';
 
 
diff --git a/pkgs/applications/audio/open-stage-control/default.nix b/pkgs/applications/audio/open-stage-control/default.nix
index cf5a64132d47a..11b5f26ee0354 100644
--- a/pkgs/applications/audio/open-stage-control/default.nix
+++ b/pkgs/applications/audio/open-stage-control/default.nix
@@ -1,29 +1,26 @@
-{ pkgs, stdenv, lib, fetchFromGitHub, makeBinaryWrapper, makeDesktopItem, copyDesktopItems, nodejs, electron, python3, ... }:
+{ lib, buildNpmPackage, fetchFromGitHub, makeBinaryWrapper, makeDesktopItem, copyDesktopItems, electron, python3 }:
 
-let
-  nodeComposition = import ./node-composition.nix {
-    inherit pkgs nodejs;
-    inherit (stdenv.hostPlatform) system;
-  };
-in
-
-nodeComposition.package.override rec {
+buildNpmPackage rec {
   pname = "open-stage-control";
-  version = "1.18.3";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "jean-emmanuel";
     repo = "open-stage-control";
     rev = "v${version}";
-    hash = "sha256-AXdPxTauy2rMRMdfUjkfTjbNDgOKmoiGUeeLak0wu84=";
+    hash = "sha256-XgwlRdwUSl4gIRKqk6BnMAKarVvp291zk8vmNkuRWKo=";
   };
 
-  strictDeps = true;
+  patches = [
+    # Use generated package-lock.json since upstream does not provide one in releases
+    ./package-lock.json.patch
+  ];
+
+  npmDepsHash = "sha256-UF3pZ+SlrgDLqntciXRNbWfpPMtQw1DXl41x9r37QN4=";
 
   nativeBuildInputs = [
     copyDesktopItems
     makeBinaryWrapper
-    nodejs
     python3
   ];
 
@@ -33,14 +30,19 @@ nodeComposition.package.override rec {
 
   doInstallCheck = true;
 
-  preRebuild = ''
-    # remove electron to prevent building since nixpkgs electron is used instead
-    rm -r node_modules/electron
-  '';
+  makeCacheWritable = true;
+  npmFlags = [ "--legacy-peer-deps" ];
+
+  # Override installPhase so we can copy the only folders that matter (app and node_modules)
+  installPhase = ''
+    runHook preInstall
 
-  postInstall = ''
-    # build assets
-    npm run build
+    # prune unused deps
+    npm prune --omit dev $npmFlags
+
+    # copy built app and node_modules directories
+    mkdir -p $out/lib/node_modules/open-stage-control
+    cp -r app node_modules $out/lib/node_modules/open-stage-control/
 
     # copy icon
     install -Dm644 resources/images/logo.png $out/share/icons/hicolor/256x256/apps/open-stage-control.png
@@ -52,6 +54,8 @@ nodeComposition.package.override rec {
       --add-flags $out/lib/node_modules/open-stage-control/app \
       --prefix PYTHONPATH : "$PYTHONPATH" \
       --prefix PATH : '${lib.makeBinPath [ python3 ]}'
+
+    runHook postInstall
   '';
 
   installCheckPhase = ''
diff --git a/pkgs/applications/audio/open-stage-control/node-composition.nix b/pkgs/applications/audio/open-stage-control/node-composition.nix
deleted file mode 100644
index 2e810490ca8d8..0000000000000
--- a/pkgs/applications/audio/open-stage-control/node-composition.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file has been generated by node2nix 1.11.1. Do not edit!
-
-{pkgs ? import <nixpkgs> {
-    inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-16_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/applications/audio/open-stage-control/node-packages.nix b/pkgs/applications/audio/open-stage-control/node-packages.nix
deleted file mode 100644
index 778fb62ee2336..0000000000000
--- a/pkgs/applications/audio/open-stage-control/node-packages.nix
+++ /dev/null
@@ -1,9220 +0,0 @@
-# This file has been generated by node2nix 1.11.1. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "7zip-0.0.6" = {
-      name = "7zip";
-      packageName = "7zip";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/7zip/-/7zip-0.0.6.tgz";
-        sha512 = "ns8vKbKhIQm338AeWo/YdDSWil3pldwCMoyR2npoM2qDAzF8Vuko8BtDxpNt/wE15SXOh5K5WbjSLR4kTOAHLA==";
-      };
-    };
-    "@ampproject/remapping-2.2.0" = {
-      name = "_at_ampproject_slash_remapping";
-      packageName = "@ampproject/remapping";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz";
-        sha512 = "qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==";
-      };
-    };
-    "@babel/code-frame-7.18.6" = {
-      name = "_at_babel_slash_code-frame";
-      packageName = "@babel/code-frame";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz";
-        sha512 = "TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==";
-      };
-    };
-    "@babel/compat-data-7.19.4" = {
-      name = "_at_babel_slash_compat-data";
-      packageName = "@babel/compat-data";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz";
-        sha512 = "CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==";
-      };
-    };
-    "@babel/core-7.18.0" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.18.0.tgz";
-        sha512 = "Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw==";
-      };
-    };
-    "@babel/eslint-parser-7.17.0" = {
-      name = "_at_babel_slash_eslint-parser";
-      packageName = "@babel/eslint-parser";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz";
-        sha512 = "PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==";
-      };
-    };
-    "@babel/generator-7.19.6" = {
-      name = "_at_babel_slash_generator";
-      packageName = "@babel/generator";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.19.6.tgz";
-        sha512 = "oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA==";
-      };
-    };
-    "@babel/helper-annotate-as-pure-7.18.6" = {
-      name = "_at_babel_slash_helper-annotate-as-pure";
-      packageName = "@babel/helper-annotate-as-pure";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz";
-        sha512 = "duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==";
-      };
-    };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.18.9" = {
-      name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
-      packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz";
-        sha512 = "yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==";
-      };
-    };
-    "@babel/helper-compilation-targets-7.19.3" = {
-      name = "_at_babel_slash_helper-compilation-targets";
-      packageName = "@babel/helper-compilation-targets";
-      version = "7.19.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz";
-        sha512 = "65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==";
-      };
-    };
-    "@babel/helper-create-class-features-plugin-7.19.0" = {
-      name = "_at_babel_slash_helper-create-class-features-plugin";
-      packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz";
-        sha512 = "NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==";
-      };
-    };
-    "@babel/helper-create-regexp-features-plugin-7.19.0" = {
-      name = "_at_babel_slash_helper-create-regexp-features-plugin";
-      packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz";
-        sha512 = "htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==";
-      };
-    };
-    "@babel/helper-define-polyfill-provider-0.3.3" = {
-      name = "_at_babel_slash_helper-define-polyfill-provider";
-      packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz";
-        sha512 = "z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==";
-      };
-    };
-    "@babel/helper-environment-visitor-7.18.9" = {
-      name = "_at_babel_slash_helper-environment-visitor";
-      packageName = "@babel/helper-environment-visitor";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz";
-        sha512 = "3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==";
-      };
-    };
-    "@babel/helper-explode-assignable-expression-7.18.6" = {
-      name = "_at_babel_slash_helper-explode-assignable-expression";
-      packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz";
-        sha512 = "eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==";
-      };
-    };
-    "@babel/helper-function-name-7.19.0" = {
-      name = "_at_babel_slash_helper-function-name";
-      packageName = "@babel/helper-function-name";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz";
-        sha512 = "WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==";
-      };
-    };
-    "@babel/helper-hoist-variables-7.18.6" = {
-      name = "_at_babel_slash_helper-hoist-variables";
-      packageName = "@babel/helper-hoist-variables";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz";
-        sha512 = "UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==";
-      };
-    };
-    "@babel/helper-member-expression-to-functions-7.18.9" = {
-      name = "_at_babel_slash_helper-member-expression-to-functions";
-      packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz";
-        sha512 = "RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==";
-      };
-    };
-    "@babel/helper-module-imports-7.18.6" = {
-      name = "_at_babel_slash_helper-module-imports";
-      packageName = "@babel/helper-module-imports";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz";
-        sha512 = "0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==";
-      };
-    };
-    "@babel/helper-module-transforms-7.19.6" = {
-      name = "_at_babel_slash_helper-module-transforms";
-      packageName = "@babel/helper-module-transforms";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz";
-        sha512 = "fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==";
-      };
-    };
-    "@babel/helper-optimise-call-expression-7.18.6" = {
-      name = "_at_babel_slash_helper-optimise-call-expression";
-      packageName = "@babel/helper-optimise-call-expression";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz";
-        sha512 = "HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==";
-      };
-    };
-    "@babel/helper-plugin-utils-7.19.0" = {
-      name = "_at_babel_slash_helper-plugin-utils";
-      packageName = "@babel/helper-plugin-utils";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz";
-        sha512 = "40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==";
-      };
-    };
-    "@babel/helper-remap-async-to-generator-7.18.9" = {
-      name = "_at_babel_slash_helper-remap-async-to-generator";
-      packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz";
-        sha512 = "dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==";
-      };
-    };
-    "@babel/helper-replace-supers-7.19.1" = {
-      name = "_at_babel_slash_helper-replace-supers";
-      packageName = "@babel/helper-replace-supers";
-      version = "7.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz";
-        sha512 = "T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==";
-      };
-    };
-    "@babel/helper-simple-access-7.19.4" = {
-      name = "_at_babel_slash_helper-simple-access";
-      packageName = "@babel/helper-simple-access";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz";
-        sha512 = "f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==";
-      };
-    };
-    "@babel/helper-skip-transparent-expression-wrappers-7.18.9" = {
-      name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
-      packageName = "@babel/helper-skip-transparent-expression-wrappers";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz";
-        sha512 = "imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==";
-      };
-    };
-    "@babel/helper-split-export-declaration-7.18.6" = {
-      name = "_at_babel_slash_helper-split-export-declaration";
-      packageName = "@babel/helper-split-export-declaration";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz";
-        sha512 = "bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==";
-      };
-    };
-    "@babel/helper-string-parser-7.19.4" = {
-      name = "_at_babel_slash_helper-string-parser";
-      packageName = "@babel/helper-string-parser";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz";
-        sha512 = "nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==";
-      };
-    };
-    "@babel/helper-validator-identifier-7.19.1" = {
-      name = "_at_babel_slash_helper-validator-identifier";
-      packageName = "@babel/helper-validator-identifier";
-      version = "7.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz";
-        sha512 = "awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==";
-      };
-    };
-    "@babel/helper-validator-option-7.18.6" = {
-      name = "_at_babel_slash_helper-validator-option";
-      packageName = "@babel/helper-validator-option";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz";
-        sha512 = "XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==";
-      };
-    };
-    "@babel/helper-wrap-function-7.19.0" = {
-      name = "_at_babel_slash_helper-wrap-function";
-      packageName = "@babel/helper-wrap-function";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz";
-        sha512 = "txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==";
-      };
-    };
-    "@babel/helpers-7.19.4" = {
-      name = "_at_babel_slash_helpers";
-      packageName = "@babel/helpers";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz";
-        sha512 = "G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==";
-      };
-    };
-    "@babel/highlight-7.18.6" = {
-      name = "_at_babel_slash_highlight";
-      packageName = "@babel/highlight";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz";
-        sha512 = "u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==";
-      };
-    };
-    "@babel/parser-7.19.6" = {
-      name = "_at_babel_slash_parser";
-      packageName = "@babel/parser";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.19.6.tgz";
-        sha512 = "h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==";
-      };
-    };
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6" = {
-      name = "_at_babel_slash_plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      packageName = "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz";
-        sha512 = "Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==";
-      };
-    };
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9" = {
-      name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      version = "7.18.9";
-      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.18.9.tgz";
-        sha512 = "AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==";
-      };
-    };
-    "@babel/plugin-proposal-async-generator-functions-7.19.1" = {
-      name = "_at_babel_slash_plugin-proposal-async-generator-functions";
-      packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz";
-        sha512 = "0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==";
-      };
-    };
-    "@babel/plugin-proposal-class-properties-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-class-properties";
-      packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz";
-        sha512 = "cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==";
-      };
-    };
-    "@babel/plugin-proposal-class-static-block-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-class-static-block";
-      packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz";
-        sha512 = "+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==";
-      };
-    };
-    "@babel/plugin-proposal-dynamic-import-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-dynamic-import";
-      packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz";
-        sha512 = "1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==";
-      };
-    };
-    "@babel/plugin-proposal-export-namespace-from-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-export-namespace-from";
-      packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz";
-        sha512 = "k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==";
-      };
-    };
-    "@babel/plugin-proposal-json-strings-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-json-strings";
-      packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz";
-        sha512 = "lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==";
-      };
-    };
-    "@babel/plugin-proposal-logical-assignment-operators-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
-      packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz";
-        sha512 = "128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==";
-      };
-    };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
-      packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz";
-        sha512 = "wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==";
-      };
-    };
-    "@babel/plugin-proposal-numeric-separator-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-numeric-separator";
-      packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz";
-        sha512 = "ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==";
-      };
-    };
-    "@babel/plugin-proposal-object-rest-spread-7.18.0" = {
-      name = "_at_babel_slash_plugin-proposal-object-rest-spread";
-      packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz";
-        sha512 = "nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==";
-      };
-    };
-    "@babel/plugin-proposal-optional-catch-binding-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
-      packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz";
-        sha512 = "Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==";
-      };
-    };
-    "@babel/plugin-proposal-optional-chaining-7.18.9" = {
-      name = "_at_babel_slash_plugin-proposal-optional-chaining";
-      packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz";
-        sha512 = "v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==";
-      };
-    };
-    "@babel/plugin-proposal-private-methods-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-private-methods";
-      packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz";
-        sha512 = "nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==";
-      };
-    };
-    "@babel/plugin-proposal-private-property-in-object-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-private-property-in-object";
-      packageName = "@babel/plugin-proposal-private-property-in-object";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz";
-        sha512 = "9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==";
-      };
-    };
-    "@babel/plugin-proposal-unicode-property-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
-      packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz";
-        sha512 = "2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==";
-      };
-    };
-    "@babel/plugin-syntax-async-generators-7.8.4" = {
-      name = "_at_babel_slash_plugin-syntax-async-generators";
-      packageName = "@babel/plugin-syntax-async-generators";
-      version = "7.8.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz";
-        sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==";
-      };
-    };
-    "@babel/plugin-syntax-class-properties-7.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-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-import-assertions-7.18.6" = {
-      name = "_at_babel_slash_plugin-syntax-import-assertions";
-      packageName = "@babel/plugin-syntax-import-assertions";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz";
-        sha512 = "/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==";
-      };
-    };
-    "@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-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-transform-arrow-functions-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-arrow-functions";
-      packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz";
-        sha512 = "9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==";
-      };
-    };
-    "@babel/plugin-transform-async-to-generator-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-async-to-generator";
-      packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz";
-        sha512 = "ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==";
-      };
-    };
-    "@babel/plugin-transform-block-scoped-functions-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-block-scoped-functions";
-      packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz";
-        sha512 = "ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==";
-      };
-    };
-    "@babel/plugin-transform-block-scoping-7.19.4" = {
-      name = "_at_babel_slash_plugin-transform-block-scoping";
-      packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz";
-        sha512 = "934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==";
-      };
-    };
-    "@babel/plugin-transform-classes-7.19.0" = {
-      name = "_at_babel_slash_plugin-transform-classes";
-      packageName = "@babel/plugin-transform-classes";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz";
-        sha512 = "YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==";
-      };
-    };
-    "@babel/plugin-transform-computed-properties-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-computed-properties";
-      packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz";
-        sha512 = "+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==";
-      };
-    };
-    "@babel/plugin-transform-destructuring-7.19.4" = {
-      name = "_at_babel_slash_plugin-transform-destructuring";
-      packageName = "@babel/plugin-transform-destructuring";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz";
-        sha512 = "t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==";
-      };
-    };
-    "@babel/plugin-transform-dotall-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-dotall-regex";
-      packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz";
-        sha512 = "6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==";
-      };
-    };
-    "@babel/plugin-transform-duplicate-keys-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-duplicate-keys";
-      packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz";
-        sha512 = "d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==";
-      };
-    };
-    "@babel/plugin-transform-exponentiation-operator-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-exponentiation-operator";
-      packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz";
-        sha512 = "wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==";
-      };
-    };
-    "@babel/plugin-transform-for-of-7.18.8" = {
-      name = "_at_babel_slash_plugin-transform-for-of";
-      packageName = "@babel/plugin-transform-for-of";
-      version = "7.18.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz";
-        sha512 = "yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==";
-      };
-    };
-    "@babel/plugin-transform-function-name-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-function-name";
-      packageName = "@babel/plugin-transform-function-name";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz";
-        sha512 = "WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==";
-      };
-    };
-    "@babel/plugin-transform-literals-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-literals";
-      packageName = "@babel/plugin-transform-literals";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz";
-        sha512 = "IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==";
-      };
-    };
-    "@babel/plugin-transform-member-expression-literals-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-member-expression-literals";
-      packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz";
-        sha512 = "qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==";
-      };
-    };
-    "@babel/plugin-transform-modules-amd-7.19.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-amd";
-      packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz";
-        sha512 = "uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==";
-      };
-    };
-    "@babel/plugin-transform-modules-commonjs-7.19.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-commonjs";
-      packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz";
-        sha512 = "8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==";
-      };
-    };
-    "@babel/plugin-transform-modules-systemjs-7.19.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-systemjs";
-      packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz";
-        sha512 = "fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==";
-      };
-    };
-    "@babel/plugin-transform-modules-umd-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-modules-umd";
-      packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz";
-        sha512 = "dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==";
-      };
-    };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.19.1" = {
-      name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
-      packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz";
-        sha512 = "oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==";
-      };
-    };
-    "@babel/plugin-transform-new-target-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-new-target";
-      packageName = "@babel/plugin-transform-new-target";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz";
-        sha512 = "DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==";
-      };
-    };
-    "@babel/plugin-transform-object-super-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-object-super";
-      packageName = "@babel/plugin-transform-object-super";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz";
-        sha512 = "uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==";
-      };
-    };
-    "@babel/plugin-transform-parameters-7.18.8" = {
-      name = "_at_babel_slash_plugin-transform-parameters";
-      packageName = "@babel/plugin-transform-parameters";
-      version = "7.18.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz";
-        sha512 = "ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==";
-      };
-    };
-    "@babel/plugin-transform-property-literals-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-property-literals";
-      packageName = "@babel/plugin-transform-property-literals";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz";
-        sha512 = "cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==";
-      };
-    };
-    "@babel/plugin-transform-regenerator-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-regenerator";
-      packageName = "@babel/plugin-transform-regenerator";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz";
-        sha512 = "poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==";
-      };
-    };
-    "@babel/plugin-transform-reserved-words-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-reserved-words";
-      packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz";
-        sha512 = "oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==";
-      };
-    };
-    "@babel/plugin-transform-shorthand-properties-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-shorthand-properties";
-      packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz";
-        sha512 = "eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==";
-      };
-    };
-    "@babel/plugin-transform-spread-7.19.0" = {
-      name = "_at_babel_slash_plugin-transform-spread";
-      packageName = "@babel/plugin-transform-spread";
-      version = "7.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz";
-        sha512 = "RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==";
-      };
-    };
-    "@babel/plugin-transform-sticky-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-sticky-regex";
-      packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz";
-        sha512 = "kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==";
-      };
-    };
-    "@babel/plugin-transform-template-literals-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-template-literals";
-      packageName = "@babel/plugin-transform-template-literals";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz";
-        sha512 = "S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==";
-      };
-    };
-    "@babel/plugin-transform-typeof-symbol-7.18.9" = {
-      name = "_at_babel_slash_plugin-transform-typeof-symbol";
-      packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.18.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz";
-        sha512 = "SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==";
-      };
-    };
-    "@babel/plugin-transform-unicode-escapes-7.18.10" = {
-      name = "_at_babel_slash_plugin-transform-unicode-escapes";
-      packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz";
-        sha512 = "kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==";
-      };
-    };
-    "@babel/plugin-transform-unicode-regex-7.18.6" = {
-      name = "_at_babel_slash_plugin-transform-unicode-regex";
-      packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz";
-        sha512 = "gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==";
-      };
-    };
-    "@babel/polyfill-7.12.1" = {
-      name = "_at_babel_slash_polyfill";
-      packageName = "@babel/polyfill";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz";
-        sha512 = "X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==";
-      };
-    };
-    "@babel/preset-env-7.18.0" = {
-      name = "_at_babel_slash_preset-env";
-      packageName = "@babel/preset-env";
-      version = "7.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.0.tgz";
-        sha512 = "cP74OMs7ECLPeG1reiCQ/D/ypyOxgfm8uR6HRYV23vTJ7Lu1nbgj9DQDo/vH59gnn7GOAwtTDPPYV4aXzsMKHA==";
-      };
-    };
-    "@babel/preset-modules-0.1.5" = {
-      name = "_at_babel_slash_preset-modules";
-      packageName = "@babel/preset-modules";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz";
-        sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
-      };
-    };
-    "@babel/runtime-7.19.4" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz";
-        sha512 = "EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==";
-      };
-    };
-    "@babel/template-7.18.10" = {
-      name = "_at_babel_slash_template";
-      packageName = "@babel/template";
-      version = "7.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz";
-        sha512 = "TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==";
-      };
-    };
-    "@babel/traverse-7.19.6" = {
-      name = "_at_babel_slash_traverse";
-      packageName = "@babel/traverse";
-      version = "7.19.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.6.tgz";
-        sha512 = "6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ==";
-      };
-    };
-    "@babel/types-7.19.4" = {
-      name = "_at_babel_slash_types";
-      packageName = "@babel/types";
-      version = "7.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz";
-        sha512 = "M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==";
-      };
-    };
-    "@electron/get-1.14.1" = {
-      name = "_at_electron_slash_get";
-      packageName = "@electron/get";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz";
-        sha512 = "BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==";
-      };
-    };
-    "@electron/remote-2.0.8" = {
-      name = "_at_electron_slash_remote";
-      packageName = "@electron/remote";
-      version = "2.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz";
-        sha512 = "P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==";
-      };
-    };
-    "@eslint/eslintrc-1.3.3" = {
-      name = "_at_eslint_slash_eslintrc";
-      packageName = "@eslint/eslintrc";
-      version = "1.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz";
-        sha512 = "uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==";
-      };
-    };
-    "@gar/promisify-1.1.3" = {
-      name = "_at_gar_slash_promisify";
-      packageName = "@gar/promisify";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz";
-        sha512 = "k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==";
-      };
-    };
-    "@humanwhocodes/config-array-0.9.5" = {
-      name = "_at_humanwhocodes_slash_config-array";
-      packageName = "@humanwhocodes/config-array";
-      version = "0.9.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz";
-        sha512 = "ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==";
-      };
-    };
-    "@humanwhocodes/object-schema-1.2.1" = {
-      name = "_at_humanwhocodes_slash_object-schema";
-      packageName = "@humanwhocodes/object-schema";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz";
-        sha512 = "ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==";
-      };
-    };
-    "@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/gen-mapping-0.3.2" = {
-      name = "_at_jridgewell_slash_gen-mapping";
-      packageName = "@jridgewell/gen-mapping";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz";
-        sha512 = "mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==";
-      };
-    };
-    "@jridgewell/resolve-uri-3.1.0" = {
-      name = "_at_jridgewell_slash_resolve-uri";
-      packageName = "@jridgewell/resolve-uri";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz";
-        sha512 = "F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==";
-      };
-    };
-    "@jridgewell/set-array-1.1.2" = {
-      name = "_at_jridgewell_slash_set-array";
-      packageName = "@jridgewell/set-array";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz";
-        sha512 = "xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==";
-      };
-    };
-    "@jridgewell/sourcemap-codec-1.4.14" = {
-      name = "_at_jridgewell_slash_sourcemap-codec";
-      packageName = "@jridgewell/sourcemap-codec";
-      version = "1.4.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz";
-        sha512 = "XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==";
-      };
-    };
-    "@jridgewell/trace-mapping-0.3.17" = {
-      name = "_at_jridgewell_slash_trace-mapping";
-      packageName = "@jridgewell/trace-mapping";
-      version = "0.3.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz";
-        sha512 = "MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==";
-      };
-    };
-    "@npmcli/fs-1.1.1" = {
-      name = "_at_npmcli_slash_fs";
-      packageName = "@npmcli/fs";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz";
-        sha512 = "8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==";
-      };
-    };
-    "@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==";
-      };
-    };
-    "@sindresorhus/is-0.14.0" = {
-      name = "_at_sindresorhus_slash_is";
-      packageName = "@sindresorhus/is";
-      version = "0.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz";
-        sha512 = "9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==";
-      };
-    };
-    "@szmarczak/http-timer-1.1.2" = {
-      name = "_at_szmarczak_slash_http-timer";
-      packageName = "@szmarczak/http-timer";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
-        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
-      };
-    };
-    "@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/glob-7.2.0" = {
-      name = "_at_types_slash_glob";
-      packageName = "@types/glob";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz";
-        sha512 = "ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==";
-      };
-    };
-    "@types/minimatch-5.1.2" = {
-      name = "_at_types_slash_minimatch";
-      packageName = "@types/minimatch";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz";
-        sha512 = "K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==";
-      };
-    };
-    "@types/minimist-1.2.2" = {
-      name = "_at_types_slash_minimist";
-      packageName = "@types/minimist";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz";
-        sha512 = "jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==";
-      };
-    };
-    "@types/node-16.11.68" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "16.11.68";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.68.tgz";
-        sha512 = "JkRpuVz3xCNCWaeQ5EHLR/6woMbHZz/jZ7Kmc63AkU+1HxnoUugzSWMck7dsR4DvNYX8jp9wTi9K7WvnxOIQZQ==";
-      };
-    };
-    "@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/yauzl-2.10.0" = {
-      name = "_at_types_slash_yauzl";
-      packageName = "@types/yauzl";
-      version = "2.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz";
-        sha512 = "Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==";
-      };
-    };
-    "JSONStream-1.3.5" = {
-      name = "JSONStream";
-      packageName = "JSONStream";
-      version = "1.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz";
-        sha512 = "E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==";
-      };
-    };
-    "abbrev-1.1.1" = {
-      name = "abbrev";
-      packageName = "abbrev";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
-        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
-      };
-    };
-    "acorn-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.8.0" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "8.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz";
-        sha512 = "QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==";
-      };
-    };
-    "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-node-1.8.2" = {
-      name = "acorn-node";
-      packageName = "acorn-node";
-      version = "1.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz";
-        sha512 = "8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "agentkeepalive-4.2.1" = {
-      name = "agentkeepalive";
-      packageName = "agentkeepalive";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz";
-        sha512 = "Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "ansi-align-3.0.1" = {
-      name = "ansi-align";
-      packageName = "ansi-align";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz";
-        sha512 = "IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==";
-      };
-    };
-    "ansi-html-0.0.9" = {
-      name = "ansi-html";
-      packageName = "ansi-html";
-      version = "0.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz";
-        sha512 = "ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==";
-      };
-    };
-    "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";
-        sha512 = "TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==";
-      };
-    };
-    "ansi-regex-5.0.1" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz";
-        sha512 = "quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==";
-      };
-    };
-    "ansi-styles-2.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha512 = "kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "apache-crypt-1.2.6" = {
-      name = "apache-crypt";
-      packageName = "apache-crypt";
-      version = "1.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz";
-        sha512 = "072WetlM4blL8PREJVeY+WHiUh1R5VNt2HfceGS8aKqttPHcmqE5pkKuXPz/ULmJOFkc8Hw3kfKl6vy7Qka6DA==";
-      };
-    };
-    "apache-md5-1.1.8" = {
-      name = "apache-md5";
-      packageName = "apache-md5";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz";
-        sha512 = "FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==";
-      };
-    };
-    "aproba-2.0.0" = {
-      name = "aproba";
-      packageName = "aproba";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz";
-        sha512 = "lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==";
-      };
-    };
-    "are-we-there-yet-2.0.0" = {
-      name = "are-we-there-yet";
-      packageName = "are-we-there-yet";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz";
-        sha512 = "Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==";
-      };
-    };
-    "are-we-there-yet-3.0.1" = {
-      name = "are-we-there-yet";
-      packageName = "are-we-there-yet";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz";
-        sha512 = "QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==";
-      };
-    };
-    "argparse-2.0.1" = {
-      name = "argparse";
-      packageName = "argparse";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz";
-        sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-        sha512 = "3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==";
-      };
-    };
-    "asar-3.2.0" = {
-      name = "asar";
-      packageName = "asar";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz";
-        sha512 = "COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==";
-      };
-    };
-    "asn1-0.2.6" = {
-      name = "asn1";
-      packageName = "asn1";
-      version = "0.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz";
-        sha512 = "ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "assert-plus-1.0.0" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha512 = "NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==";
-      };
-    };
-    "async-foreach-0.1.3" = {
-      name = "async-foreach";
-      packageName = "async-foreach";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz";
-        sha512 = "VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==";
-      };
-    };
-    "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";
-        sha512 = "Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==";
-      };
-    };
-    "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==";
-      };
-    };
-    "author-regex-1.0.0" = {
-      name = "author-regex";
-      packageName = "author-regex";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz";
-        sha512 = "KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==";
-      };
-    };
-    "available-typed-arrays-1.0.5" = {
-      name = "available-typed-arrays";
-      packageName = "available-typed-arrays";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz";
-        sha512 = "DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==";
-      };
-    };
-    "aws-sign2-0.7.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha512 = "08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==";
-      };
-    };
-    "aws4-1.11.0" = {
-      name = "aws4";
-      packageName = "aws4";
-      version = "1.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz";
-        sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
-      };
-    };
-    "babel-plugin-polyfill-corejs2-0.3.3" = {
-      name = "babel-plugin-polyfill-corejs2";
-      packageName = "babel-plugin-polyfill-corejs2";
-      version = "0.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz";
-        sha512 = "8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==";
-      };
-    };
-    "babel-plugin-polyfill-corejs3-0.5.3" = {
-      name = "babel-plugin-polyfill-corejs3";
-      packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz";
-        sha512 = "zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==";
-      };
-    };
-    "babel-plugin-polyfill-regenerator-0.3.1" = {
-      name = "babel-plugin-polyfill-regenerator";
-      packageName = "babel-plugin-polyfill-regenerator";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz";
-        sha512 = "Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==";
-      };
-    };
-    "babelify-10.0.0" = {
-      name = "babelify";
-      packageName = "babelify";
-      version = "10.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz";
-        sha512 = "X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "balanced-match-2.0.0" = {
-      name = "balanced-match";
-      packageName = "balanced-match";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz";
-        sha512 = "1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==";
-      };
-    };
-    "base64-js-1.5.1" = {
-      name = "base64-js";
-      packageName = "base64-js";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
-        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
-      };
-    };
-    "bcrypt-pbkdf-1.0.2" = {
-      name = "bcrypt-pbkdf";
-      packageName = "bcrypt-pbkdf";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
-        sha512 = "qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==";
-      };
-    };
-    "bcryptjs-2.4.3" = {
-      name = "bcryptjs";
-      packageName = "bcryptjs";
-      version = "2.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz";
-        sha512 = "V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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.1" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz";
-        sha512 = "eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==";
-      };
-    };
-    "bonjour-git+https://github.com/jean-emmanuel/bonjour" = {
-      name = "bonjour";
-      packageName = "bonjour";
-      version = "4.0.0";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/bonjour";
-        rev = "33d7fa28c568d05cb7ffda1fd2b20f4cc364e273";
-        sha256 = "3f9cd813a3cd8ac6ec02421bd590922a4722a0dd89416dc580df6ee1f34e48b0";
-      };
-    };
-    "boolean-3.2.0" = {
-      name = "boolean";
-      packageName = "boolean";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz";
-        sha512 = "d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==";
-      };
-    };
-    "boxen-5.1.2" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz";
-        sha512 = "9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==";
-      };
-    };
-    "brace-0.11.1" = {
-      name = "brace";
-      packageName = "brace";
-      version = "0.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz";
-        sha512 = "Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q==";
-      };
-    };
-    "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==";
-      };
-    };
-    "brace-expansion-2.0.1" = {
-      name = "brace-expansion";
-      packageName = "brace-expansion";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz";
-        sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==";
-      };
-    };
-    "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";
-        sha512 = "cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==";
-      };
-    };
-    "browser-pack-6.1.0" = {
-      name = "browser-pack";
-      packageName = "browser-pack";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz";
-        sha512 = "erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==";
-      };
-    };
-    "browser-process-hrtime-0.1.3" = {
-      name = "browser-process-hrtime";
-      packageName = "browser-process-hrtime";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
-        sha512 = "bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==";
-      };
-    };
-    "browser-resolve-2.0.0" = {
-      name = "browser-resolve";
-      packageName = "browser-resolve";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz";
-        sha512 = "7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==";
-      };
-    };
-    "browserify-17.0.0" = {
-      name = "browserify";
-      packageName = "browserify";
-      version = "17.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz";
-        sha512 = "SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==";
-      };
-    };
-    "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.21.4" = {
-      name = "browserslist";
-      packageName = "browserslist";
-      version = "4.21.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz";
-        sha512 = "CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==";
-      };
-    };
-    "buffer-5.2.1" = {
-      name = "buffer";
-      packageName = "buffer";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz";
-        sha512 = "c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==";
-      };
-    };
-    "buffer-alloc-1.2.0" = {
-      name = "buffer-alloc";
-      packageName = "buffer-alloc";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz";
-        sha512 = "CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==";
-      };
-    };
-    "buffer-alloc-unsafe-1.1.0" = {
-      name = "buffer-alloc-unsafe";
-      packageName = "buffer-alloc-unsafe";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz";
-        sha512 = "TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==";
-      };
-    };
-    "buffer-crc32-0.2.13" = {
-      name = "buffer-crc32";
-      packageName = "buffer-crc32";
-      version = "0.2.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz";
-        sha512 = "VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==";
-      };
-    };
-    "buffer-fill-1.0.0" = {
-      name = "buffer-fill";
-      packageName = "buffer-fill";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz";
-        sha512 = "T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==";
-      };
-    };
-    "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";
-        sha512 = "571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==";
-      };
-    };
-    "bufferutil-4.0.7" = {
-      name = "bufferutil";
-      packageName = "bufferutil";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz";
-        sha512 = "kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==";
-      };
-    };
-    "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";
-        sha512 = "HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "cacheable-request-6.1.0" = {
-      name = "cacheable-request";
-      packageName = "cacheable-request";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz";
-        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
-      };
-    };
-    "cached-path-relative-1.1.0" = {
-      name = "cached-path-relative";
-      packageName = "cached-path-relative";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz";
-        sha512 = "WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==";
-      };
-    };
-    "call-bind-1.0.2" = {
-      name = "call-bind";
-      packageName = "call-bind";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
-        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
-      };
-    };
-    "callsites-3.1.0" = {
-      name = "callsites";
-      packageName = "callsites";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";
-        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
-      };
-    };
-    "camel-case-3.0.0" = {
-      name = "camel-case";
-      packageName = "camel-case";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz";
-        sha512 = "+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==";
-      };
-    };
-    "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.3.0" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "6.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz";
-        sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
-      };
-    };
-    "camelcase-keys-6.2.2" = {
-      name = "camelcase-keys";
-      packageName = "camelcase-keys";
-      version = "6.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz";
-        sha512 = "YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==";
-      };
-    };
-    "caniuse-lite-1.0.30001423" = {
-      name = "caniuse-lite";
-      packageName = "caniuse-lite";
-      version = "1.0.30001423";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001423.tgz";
-        sha512 = "09iwWGOlifvE1XuHokFMP7eR38a0JnajoyL3/i87c8ZjRWRrdKo1fqjNfugfBD0UDBIOz0U+jtNhJ0EPm1VleQ==";
-      };
-    };
-    "caseless-0.12.0" = {
-      name = "caseless";
-      packageName = "caseless";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
-        sha512 = "4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==";
-      };
-    };
-    "chalk-1.1.3" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
-        sha512 = "U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==";
-      };
-    };
-    "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==";
-      };
-    };
-    "chokidar-3.5.3" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz";
-        sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "chroma-js-2.4.2" = {
-      name = "chroma-js";
-      packageName = "chroma-js";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz";
-        sha512 = "U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==";
-      };
-    };
-    "chromium-pickle-js-0.2.0" = {
-      name = "chromium-pickle-js";
-      packageName = "chromium-pickle-js";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz";
-        sha512 = "1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "clean-stack-2.2.0" = {
-      name = "clean-stack";
-      packageName = "clean-stack";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz";
-        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
-      };
-    };
-    "cli-boxes-2.2.1" = {
-      name = "cli-boxes";
-      packageName = "cli-boxes";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz";
-        sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
-      };
-    };
-    "cliui-7.0.4" = {
-      name = "cliui";
-      packageName = "cliui";
-      version = "7.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz";
-        sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
-      };
-    };
-    "clone-response-1.0.3" = {
-      name = "clone-response";
-      packageName = "clone-response";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz";
-        sha512 = "ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==";
-      };
-    };
-    "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";
-        sha512 = "72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==";
-      };
-    };
-    "color-name-1.1.4" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
-        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
-      };
-    };
-    "color-support-1.1.3" = {
-      name = "color-support";
-      packageName = "color-support";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz";
-        sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
-      };
-    };
-    "combine-source-map-0.8.0" = {
-      name = "combine-source-map";
-      packageName = "combine-source-map";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz";
-        sha512 = "UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==";
-      };
-    };
-    "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-5.1.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz";
-        sha512 = "P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==";
-      };
-    };
-    "compare-version-0.1.2" = {
-      name = "compare-version";
-      packageName = "compare-version";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz";
-        sha512 = "pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==";
-      };
-    };
-    "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";
-        sha512 = "/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==";
-      };
-    };
-    "concat-stream-1.6.2" = {
-      name = "concat-stream";
-      packageName = "concat-stream";
-      version = "1.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
-        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
-      };
-    };
-    "config-chain-1.1.13" = {
-      name = "config-chain";
-      packageName = "config-chain";
-      version = "1.1.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz";
-        sha512 = "qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==";
-      };
-    };
-    "configstore-5.0.1" = {
-      name = "configstore";
-      packageName = "configstore";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz";
-        sha512 = "aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==";
-      };
-    };
-    "console-browserify-1.2.0" = {
-      name = "console-browserify";
-      packageName = "console-browserify";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";
-        sha512 = "ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==";
-      };
-    };
-    "console-control-strings-1.1.0" = {
-      name = "console-control-strings";
-      packageName = "console-control-strings";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
-        sha512 = "ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==";
-      };
-    };
-    "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";
-        sha512 = "xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==";
-      };
-    };
-    "convert-source-map-1.1.3" = {
-      name = "convert-source-map";
-      packageName = "convert-source-map";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz";
-        sha512 = "Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==";
-      };
-    };
-    "convert-source-map-1.9.0" = {
-      name = "convert-source-map";
-      packageName = "convert-source-map";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz";
-        sha512 = "ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==";
-      };
-    };
-    "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.5" = {
-      name = "core-js";
-      packageName = "core-js";
-      version = "3.22.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz";
-        sha512 = "VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==";
-      };
-    };
-    "core-js-compat-3.25.5" = {
-      name = "core-js-compat";
-      packageName = "core-js-compat";
-      version = "3.25.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz";
-        sha512 = "ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==";
-      };
-    };
-    "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";
-        sha512 = "3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "cpr-3.0.1" = {
-      name = "cpr";
-      packageName = "cpr";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cpr/-/cpr-3.0.1.tgz";
-        sha512 = "Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "cross-unzip-0.0.2" = {
-      name = "cross-unzip";
-      packageName = "cross-unzip";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-unzip/-/cross-unzip-0.0.2.tgz";
-        sha512 = "nRJ5c+aqHz0OJVU4V1bqoaDggydfauK/Gha/H/ScBvuIjhZvl8YIpdWVzSR3vUhzCloqB1tvBdQ4V7J8qK7HzQ==";
-      };
-    };
-    "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-2.0.0" = {
-      name = "crypto-random-string";
-      packageName = "crypto-random-string";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
-        sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
-      };
-    };
-    "dash-ast-1.0.0" = {
-      name = "dash-ast";
-      packageName = "dash-ast";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz";
-        sha512 = "Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==";
-      };
-    };
-    "dashdash-1.14.1" = {
-      name = "dashdash";
-      packageName = "dashdash";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
-        sha512 = "jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==";
-      };
-    };
-    "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.4" = {
-      name = "debug";
-      packageName = "debug";
-      version = "4.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz";
-        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
-      };
-    };
-    "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";
-        sha512 = "z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==";
-      };
-    };
-    "decamelize-keys-1.1.0" = {
-      name = "decamelize-keys";
-      packageName = "decamelize-keys";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz";
-        sha512 = "ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==";
-      };
-    };
-    "decompress-response-3.3.0" = {
-      name = "decompress-response";
-      packageName = "decompress-response";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz";
-        sha512 = "BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==";
-      };
-    };
-    "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-extend-0.6.0" = {
-      name = "deep-extend";
-      packageName = "deep-extend";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
-        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "defer-to-connect-1.1.3" = {
-      name = "defer-to-connect";
-      packageName = "defer-to-connect";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz";
-        sha512 = "0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==";
-      };
-    };
-    "define-lazy-prop-2.0.0" = {
-      name = "define-lazy-prop";
-      packageName = "define-lazy-prop";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz";
-        sha512 = "Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==";
-      };
-    };
-    "define-properties-1.1.4" = {
-      name = "define-properties";
-      packageName = "define-properties";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz";
-        sha512 = "uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==";
-      };
-    };
-    "defined-1.0.1" = {
-      name = "defined";
-      packageName = "defined";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz";
-        sha512 = "hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==";
-      };
-    };
-    "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";
-        sha512 = "ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==";
-      };
-    };
-    "delegates-1.0.0" = {
-      name = "delegates";
-      packageName = "delegates";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
-        sha512 = "bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==";
-      };
-    };
-    "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";
-        sha512 = "7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==";
-      };
-    };
-    "depd-2.0.0" = {
-      name = "depd";
-      packageName = "depd";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz";
-        sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
-      };
-    };
-    "deps-sort-2.0.1" = {
-      name = "deps-sort";
-      packageName = "deps-sort";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz";
-        sha512 = "1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==";
-      };
-    };
-    "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.2.0" = {
-      name = "destroy";
-      packageName = "destroy";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz";
-        sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
-      };
-    };
-    "detect-node-2.1.0" = {
-      name = "detect-node";
-      packageName = "detect-node";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz";
-        sha512 = "T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==";
-      };
-    };
-    "detective-5.2.1" = {
-      name = "detective";
-      packageName = "detective";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz";
-        sha512 = "v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==";
-      };
-    };
-    "diff-match-patch-1.0.5" = {
-      name = "diff-match-patch";
-      packageName = "diff-match-patch";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz";
-        sha512 = "IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==";
-      };
-    };
-    "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";
-        sha512 = "z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==";
-      };
-    };
-    "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-git+https://github.com/jean-emmanuel/dns-txt#v2.0.3" = {
-      name = "dns-txt";
-      packageName = "dns-txt";
-      version = "2.0.3";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/dns-txt";
-        rev = "0c11e084bceee17016f9466e3b64f47776c5fb6f";
-        sha256 = "5a1b886c631e3e9fad925c16d09dc02bfb25617faf7b549c146ee5ca69d396cd";
-      };
-    };
-    "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-serializer-1.4.1" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz";
-        sha512 = "VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==";
-      };
-    };
-    "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-2.3.0" = {
-      name = "domelementtype";
-      packageName = "domelementtype";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz";
-        sha512 = "OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==";
-      };
-    };
-    "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.3.1" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz";
-        sha512 = "GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "duplexer2-0.1.4" = {
-      name = "duplexer2";
-      packageName = "duplexer2";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz";
-        sha512 = "asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==";
-      };
-    };
-    "duplexer3-0.1.5" = {
-      name = "duplexer3";
-      packageName = "duplexer3";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz";
-        sha512 = "1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==";
-      };
-    };
-    "ecc-jsbn-0.1.2" = {
-      name = "ecc-jsbn";
-      packageName = "ecc-jsbn";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
-        sha512 = "eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==";
-      };
-    };
-    "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";
-        sha512 = "WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==";
-      };
-    };
-    "electron-21.2.0" = {
-      name = "electron";
-      packageName = "electron";
-      version = "21.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron/-/electron-21.2.0.tgz";
-        sha512 = "oKV4fo8l6jlOZ1cYZ4RpZz02ZxLuBo3SO7DH+FrJ8uDyCirP+eVJ/qlzu23odtNe0P7S/mYAZbC6abZHWoqtLg==";
-      };
-    };
-    "electron-is-accelerator-0.1.2" = {
-      name = "electron-is-accelerator";
-      packageName = "electron-is-accelerator";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz";
-        sha512 = "fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA==";
-      };
-    };
-    "electron-localshortcut-3.2.1" = {
-      name = "electron-localshortcut";
-      packageName = "electron-localshortcut";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.2.1.tgz";
-        sha512 = "DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==";
-      };
-    };
-    "electron-notarize-1.2.2" = {
-      name = "electron-notarize";
-      packageName = "electron-notarize";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.2.2.tgz";
-        sha512 = "ZStVWYcWI7g87/PgjPJSIIhwQXOaw4/XeXU+pWqMMktSLHaGMLHdyPPN7Cmao7+Cr7fYufA16npdtMndYciHNw==";
-      };
-    };
-    "electron-osx-sign-0.5.0" = {
-      name = "electron-osx-sign";
-      packageName = "electron-osx-sign";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz";
-        sha512 = "icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==";
-      };
-    };
-    "electron-packager-15.2.0" = {
-      name = "electron-packager";
-      packageName = "electron-packager";
-      version = "15.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-packager/-/electron-packager-15.2.0.tgz";
-        sha512 = "BaklTBRQy1JTijR3hi8XxHf/uo76rHbDCNM/eQHSblzE9C0NoNfOe86nPxB7y1u2jwlqoEJ4zFiHpTFioKGGRA==";
-      };
-    };
-    "electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2" = {
-      name = "electron-packager-plugin-non-proprietary-codecs-ffmpeg";
-      packageName = "electron-packager-plugin-non-proprietary-codecs-ffmpeg";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-packager-plugin-non-proprietary-codecs-ffmpeg/-/electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2.tgz";
-        sha512 = "xPkbzndg2KODqmNe9yIx0dhNOfaOqrdNZ1ZSSZN4h1wT0T5SV/YES0tNyN932jQd+c5cFPv6AWYYjuPWKvcITg==";
-      };
-    };
-    "electron-to-chromium-1.4.284" = {
-      name = "electron-to-chromium";
-      packageName = "electron-to-chromium";
-      version = "1.4.284";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz";
-        sha512 = "M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "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";
-        sha512 = "TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==";
-      };
-    };
-    "encoding-0.1.13" = {
-      name = "encoding";
-      packageName = "encoding";
-      version = "0.1.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz";
-        sha512 = "ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "env-paths-2.2.1" = {
-      name = "env-paths";
-      packageName = "env-paths";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz";
-        sha512 = "+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==";
-      };
-    };
-    "err-code-2.0.3" = {
-      name = "err-code";
-      packageName = "err-code";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz";
-        sha512 = "2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==";
-      };
-    };
-    "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.1.4" = {
-      name = "error-stack-parser";
-      packageName = "error-stack-parser";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz";
-        sha512 = "Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==";
-      };
-    };
-    "es-abstract-1.20.4" = {
-      name = "es-abstract";
-      packageName = "es-abstract";
-      version = "1.20.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz";
-        sha512 = "0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==";
-      };
-    };
-    "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-goat-2.1.1" = {
-      name = "escape-goat";
-      packageName = "escape-goat";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz";
-        sha512 = "8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==";
-      };
-    };
-    "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";
-        sha512 = "NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==";
-      };
-    };
-    "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";
-        sha512 = "vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "escaper-2.5.3" = {
-      name = "escaper";
-      packageName = "escaper";
-      version = "2.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escaper/-/escaper-2.5.3.tgz";
-        sha512 = "QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ==";
-      };
-    };
-    "eslint-8.16.0" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = "8.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz";
-        sha512 = "MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==";
-      };
-    };
-    "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-scope-7.1.1" = {
-      name = "eslint-scope";
-      packageName = "eslint-scope";
-      version = "7.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz";
-        sha512 = "QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==";
-      };
-    };
-    "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-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-visitor-keys-3.3.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz";
-        sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
-      };
-    };
-    "espree-9.4.0" = {
-      name = "espree";
-      packageName = "espree";
-      version = "9.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz";
-        sha512 = "DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==";
-      };
-    };
-    "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.3.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz";
-        sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
-      };
-    };
-    "estree-is-member-expression-1.0.0" = {
-      name = "estree-is-member-expression";
-      packageName = "estree-is-member-expression";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz";
-        sha512 = "Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==";
-      };
-    };
-    "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";
-        sha512 = "aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "exorcist-2.0.0" = {
-      name = "exorcist";
-      packageName = "exorcist";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exorcist/-/exorcist-2.0.0.tgz";
-        sha512 = "+c63SvhBq/HjmbV9cu9vkDkjXFiuI4lpqOZU5Y3t5GSV2l4TQCqVli9c7nIASHxkUL4THaOZDUcb6XNBI/eYjw==";
-      };
-    };
-    "extend-3.0.2" = {
-      name = "extend";
-      packageName = "extend";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
-      };
-    };
-    "extract-zip-2.0.1" = {
-      name = "extract-zip";
-      packageName = "extract-zip";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz";
-        sha512 = "GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==";
-      };
-    };
-    "extsprintf-1.3.0" = {
-      name = "extsprintf";
-      packageName = "extsprintf";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
-        sha512 = "11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==";
-      };
-    };
-    "fast-deep-equal-3.1.3" = {
-      name = "fast-deep-equal";
-      packageName = "fast-deep-equal";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
-        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
-      };
-    };
-    "fast-json-stable-stringify-2.1.0" = {
-      name = "fast-json-stable-stringify";
-      packageName = "fast-json-stable-stringify";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
-      };
-    };
-    "fast-levenshtein-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";
-        sha512 = "DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==";
-      };
-    };
-    "fast-safe-stringify-2.1.1" = {
-      name = "fast-safe-stringify";
-      packageName = "fast-safe-stringify";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz";
-        sha512 = "W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==";
-      };
-    };
-    "fastdom-1.0.10" = {
-      name = "fastdom";
-      packageName = "fastdom";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fastdom/-/fastdom-1.0.10.tgz";
-        sha512 = "sbL4h358IlZn8VsTvA5TYnKVLYif46XhPEll+HTSxVtDSpqZEO/17D/QqlxE9V2K7AQ82GXeYeQLU2HWwKgk1A==";
-      };
-    };
-    "fd-slicer-1.1.0" = {
-      name = "fd-slicer";
-      packageName = "fd-slicer";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz";
-        sha512 = "cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==";
-      };
-    };
-    "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-saver-2.0.5" = {
-      name = "file-saver";
-      packageName = "file-saver";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz";
-        sha512 = "P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==";
-      };
-    };
-    "filename-reserved-regex-2.0.0" = {
-      name = "filename-reserved-regex";
-      packageName = "filename-reserved-regex";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz";
-        sha512 = "lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==";
-      };
-    };
-    "filenamify-4.3.0" = {
-      name = "filenamify";
-      packageName = "filenamify";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz";
-        sha512 = "hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==";
-      };
-    };
-    "fill-range-7.0.1" = {
-      name = "fill-range";
-      packageName = "fill-range";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz";
-        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
-      };
-    };
-    "find-up-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";
-        sha512 = "NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==";
-      };
-    };
-    "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.7" = {
-      name = "flatted";
-      packageName = "flatted";
-      version = "3.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz";
-        sha512 = "5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==";
-      };
-    };
-    "flora-colossus-1.0.1" = {
-      name = "flora-colossus";
-      packageName = "flora-colossus";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz";
-        sha512 = "d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==";
-      };
-    };
-    "for-each-0.3.3" = {
-      name = "for-each";
-      packageName = "for-each";
-      version = "0.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz";
-        sha512 = "jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==";
-      };
-    };
-    "forever-agent-0.6.1" = {
-      name = "forever-agent";
-      packageName = "forever-agent";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
-        sha512 = "j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==";
-      };
-    };
-    "form-data-2.3.3" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
-        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
-      };
-    };
-    "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";
-        sha512 = "zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==";
-      };
-    };
-    "fs-extra-4.0.3" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz";
-        sha512 = "q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==";
-      };
-    };
-    "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.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";
-        sha512 = "OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==";
-      };
-    };
-    "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.5" = {
-      name = "function.prototype.name";
-      packageName = "function.prototype.name";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz";
-        sha512 = "uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==";
-      };
-    };
-    "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";
-        sha512 = "dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==";
-      };
-    };
-    "functions-have-names-1.2.3" = {
-      name = "functions-have-names";
-      packageName = "functions-have-names";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz";
-        sha512 = "xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==";
-      };
-    };
-    "galactus-0.2.1" = {
-      name = "galactus";
-      packageName = "galactus";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz";
-        sha512 = "mDc8EQJKtxjp9PMYS3PbpjjbX3oXhBTxoGaPahw620XZBIHJ4+nvw5KN/tRtmmSDR9dypstGNvqQ3C29QGoGHQ==";
-      };
-    };
-    "gauge-3.0.2" = {
-      name = "gauge";
-      packageName = "gauge";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz";
-        sha512 = "+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==";
-      };
-    };
-    "gauge-4.0.4" = {
-      name = "gauge";
-      packageName = "gauge";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz";
-        sha512 = "f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==";
-      };
-    };
-    "gaze-1.1.3" = {
-      name = "gaze";
-      packageName = "gaze";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz";
-        sha512 = "BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==";
-      };
-    };
-    "gensync-1.0.0-beta.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-assigned-identifiers-1.2.0" = {
-      name = "get-assigned-identifiers";
-      packageName = "get-assigned-identifiers";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz";
-        sha512 = "mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==";
-      };
-    };
-    "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.3" = {
-      name = "get-intrinsic";
-      packageName = "get-intrinsic";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz";
-        sha512 = "QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==";
-      };
-    };
-    "get-package-info-1.0.0" = {
-      name = "get-package-info";
-      packageName = "get-package-info";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz";
-        sha512 = "SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==";
-      };
-    };
-    "get-stdin-4.0.1" = {
-      name = "get-stdin";
-      packageName = "get-stdin";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
-        sha512 = "F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==";
-      };
-    };
-    "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-symbol-description-1.0.0" = {
-      name = "get-symbol-description";
-      packageName = "get-symbol-description";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz";
-        sha512 = "2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==";
-      };
-    };
-    "getpass-0.1.7" = {
-      name = "getpass";
-      packageName = "getpass";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
-        sha512 = "0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==";
-      };
-    };
-    "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-7.2.3" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz";
-        sha512 = "nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==";
-      };
-    };
-    "glob-parent-5.1.2" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz";
-        sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
-      };
-    };
-    "glob-parent-6.0.2" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz";
-        sha512 = "XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==";
-      };
-    };
-    "global-agent-3.0.0" = {
-      name = "global-agent";
-      packageName = "global-agent";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz";
-        sha512 = "PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==";
-      };
-    };
-    "global-dirs-3.0.0" = {
-      name = "global-dirs";
-      packageName = "global-dirs";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz";
-        sha512 = "v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==";
-      };
-    };
-    "global-tunnel-ng-2.7.1" = {
-      name = "global-tunnel-ng";
-      packageName = "global-tunnel-ng";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz";
-        sha512 = "4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==";
-      };
-    };
-    "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.17.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "13.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz";
-        sha512 = "1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==";
-      };
-    };
-    "globalthis-1.0.3" = {
-      name = "globalthis";
-      packageName = "globalthis";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz";
-        sha512 = "sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==";
-      };
-    };
-    "globule-1.3.4" = {
-      name = "globule";
-      packageName = "globule";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz";
-        sha512 = "OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==";
-      };
-    };
-    "got-9.6.0" = {
-      name = "got";
-      packageName = "got";
-      version = "9.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-9.6.0.tgz";
-        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
-      };
-    };
-    "graceful-fs-4.2.10" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "4.2.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz";
-        sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
-      };
-    };
-    "gyronorm-2.0.6" = {
-      name = "gyronorm";
-      packageName = "gyronorm";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gyronorm/-/gyronorm-2.0.6.tgz";
-        sha512 = "pE66zEK/3G9t1dpikTKIjNuY1JauXgtNiulgPKc28IKwMJ5NuJ03mOQ5ArqnkOyQxhlJSY71i3YdFcHhzx4TOg==";
-      };
-    };
-    "har-schema-2.0.0" = {
-      name = "har-schema";
-      packageName = "har-schema";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
-        sha512 = "Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==";
-      };
-    };
-    "har-validator-5.1.5" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "5.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz";
-        sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
-      };
-    };
-    "hard-rejection-2.1.0" = {
-      name = "hard-rejection";
-      packageName = "hard-rejection";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz";
-        sha512 = "VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==";
-      };
-    };
-    "has-1.0.3" = {
-      name = "has";
-      packageName = "has";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
-        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
-      };
-    };
-    "has-ansi-2.0.0" = {
-      name = "has-ansi";
-      packageName = "has-ansi";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
-        sha512 = "C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==";
-      };
-    };
-    "has-bigints-1.0.2" = {
-      name = "has-bigints";
-      packageName = "has-bigints";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz";
-        sha512 = "tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==";
-      };
-    };
-    "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";
-        sha512 = "sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==";
-      };
-    };
-    "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-property-descriptors-1.0.0" = {
-      name = "has-property-descriptors";
-      packageName = "has-property-descriptors";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz";
-        sha512 = "62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==";
-      };
-    };
-    "has-symbols-1.0.3" = {
-      name = "has-symbols";
-      packageName = "has-symbols";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz";
-        sha512 = "l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==";
-      };
-    };
-    "has-tostringtag-1.0.0" = {
-      name = "has-tostringtag";
-      packageName = "has-tostringtag";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz";
-        sha512 = "kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==";
-      };
-    };
-    "has-unicode-2.0.1" = {
-      name = "has-unicode";
-      packageName = "has-unicode";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
-        sha512 = "8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==";
-      };
-    };
-    "has-yarn-2.1.0" = {
-      name = "has-yarn";
-      packageName = "has-yarn";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz";
-        sha512 = "UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==";
-      };
-    };
-    "hash-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==";
-      };
-    };
-    "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";
-        sha512 = "Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "hosted-git-info-4.1.0" = {
-      name = "hosted-git-info";
-      packageName = "hosted-git-info";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz";
-        sha512 = "kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==";
-      };
-    };
-    "htmlescape-1.1.1" = {
-      name = "htmlescape";
-      packageName = "htmlescape";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz";
-        sha512 = "eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "http-auth-4.1.9" = {
-      name = "http-auth";
-      packageName = "http-auth";
-      version = "4.1.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-auth/-/http-auth-4.1.9.tgz";
-        sha512 = "kvPYxNGc9EKGTXvOMnTBQw2RZfuiSihK/mLw/a4pbtRueTE45S55Lw/3k5CktIf7Ak0veMKEIteDj4YkNmCzmQ==";
-      };
-    };
-    "http-cache-semantics-4.1.0" = {
-      name = "http-cache-semantics";
-      packageName = "http-cache-semantics";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
-        sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
-      };
-    };
-    "http-errors-2.0.0" = {
-      name = "http-errors";
-      packageName = "http-errors";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz";
-        sha512 = "FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==";
-      };
-    };
-    "http-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-signature-1.2.0" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
-        sha512 = "CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==";
-      };
-    };
-    "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";
-        sha512 = "J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==";
-      };
-    };
-    "https-proxy-agent-5.0.1" = {
-      name = "https-proxy-agent";
-      packageName = "https-proxy-agent";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz";
-        sha512 = "dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==";
-      };
-    };
-    "humanize-ms-1.2.1" = {
-      name = "humanize-ms";
-      packageName = "humanize-ms";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz";
-        sha512 = "Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==";
-      };
-    };
-    "hyperscript-attribute-to-property-1.0.2" = {
-      name = "hyperscript-attribute-to-property";
-      packageName = "hyperscript-attribute-to-property";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hyperscript-attribute-to-property/-/hyperscript-attribute-to-property-1.0.2.tgz";
-        sha512 = "oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA==";
-      };
-    };
-    "hyperx-2.5.4" = {
-      name = "hyperx";
-      packageName = "hyperx";
-      version = "2.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hyperx/-/hyperx-2.5.4.tgz";
-        sha512 = "iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==";
-      };
-    };
-    "iconv-lite-0.6.3" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz";
-        sha512 = "4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==";
-      };
-    };
-    "ieee754-1.2.1" = {
-      name = "ieee754";
-      packageName = "ieee754";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz";
-        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
-      };
-    };
-    "ignore-5.2.0" = {
-      name = "ignore";
-      packageName = "ignore";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz";
-        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
-      };
-    };
-    "ignore-by-default-1.0.1" = {
-      name = "ignore-by-default";
-      packageName = "ignore-by-default";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz";
-        sha512 = "Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==";
-      };
-    };
-    "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-lazy-2.1.0" = {
-      name = "import-lazy";
-      packageName = "import-lazy";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz";
-        sha512 = "m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==";
-      };
-    };
-    "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";
-        sha512 = "JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==";
-      };
-    };
-    "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";
-        sha512 = "k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==";
-      };
-    };
-    "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";
-        sha512 = "8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "ini-2.0.0" = {
-      name = "ini";
-      packageName = "ini";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz";
-        sha512 = "7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==";
-      };
-    };
-    "inline-source-map-0.6.2" = {
-      name = "inline-source-map";
-      packageName = "inline-source-map";
-      version = "0.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz";
-        sha512 = "0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==";
-      };
-    };
-    "insert-module-globals-7.2.1" = {
-      name = "insert-module-globals";
-      packageName = "insert-module-globals";
-      version = "7.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz";
-        sha512 = "ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==";
-      };
-    };
-    "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.8" = {
-      name = "ip";
-      packageName = "ip";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz";
-        sha512 = "PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==";
-      };
-    };
-    "ip-2.0.0" = {
-      name = "ip";
-      packageName = "ip";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz";
-        sha512 = "WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==";
-      };
-    };
-    "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";
-        sha512 = "zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==";
-      };
-    };
-    "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-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-attribute-0.0.1" = {
-      name = "is-boolean-attribute";
-      packageName = "is-boolean-attribute";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-boolean-attribute/-/is-boolean-attribute-0.0.1.tgz";
-        sha512 = "0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w==";
-      };
-    };
-    "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-buffer-2.0.5" = {
-      name = "is-buffer";
-      packageName = "is-buffer";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz";
-        sha512 = "i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==";
-      };
-    };
-    "is-callable-1.2.7" = {
-      name = "is-callable";
-      packageName = "is-callable";
-      version = "1.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz";
-        sha512 = "1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==";
-      };
-    };
-    "is-ci-2.0.0" = {
-      name = "is-ci";
-      packageName = "is-ci";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz";
-        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
-      };
-    };
-    "is-core-module-2.11.0" = {
-      name = "is-core-module";
-      packageName = "is-core-module";
-      version = "2.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz";
-        sha512 = "RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==";
-      };
-    };
-    "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-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-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";
-        sha512 = "SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==";
-      };
-    };
-    "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-function-1.0.10" = {
-      name = "is-generator-function";
-      packageName = "is-generator-function";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz";
-        sha512 = "jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==";
-      };
-    };
-    "is-glob-4.0.3" = {
-      name = "is-glob";
-      packageName = "is-glob";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz";
-        sha512 = "xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==";
-      };
-    };
-    "is-installed-globally-0.4.0" = {
-      name = "is-installed-globally";
-      packageName = "is-installed-globally";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz";
-        sha512 = "iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==";
-      };
-    };
-    "is-lambda-1.0.1" = {
-      name = "is-lambda";
-      packageName = "is-lambda";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz";
-        sha512 = "z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==";
-      };
-    };
-    "is-negative-zero-2.0.2" = {
-      name = "is-negative-zero";
-      packageName = "is-negative-zero";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz";
-        sha512 = "dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==";
-      };
-    };
-    "is-npm-5.0.0" = {
-      name = "is-npm";
-      packageName = "is-npm";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz";
-        sha512 = "WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==";
-      };
-    };
-    "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.7" = {
-      name = "is-number-object";
-      packageName = "is-number-object";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz";
-        sha512 = "k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==";
-      };
-    };
-    "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-inside-3.0.3" = {
-      name = "is-path-inside";
-      packageName = "is-path-inside";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz";
-        sha512 = "Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==";
-      };
-    };
-    "is-plain-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";
-        sha512 = "yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==";
-      };
-    };
-    "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";
-        sha512 = "7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==";
-      };
-    };
-    "is-shared-array-buffer-1.0.2" = {
-      name = "is-shared-array-buffer";
-      packageName = "is-shared-array-buffer";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz";
-        sha512 = "sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==";
-      };
-    };
-    "is-stream-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-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-typed-array-1.1.9" = {
-      name = "is-typed-array";
-      packageName = "is-typed-array";
-      version = "1.1.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz";
-        sha512 = "kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==";
-      };
-    };
-    "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";
-        sha512 = "cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==";
-      };
-    };
-    "is-weakref-1.0.2" = {
-      name = "is-weakref";
-      packageName = "is-weakref";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz";
-        sha512 = "qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "is-yarn-global-0.3.0" = {
-      name = "is-yarn-global";
-      packageName = "is-yarn-global";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz";
-        sha512 = "VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==";
-      };
-    };
-    "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";
-        sha512 = "VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==";
-      };
-    };
-    "isbinaryfile-3.0.3" = {
-      name = "isbinaryfile";
-      packageName = "isbinaryfile";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz";
-        sha512 = "8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==";
-      };
-    };
-    "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";
-        sha512 = "RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==";
-      };
-    };
-    "isstream-0.1.2" = {
-      name = "isstream";
-      packageName = "isstream";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
-        sha512 = "Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==";
-      };
-    };
-    "js-base64-2.6.4" = {
-      name = "js-base64";
-      packageName = "js-base64";
-      version = "2.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz";
-        sha512 = "pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==";
-      };
-    };
-    "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-4.1.0" = {
-      name = "js-yaml";
-      packageName = "js-yaml";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz";
-        sha512 = "wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==";
-      };
-    };
-    "jsbn-0.1.1" = {
-      name = "jsbn";
-      packageName = "jsbn";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
-        sha512 = "UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==";
-      };
-    };
-    "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";
-        sha512 = "uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==";
-      };
-    };
-    "jsesc-2.5.2" = {
-      name = "jsesc";
-      packageName = "jsesc";
-      version = "2.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz";
-        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
-      };
-    };
-    "json-buffer-3.0.0" = {
-      name = "json-buffer";
-      packageName = "json-buffer";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
-        sha512 = "CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==";
-      };
-    };
-    "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-0.4.0" = {
-      name = "json-schema";
-      packageName = "json-schema";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz";
-        sha512 = "es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==";
-      };
-    };
-    "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";
-        sha512 = "Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==";
-      };
-    };
-    "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";
-        sha512 = "ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==";
-      };
-    };
-    "json5-2.2.1" = {
-      name = "json5";
-      packageName = "json5";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz";
-        sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
-      };
-    };
-    "jsondiffpatch-0.4.1" = {
-      name = "jsondiffpatch";
-      packageName = "jsondiffpatch";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.4.1.tgz";
-        sha512 = "t0etAxTUk1w5MYdNOkZBZ8rvYYN5iL+2dHCCx/DpkFm/bW28M6y5nUS83D4XdZiHy35Fpaw6LBb+F88fHZnVCw==";
-      };
-    };
-    "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";
-        sha512 = "m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "jsonparse-1.3.1" = {
-      name = "jsonparse";
-      packageName = "jsonparse";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";
-        sha512 = "POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==";
-      };
-    };
-    "jsprim-1.4.2" = {
-      name = "jsprim";
-      packageName = "jsprim";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz";
-        sha512 = "P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==";
-      };
-    };
-    "junk-3.1.0" = {
-      name = "junk";
-      packageName = "junk";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz";
-        sha512 = "pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==";
-      };
-    };
-    "keyboardevent-from-electron-accelerator-2.0.0" = {
-      name = "keyboardevent-from-electron-accelerator";
-      packageName = "keyboardevent-from-electron-accelerator";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz";
-        sha512 = "iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA==";
-      };
-    };
-    "keyboardevents-areequal-0.2.2" = {
-      name = "keyboardevents-areequal";
-      packageName = "keyboardevents-areequal";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz";
-        sha512 = "Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw==";
-      };
-    };
-    "keyboardjs-2.6.4" = {
-      name = "keyboardjs";
-      packageName = "keyboardjs";
-      version = "2.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyboardjs/-/keyboardjs-2.6.4.tgz";
-        sha512 = "xDiNwiwH3KUqap++RFJiLAXzbvRB5Yw08xliuceOgLhM1o7g1puKKR9vWy6wp9H/Bi4VP0+SQMpiWXMWWmR6rA==";
-      };
-    };
-    "keyv-3.1.0" = {
-      name = "keyv";
-      packageName = "keyv";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz";
-        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "labeled-stream-splicer-2.0.2" = {
-      name = "labeled-stream-splicer";
-      packageName = "labeled-stream-splicer";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz";
-        sha512 = "Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==";
-      };
-    };
-    "latest-version-5.1.0" = {
-      name = "latest-version";
-      packageName = "latest-version";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz";
-        sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
-      };
-    };
-    "levn-0.4.1" = {
-      name = "levn";
-      packageName = "levn";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz";
-        sha512 = "+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==";
-      };
-    };
-    "licensify-3.1.3" = {
-      name = "licensify";
-      packageName = "licensify";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/licensify/-/licensify-3.1.3.tgz";
-        sha512 = "3sEEBR0Cxq8yeSrV1KGZwpjm4KJKp8Cx/WHZxBnG/YX319ZTvxGtL+NCF+A9pcXwh8KwKB4BmVrc6eRrfk/Raw==";
-      };
-    };
-    "lines-and-columns-1.2.4" = {
-      name = "lines-and-columns";
-      packageName = "lines-and-columns";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz";
-        sha512 = "7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==";
-      };
-    };
-    "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";
-        sha512 = "3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==";
-      };
-    };
-    "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";
-        sha512 = "NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==";
-      };
-    };
-    "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.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";
-        sha512 = "FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==";
-      };
-    };
-    "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";
-        sha512 = "z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==";
-      };
-    };
-    "lodash.memoize-3.0.4" = {
-      name = "lodash.memoize";
-      packageName = "lodash.memoize";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz";
-        sha512 = "eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==";
-      };
-    };
-    "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==";
-      };
-    };
-    "long-4.0.0" = {
-      name = "long";
-      packageName = "long";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/long/-/long-4.0.0.tgz";
-        sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==";
-      };
-    };
-    "loop-protect-git+https://github.com/jean-emmanuel/loop-protect#v1.0.1" = {
-      name = "loop-protect";
-      packageName = "loop-protect";
-      version = "1.0.1";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/loop-protect";
-        rev = "557a6d124e2bcd0463f26c0a61d035f4840a6dec";
-        sha256 = "ffb6bd78172fc7e52cf94e10467c467210bec9ee27c7ba8536b51044e5ae4b5f";
-      };
-    };
-    "lower-case-1.1.4" = {
-      name = "lower-case";
-      packageName = "lower-case";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz";
-        sha512 = "2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==";
-      };
-    };
-    "lowercase-keys-1.0.1" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
-      };
-    };
-    "lowercase-keys-2.0.0" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
-        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
-      };
-    };
-    "lru-cache-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.23.2" = {
-      name = "magic-string";
-      packageName = "magic-string";
-      version = "0.23.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz";
-        sha512 = "oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==";
-      };
-    };
-    "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-fetch-happen-9.1.0" = {
-      name = "make-fetch-happen";
-      packageName = "make-fetch-happen";
-      version = "9.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz";
-        sha512 = "+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==";
-      };
-    };
-    "map-obj-1.0.1" = {
-      name = "map-obj";
-      packageName = "map-obj";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
-        sha512 = "7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==";
-      };
-    };
-    "map-obj-4.3.0" = {
-      name = "map-obj";
-      packageName = "map-obj";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz";
-        sha512 = "hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==";
-      };
-    };
-    "matcher-3.0.0" = {
-      name = "matcher";
-      packageName = "matcher";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz";
-        sha512 = "OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==";
-      };
-    };
-    "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==";
-      };
-    };
-    "meow-9.0.0" = {
-      name = "meow";
-      packageName = "meow";
-      version = "9.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz";
-        sha512 = "+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==";
-      };
-    };
-    "merge-source-map-1.0.4" = {
-      name = "merge-source-map";
-      packageName = "merge-source-map";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz";
-        sha512 = "PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==";
-      };
-    };
-    "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-db-1.52.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.52.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz";
-        sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
-      };
-    };
-    "mime-types-2.1.35" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.35";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz";
-        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
-      };
-    };
-    "mimic-response-1.0.1" = {
-      name = "mimic-response";
-      packageName = "mimic-response";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
-        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
-      };
-    };
-    "min-indent-1.0.1" = {
-      name = "min-indent";
-      packageName = "min-indent";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz";
-        sha512 = "I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==";
-      };
-    };
-    "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";
-        sha512 = "JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==";
-      };
-    };
-    "minimatch-3.0.8" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz";
-        sha512 = "6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==";
-      };
-    };
-    "minimatch-3.1.2" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz";
-        sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
-      };
-    };
-    "minimatch-5.1.0" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz";
-        sha512 = "9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==";
-      };
-    };
-    "minimist-1.2.7" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "1.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz";
-        sha512 = "bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==";
-      };
-    };
-    "minimist-options-4.1.0" = {
-      name = "minimist-options";
-      packageName = "minimist-options";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz";
-        sha512 = "Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==";
-      };
-    };
-    "minipass-3.3.5" = {
-      name = "minipass";
-      packageName = "minipass";
-      version = "3.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-3.3.5.tgz";
-        sha512 = "rQ/p+KfKBkeNwo04U15i+hOwoVBVmekmm/HcfTkTN2t9pbQKCMm4eN5gFeqgrrSp/kH/7BYYhTIHOxGqzbBPaA==";
-      };
-    };
-    "minipass-collect-1.0.2" = {
-      name = "minipass-collect";
-      packageName = "minipass-collect";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz";
-        sha512 = "6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==";
-      };
-    };
-    "minipass-fetch-1.4.1" = {
-      name = "minipass-fetch";
-      packageName = "minipass-fetch";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz";
-        sha512 = "CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "minipass-sized-1.0.3" = {
-      name = "minipass-sized";
-      packageName = "minipass-sized";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz";
-        sha512 = "MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==";
-      };
-    };
-    "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==";
-      };
-    };
-    "mkdirp-0.5.6" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz";
-        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "mkdirp-classic-0.5.3" = {
-      name = "mkdirp-classic";
-      packageName = "mkdirp-classic";
-      version = "0.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz";
-        sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
-      };
-    };
-    "module-deps-6.2.3" = {
-      name = "module-deps";
-      packageName = "module-deps";
-      version = "6.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz";
-        sha512 = "fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==";
-      };
-    };
-    "mold-source-map-0.4.0" = {
-      name = "mold-source-map";
-      packageName = "mold-source-map";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mold-source-map/-/mold-source-map-0.4.0.tgz";
-        sha512 = "Y0uA/sDKVuPgLd7BmaJOai+fqzjrOlR6vZgx5cJIvturI/xOPQPgbf3X7ZbzJd6MvqQ6ucIfK8dSteFyc2Mw2w==";
-      };
-    };
-    "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";
-        sha512 = "Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==";
-      };
-    };
-    "ms-2.1.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
-      };
-    };
-    "ms-2.1.3" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
-        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
-      };
-    };
-    "multicast-dns-git+https://github.com/jean-emmanuel/multicast-dns" = {
-      name = "multicast-dns";
-      packageName = "multicast-dns";
-      version = "7.2.1";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/multicast-dns";
-        rev = "1bb9f6ba892eba88f2cb12ca96a1c1b3088413c0";
-        sha256 = "7c185bd09a5b28765c4dffabc82768249554ed98a8836c52264b4ba2195fcd44";
-      };
-    };
-    "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";
-        sha512 = "cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==";
-      };
-    };
-    "mutexify-1.4.0" = {
-      name = "mutexify";
-      packageName = "mutexify";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mutexify/-/mutexify-1.4.0.tgz";
-        sha512 = "pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==";
-      };
-    };
-    "nan-2.17.0" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz";
-        sha512 = "2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==";
-      };
-    };
-    "nanoassert-1.1.0" = {
-      name = "nanoassert";
-      packageName = "nanoassert";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz";
-        sha512 = "C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==";
-      };
-    };
-    "nanobench-2.1.1" = {
-      name = "nanobench";
-      packageName = "nanobench";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz";
-        sha512 = "z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==";
-      };
-    };
-    "nanohtml-1.10.0" = {
-      name = "nanohtml";
-      packageName = "nanohtml";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanohtml/-/nanohtml-1.10.0.tgz";
-        sha512 = "r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==";
-      };
-    };
-    "nanoid-3.3.4" = {
-      name = "nanoid";
-      packageName = "nanoid";
-      version = "3.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz";
-        sha512 = "MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==";
-      };
-    };
-    "nanomorph-5.4.3" = {
-      name = "nanomorph";
-      packageName = "nanomorph";
-      version = "5.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanomorph/-/nanomorph-5.4.3.tgz";
-        sha512 = "uPP5y0x21KISffZCKHh1A0QW0RHZFQS0BR7LetlHBlay6UWAbjwhjiJTxOO6JeMHko5Cigl617zFoGrYFJ8ZLg==";
-      };
-    };
-    "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";
-        sha512 = "OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==";
-      };
-    };
-    "negotiator-0.6.3" = {
-      name = "negotiator";
-      packageName = "negotiator";
-      version = "0.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz";
-        sha512 = "+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==";
-      };
-    };
-    "no-case-2.3.2" = {
-      name = "no-case";
-      packageName = "no-case";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz";
-        sha512 = "rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==";
-      };
-    };
-    "node-forge-1.3.1" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz";
-        sha512 = "dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==";
-      };
-    };
-    "node-gyp-8.4.1" = {
-      name = "node-gyp";
-      packageName = "node-gyp";
-      version = "8.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz";
-        sha512 = "olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==";
-      };
-    };
-    "node-gyp-build-4.5.0" = {
-      name = "node-gyp-build";
-      packageName = "node-gyp-build";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz";
-        sha512 = "2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==";
-      };
-    };
-    "node-mouse-0.0.2" = {
-      name = "node-mouse";
-      packageName = "node-mouse";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-mouse/-/node-mouse-0.0.2.tgz";
-        sha512 = "qqm+c/uKB1ceGMrKW+mxAxPKFTu0HD1DWoCElJHA0VQDloudzZD4bI++Z18mSDA3n5lix+RTXiOiu3XAOSYVHA==";
-      };
-    };
-    "node-releases-2.0.6" = {
-      name = "node-releases";
-      packageName = "node-releases";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz";
-        sha512 = "PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==";
-      };
-    };
-    "node-sass-7.0.1" = {
-      name = "node-sass";
-      packageName = "node-sass";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz";
-        sha512 = "uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==";
-      };
-    };
-    "nodemon-2.0.16" = {
-      name = "nodemon";
-      packageName = "nodemon";
-      version = "2.0.16";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.16.tgz";
-        sha512 = "zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w==";
-      };
-    };
-    "nopt-1.0.10" = {
-      name = "nopt";
-      packageName = "nopt";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
-        sha512 = "NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==";
-      };
-    };
-    "nopt-5.0.0" = {
-      name = "nopt";
-      packageName = "nopt";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz";
-        sha512 = "Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==";
-      };
-    };
-    "normalize-html-whitespace-0.2.0" = {
-      name = "normalize-html-whitespace";
-      packageName = "normalize-html-whitespace";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-0.2.0.tgz";
-        sha512 = "5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw==";
-      };
-    };
-    "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-package-data-3.0.3" = {
-      name = "normalize-package-data";
-      packageName = "normalize-package-data";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz";
-        sha512 = "p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==";
-      };
-    };
-    "normalize-path-3.0.0" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
-      };
-    };
-    "normalize-url-4.5.1" = {
-      name = "normalize-url";
-      packageName = "normalize-url";
-      version = "4.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz";
-        sha512 = "9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==";
-      };
-    };
-    "nosleep.js-0.12.0" = {
-      name = "nosleep.js";
-      packageName = "nosleep.js";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz";
-        sha512 = "9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==";
-      };
-    };
-    "npm-conf-1.1.3" = {
-      name = "npm-conf";
-      packageName = "npm-conf";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz";
-        sha512 = "Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==";
-      };
-    };
-    "npmlog-5.0.1" = {
-      name = "npmlog";
-      packageName = "npmlog";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz";
-        sha512 = "AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==";
-      };
-    };
-    "npmlog-6.0.2" = {
-      name = "npmlog";
-      packageName = "npmlog";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz";
-        sha512 = "/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==";
-      };
-    };
-    "oauth-sign-0.9.0" = {
-      name = "oauth-sign";
-      packageName = "oauth-sign";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
-        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
-      };
-    };
-    "object-assign-4.1.1" = {
-      name = "object-assign";
-      packageName = "object-assign";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
-        sha512 = "rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==";
-      };
-    };
-    "object-inspect-1.12.2" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "1.12.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz";
-        sha512 = "z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==";
-      };
-    };
-    "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.assign-4.1.4" = {
-      name = "object.assign";
-      packageName = "object.assign";
-      version = "4.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz";
-        sha512 = "1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==";
-      };
-    };
-    "offset-sourcemap-lines-1.0.1" = {
-      name = "offset-sourcemap-lines";
-      packageName = "offset-sourcemap-lines";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz";
-        sha512 = "8giJa0GProV9hPLOp9qAobkvi6OiZnzeM6fdubVjhqcrISX8FYMk1jMVzG6R9d7HQWLysG22jyXEIF6sWu4fJw==";
-      };
-    };
-    "on-finished-2.4.1" = {
-      name = "on-finished";
-      packageName = "on-finished";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz";
-        sha512 = "oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==";
-      };
-    };
-    "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";
-        sha512 = "lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==";
-      };
-    };
-    "open-8.4.0" = {
-      name = "open";
-      packageName = "open";
-      version = "8.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-8.4.0.tgz";
-        sha512 = "XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-        sha512 = "gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==";
-      };
-    };
-    "osc-git+https://github.com/jean-emmanuel/osc.js" = {
-      name = "osc";
-      packageName = "osc";
-      version = "2.4.2";
-      src = fetchgit {
-        url = "https://github.com/jean-emmanuel/osc.js";
-        rev = "9197739162f26086e6a72670103c3fa036e9dcd5";
-        sha256 = "ce01cbf6a7c5e47594a7587fa8a3aabcc4a7c53d6f26fcabe20edf5a060e7728";
-      };
-    };
-    "osi-licenses-0.1.1" = {
-      name = "osi-licenses";
-      packageName = "osi-licenses";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/osi-licenses/-/osi-licenses-0.1.1.tgz";
-        sha512 = "ZGAGO6dIxTS/mXxEJCpIdYetAoxIOOr7uYpMOoDWo4+b/6rf+2GagOjTbegL+eoMI8aYAiyNgKWUT7vWJRPl9A==";
-      };
-    };
-    "oss-license-name-to-url-1.2.1" = {
-      name = "oss-license-name-to-url";
-      packageName = "oss-license-name-to-url";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/oss-license-name-to-url/-/oss-license-name-to-url-1.2.1.tgz";
-        sha512 = "apFbKq0EAYi70q0pOpS0tDfSviZYdG3KM6U1GpofZPsRMwgDga0DQiPQ/GHyQx7PDDrLCGvFBNPLMLV/K4Jr4Q==";
-      };
-    };
-    "p-cancelable-1.1.0" = {
-      name = "p-cancelable";
-      packageName = "p-cancelable";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz";
-        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
-      };
-    };
-    "p-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-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";
-        sha512 = "nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==";
-      };
-    };
-    "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-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-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";
-        sha512 = "U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==";
-      };
-    };
-    "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-json-6.5.0" = {
-      name = "package-json";
-      packageName = "package-json";
-      version = "6.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz";
-        sha512 = "k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==";
-      };
-    };
-    "pako-1.0.11" = {
-      name = "pako";
-      packageName = "pako";
-      version = "1.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz";
-        sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==";
-      };
-    };
-    "parent-module-1.0.1" = {
-      name = "parent-module";
-      packageName = "parent-module";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz";
-        sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
-      };
-    };
-    "parents-1.0.1" = {
-      name = "parents";
-      packageName = "parents";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz";
-        sha512 = "mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==";
-      };
-    };
-    "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-author-2.0.0" = {
-      name = "parse-author";
-      packageName = "parse-author";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz";
-        sha512 = "yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==";
-      };
-    };
-    "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";
-        sha512 = "QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==";
-      };
-    };
-    "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";
-        sha512 = "/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==";
-      };
-    };
-    "path-browserify-1.0.1" = {
-      name = "path-browserify";
-      packageName = "path-browserify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz";
-        sha512 = "b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==";
-      };
-    };
-    "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";
-        sha512 = "bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==";
-      };
-    };
-    "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";
-        sha512 = "AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==";
-      };
-    };
-    "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-platform-0.11.15" = {
-      name = "path-platform";
-      packageName = "path-platform";
-      version = "0.11.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz";
-        sha512 = "Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==";
-      };
-    };
-    "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";
-        sha512 = "dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "pend-1.2.0" = {
-      name = "pend";
-      packageName = "pend";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
-        sha512 = "F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==";
-      };
-    };
-    "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";
-        sha512 = "7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==";
-      };
-    };
-    "picocolors-0.2.1" = {
-      name = "picocolors";
-      packageName = "picocolors";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz";
-        sha512 = "cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==";
-      };
-    };
-    "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";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz";
-        sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
-      };
-    };
-    "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";
-        sha512 = "udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==";
-      };
-    };
-    "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";
-        sha512 = "C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==";
-      };
-    };
-    "plist-3.0.6" = {
-      name = "plist";
-      packageName = "plist";
-      version = "3.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz";
-        sha512 = "WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==";
-      };
-    };
-    "postcss-7.0.39" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "7.0.39";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz";
-        sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
-      };
-    };
-    "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-2.0.0" = {
-      name = "prepend-http";
-      packageName = "prepend-http";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
-        sha512 = "ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==";
-      };
-    };
-    "pretty-hrtime-1.0.3" = {
-      name = "pretty-hrtime";
-      packageName = "pretty-hrtime";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz";
-        sha512 = "66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==";
-      };
-    };
-    "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";
-        sha512 = "cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==";
-      };
-    };
-    "process-nextick-args-2.0.1" = {
-      name = "process-nextick-args";
-      packageName = "process-nextick-args";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
-      };
-    };
-    "progress-2.0.3" = {
-      name = "progress";
-      packageName = "progress";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz";
-        sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
-      };
-    };
-    "promise-inflight-1.0.1" = {
-      name = "promise-inflight";
-      packageName = "promise-inflight";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz";
-        sha512 = "6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==";
-      };
-    };
-    "promise-retry-2.0.1" = {
-      name = "promise-retry";
-      packageName = "promise-retry";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz";
-        sha512 = "y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==";
-      };
-    };
-    "proto-list-1.2.4" = {
-      name = "proto-list";
-      packageName = "proto-list";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
-        sha512 = "vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==";
-      };
-    };
-    "psl-1.9.0" = {
-      name = "psl";
-      packageName = "psl";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz";
-        sha512 = "E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==";
-      };
-    };
-    "pstree.remy-1.1.8" = {
-      name = "pstree.remy";
-      packageName = "pstree.remy";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz";
-        sha512 = "77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "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";
-        sha512 = "RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==";
-      };
-    };
-    "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";
-        sha512 = "jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "pupa-2.1.1" = {
-      name = "pupa";
-      packageName = "pupa";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz";
-        sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
-      };
-    };
-    "python-shell-3.0.1" = {
-      name = "python-shell";
-      packageName = "python-shell";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/python-shell/-/python-shell-3.0.1.tgz";
-        sha512 = "TWeotuxe1auhXa5bGRScxnc2J+0r41NBntSa6RYZtMBLtAEsvCboKrEbW6DvASosWQepVkhZZlT3B5Ei766G+Q==";
-      };
-    };
-    "qs-6.5.3" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz";
-        sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
-      };
-    };
-    "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";
-        sha512 = "X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==";
-      };
-    };
-    "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";
-        sha512 = "773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==";
-      };
-    };
-    "queue-tick-1.0.1" = {
-      name = "queue-tick";
-      packageName = "queue-tick";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz";
-        sha512 = "kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==";
-      };
-    };
-    "quick-lru-4.0.1" = {
-      name = "quick-lru";
-      packageName = "quick-lru";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz";
-        sha512 = "ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==";
-      };
-    };
-    "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==";
-      };
-    };
-    "rc-1.2.8" = {
-      name = "rc";
-      packageName = "rc";
-      version = "1.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
-        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
-      };
-    };
-    "rcedit-2.3.0" = {
-      name = "rcedit";
-      packageName = "rcedit";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rcedit/-/rcedit-2.3.0.tgz";
-        sha512 = "h1gNEl9Oai1oijwyJ1WYqYSXTStHnOcv1KYljg/8WM4NAg3H1KBK3azIaKkQ1WQl+d7PoJpcBMscPfLXVKgCLQ==";
-      };
-    };
-    "read-only-stream-2.0.0" = {
-      name = "read-only-stream";
-      packageName = "read-only-stream";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz";
-        sha512 = "3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==";
-      };
-    };
-    "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";
-        sha512 = "eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==";
-      };
-    };
-    "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-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";
-        sha512 = "1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "redent-3.0.0" = {
-      name = "redent";
-      packageName = "redent";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz";
-        sha512 = "6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==";
-      };
-    };
-    "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-10.1.0" = {
-      name = "regenerate-unicode-properties";
-      packageName = "regenerate-unicode-properties";
-      version = "10.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz";
-        sha512 = "d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==";
-      };
-    };
-    "regenerator-runtime-0.13.10" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.13.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz";
-        sha512 = "KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==";
-      };
-    };
-    "regenerator-transform-0.15.0" = {
-      name = "regenerator-transform";
-      packageName = "regenerator-transform";
-      version = "0.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz";
-        sha512 = "LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==";
-      };
-    };
-    "regexp.prototype.flags-1.4.3" = {
-      name = "regexp.prototype.flags";
-      packageName = "regexp.prototype.flags";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz";
-        sha512 = "fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==";
-      };
-    };
-    "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-5.2.1" = {
-      name = "regexpu-core";
-      packageName = "regexpu-core";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz";
-        sha512 = "HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==";
-      };
-    };
-    "registry-auth-token-4.2.2" = {
-      name = "registry-auth-token";
-      packageName = "registry-auth-token";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz";
-        sha512 = "PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==";
-      };
-    };
-    "registry-url-5.1.0" = {
-      name = "registry-url";
-      packageName = "registry-url";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz";
-        sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
-      };
-    };
-    "regjsgen-0.7.1" = {
-      name = "regjsgen";
-      packageName = "regjsgen";
-      version = "0.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz";
-        sha512 = "RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==";
-      };
-    };
-    "regjsparser-0.9.1" = {
-      name = "regjsparser";
-      packageName = "regjsparser";
-      version = "0.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz";
-        sha512 = "dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==";
-      };
-    };
-    "replacestream-4.0.3" = {
-      name = "replacestream";
-      packageName = "replacestream";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz";
-        sha512 = "AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==";
-      };
-    };
-    "request-2.88.2" = {
-      name = "request";
-      packageName = "request";
-      version = "2.88.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
-        sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
-      };
-    };
-    "require-directory-2.1.1" = {
-      name = "require-directory";
-      packageName = "require-directory";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
-        sha512 = "fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==";
-      };
-    };
-    "resolve-1.22.1" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.22.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz";
-        sha512 = "nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "responselike-1.0.2" = {
-      name = "responselike";
-      packageName = "responselike";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
-        sha512 = "/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==";
-      };
-    };
-    "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";
-        sha512 = "9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==";
-      };
-    };
-    "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==";
-      };
-    };
-    "roarr-2.15.4" = {
-      name = "roarr";
-      packageName = "roarr";
-      version = "2.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz";
-        sha512 = "CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==";
-      };
-    };
-    "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-test-1.0.0" = {
-      name = "safe-regex-test";
-      packageName = "safe-regex-test";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz";
-        sha512 = "JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "sanitize-html-1.27.5" = {
-      name = "sanitize-html";
-      packageName = "sanitize-html";
-      version = "1.27.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.5.tgz";
-        sha512 = "M4M5iXDAUEcZKLXkmk90zSYWEtk5NH3JmojQxKxV371fnMh+x9t1rqdmXaGoyEHw3z/X/8vnFhKjGL5xFGOJ3A==";
-      };
-    };
-    "sass-graph-4.0.0" = {
-      name = "sass-graph";
-      packageName = "sass-graph";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz";
-        sha512 = "WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==";
-      };
-    };
-    "scope-css-1.2.1" = {
-      name = "scope-css";
-      packageName = "scope-css";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/scope-css/-/scope-css-1.2.1.tgz";
-        sha512 = "UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q==";
-      };
-    };
-    "screenfull-5.2.0" = {
-      name = "screenfull";
-      packageName = "screenfull";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz";
-        sha512 = "9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==";
-      };
-    };
-    "scss-tokenizer-0.3.0" = {
-      name = "scss-tokenizer";
-      packageName = "scss-tokenizer";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz";
-        sha512 = "14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==";
-      };
-    };
-    "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.7" = {
-      name = "semver";
-      packageName = "semver";
-      version = "7.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz";
-        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
-      };
-    };
-    "semver-compare-1.0.0" = {
-      name = "semver-compare";
-      packageName = "semver-compare";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz";
-        sha512 = "YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==";
-      };
-    };
-    "semver-diff-3.1.1" = {
-      name = "semver-diff";
-      packageName = "semver-diff";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz";
-        sha512 = "GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==";
-      };
-    };
-    "send-0.18.0" = {
-      name = "send";
-      packageName = "send";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.18.0.tgz";
-        sha512 = "qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==";
-      };
-    };
-    "serialize-error-7.0.1" = {
-      name = "serialize-error";
-      packageName = "serialize-error";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz";
-        sha512 = "8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==";
-      };
-    };
-    "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";
-        sha512 = "KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==";
-      };
-    };
-    "setprototypeof-1.2.0" = {
-      name = "setprototypeof";
-      packageName = "setprototypeof";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz";
-        sha512 = "E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "shasum-object-1.0.0" = {
-      name = "shasum-object";
-      packageName = "shasum-object";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz";
-        sha512 = "Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==";
-      };
-    };
-    "shebang-command-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-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.4" = {
-      name = "shell-quote";
-      packageName = "shell-quote";
-      version = "1.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz";
-        sha512 = "8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==";
-      };
-    };
-    "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.7" = {
-      name = "signal-exit";
-      packageName = "signal-exit";
-      version = "3.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz";
-        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
-      };
-    };
-    "simple-concat-1.0.1" = {
-      name = "simple-concat";
-      packageName = "simple-concat";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz";
-        sha512 = "cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==";
-      };
-    };
-    "slip-1.0.2" = {
-      name = "slip";
-      packageName = "slip";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slip/-/slip-1.0.2.tgz";
-        sha512 = "XrcHe3NAcyD3wO+O4I13RcS4/3AF+S9RvGNj9JhJeS02HyImwD2E3QWLrmn9hBfL+fB6yapagwxRkeyYzhk98g==";
-      };
-    };
-    "slugify-1.6.5" = {
-      name = "slugify";
-      packageName = "slugify";
-      version = "1.6.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz";
-        sha512 = "8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==";
-      };
-    };
-    "smart-buffer-4.2.0" = {
-      name = "smart-buffer";
-      packageName = "smart-buffer";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz";
-        sha512 = "94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==";
-      };
-    };
-    "socks-2.7.1" = {
-      name = "socks";
-      packageName = "socks";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz";
-        sha512 = "7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==";
-      };
-    };
-    "socks-proxy-agent-6.2.1" = {
-      name = "socks-proxy-agent";
-      packageName = "socks-proxy-agent";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz";
-        sha512 = "a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==";
-      };
-    };
-    "sortablejs-1.15.0" = {
-      name = "sortablejs";
-      packageName = "sortablejs";
-      version = "1.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz";
-        sha512 = "bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==";
-      };
-    };
-    "source-map-0.5.6" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
-        sha512 = "MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==";
-      };
-    };
-    "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";
-        sha512 = "LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==";
-      };
-    };
-    "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.4" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz";
-        sha512 = "l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==";
-      };
-    };
-    "source-map-support-0.5.21" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.5.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz";
-        sha512 = "uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==";
-      };
-    };
-    "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.12" = {
-      name = "spdx-license-ids";
-      packageName = "spdx-license-ids";
-      version = "3.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz";
-        sha512 = "rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==";
-      };
-    };
-    "sprintf-js-1.1.2" = {
-      name = "sprintf-js";
-      packageName = "sprintf-js";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz";
-        sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
-      };
-    };
-    "sshpk-1.17.0" = {
-      name = "sshpk";
-      packageName = "sshpk";
-      version = "1.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz";
-        sha512 = "/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "stack-generator-2.0.10" = {
-      name = "stack-generator";
-      packageName = "stack-generator";
-      version = "2.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz";
-        sha512 = "mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==";
-      };
-    };
-    "stackframe-1.3.4" = {
-      name = "stackframe";
-      packageName = "stackframe";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz";
-        sha512 = "oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==";
-      };
-    };
-    "stacktrace-gps-3.1.2" = {
-      name = "stacktrace-gps";
-      packageName = "stacktrace-gps";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz";
-        sha512 = "GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==";
-      };
-    };
-    "stacktrace-js-2.0.2" = {
-      name = "stacktrace-js";
-      packageName = "stacktrace-js";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz";
-        sha512 = "Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==";
-      };
-    };
-    "statuses-2.0.1" = {
-      name = "statuses";
-      packageName = "statuses";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz";
-        sha512 = "RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==";
-      };
-    };
-    "stdout-stream-1.4.1" = {
-      name = "stdout-stream";
-      packageName = "stdout-stream";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz";
-        sha512 = "j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==";
-      };
-    };
-    "stream-browserify-3.0.0" = {
-      name = "stream-browserify";
-      packageName = "stream-browserify";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz";
-        sha512 = "H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==";
-      };
-    };
-    "stream-combiner2-1.1.1" = {
-      name = "stream-combiner2";
-      packageName = "stream-combiner2";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
-        sha512 = "3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==";
-      };
-    };
-    "stream-http-3.2.0" = {
-      name = "stream-http";
-      packageName = "stream-http";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz";
-        sha512 = "Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==";
-      };
-    };
-    "stream-splicer-2.0.1" = {
-      name = "stream-splicer";
-      packageName = "stream-splicer";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz";
-        sha512 = "Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==";
-      };
-    };
-    "strictdom-1.0.1" = {
-      name = "strictdom";
-      packageName = "strictdom";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strictdom/-/strictdom-1.0.1.tgz";
-        sha512 = "cEmp9QeXXRmjj/rVp9oyiqcvyocWab/HaoN4+bwFeZ7QzykJD6L3yD4v12K1x0tHpqRqVpJevN3gW7kyM39Bqg==";
-      };
-    };
-    "string-width-4.2.3" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "4.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz";
-        sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
-      };
-    };
-    "string.prototype.trimend-1.0.5" = {
-      name = "string.prototype.trimend";
-      packageName = "string.prototype.trimend";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz";
-        sha512 = "I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==";
-      };
-    };
-    "string.prototype.trimstart-1.0.5" = {
-      name = "string.prototype.trimstart";
-      packageName = "string.prototype.trimstart";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz";
-        sha512 = "THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==";
-      };
-    };
-    "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";
-        sha512 = "VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==";
-      };
-    };
-    "strip-ansi-6.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz";
-        sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
-      };
-    };
-    "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";
-        sha512 = "vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==";
-      };
-    };
-    "strip-css-comments-3.0.0" = {
-      name = "strip-css-comments";
-      packageName = "strip-css-comments";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-3.0.0.tgz";
-        sha512 = "xJwk2yMZ6j+0Clj7ETUfqQ6frsaCIqNGg3zjTVswIt3SbiOsCQgRI1E93hdt/JgGfh5De/sTwxrnrBhhWzMwcg==";
-      };
-    };
-    "strip-indent-3.0.0" = {
-      name = "strip-indent";
-      packageName = "strip-indent";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz";
-        sha512 = "laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==";
-      };
-    };
-    "strip-json-comments-2.0.1" = {
-      name = "strip-json-comments";
-      packageName = "strip-json-comments";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
-        sha512 = "4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==";
-      };
-    };
-    "strip-json-comments-3.1.1" = {
-      name = "strip-json-comments";
-      packageName = "strip-json-comments";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
-        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
-      };
-    };
-    "strip-outer-1.0.1" = {
-      name = "strip-outer";
-      packageName = "strip-outer";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz";
-        sha512 = "k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==";
-      };
-    };
-    "subarg-1.0.0" = {
-      name = "subarg";
-      packageName = "subarg";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz";
-        sha512 = "RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==";
-      };
-    };
-    "sumchecker-3.0.1" = {
-      name = "sumchecker";
-      packageName = "sumchecker";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz";
-        sha512 = "MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==";
-      };
-    };
-    "supports-color-2.0.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
-        sha512 = "KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==";
-      };
-    };
-    "supports-color-5.5.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
-      };
-    };
-    "supports-color-7.2.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";
-        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
-      };
-    };
-    "supports-preserve-symlinks-flag-1.0.0" = {
-      name = "supports-preserve-symlinks-flag";
-      packageName = "supports-preserve-symlinks-flag";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz";
-        sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
-      };
-    };
-    "syntax-error-1.4.0" = {
-      name = "syntax-error";
-      packageName = "syntax-error";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz";
-        sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
-      };
-    };
-    "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==";
-      };
-    };
-    "terser-3.17.0" = {
-      name = "terser";
-      packageName = "terser";
-      version = "3.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz";
-        sha512 = "/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==";
-      };
-    };
-    "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";
-        sha512 = "N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==";
-      };
-    };
-    "through-2.2.7" = {
-      name = "through";
-      packageName = "through";
-      version = "2.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.2.7.tgz";
-        sha512 = "JIR0m0ybkmTcR8URann+HbwKmodP+OE8UCbsifQDYMLD5J3em1Cdn3MYPpbEd5elGDwmP98T+WbqP/tvzA5Mjg==";
-      };
-    };
-    "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";
-        sha512 = "w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==";
-      };
-    };
-    "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-1.4.2" = {
-      name = "timers-browserify";
-      packageName = "timers-browserify";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz";
-        sha512 = "PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==";
-      };
-    };
-    "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";
-        sha512 = "/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==";
-      };
-    };
-    "to-readable-stream-1.0.0" = {
-      name = "to-readable-stream";
-      packageName = "to-readable-stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
-        sha512 = "Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==";
-      };
-    };
-    "to-regex-range-5.0.1" = {
-      name = "to-regex-range";
-      packageName = "to-regex-range";
-      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.1" = {
-      name = "toidentifier";
-      packageName = "toidentifier";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz";
-        sha512 = "o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==";
-      };
-    };
-    "touch-3.1.0" = {
-      name = "touch";
-      packageName = "touch";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz";
-        sha512 = "WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==";
-      };
-    };
-    "tough-cookie-2.5.0" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
-      };
-    };
-    "transform-ast-2.4.4" = {
-      name = "transform-ast";
-      packageName = "transform-ast";
-      version = "2.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz";
-        sha512 = "AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==";
-      };
-    };
-    "trim-newlines-3.0.1" = {
-      name = "trim-newlines";
-      packageName = "trim-newlines";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz";
-        sha512 = "c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==";
-      };
-    };
-    "trim-repeated-1.0.0" = {
-      name = "trim-repeated";
-      packageName = "trim-repeated";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz";
-        sha512 = "pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==";
-      };
-    };
-    "true-case-path-1.0.3" = {
-      name = "true-case-path";
-      packageName = "true-case-path";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz";
-        sha512 = "m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==";
-      };
-    };
-    "tty-browserify-0.0.1" = {
-      name = "tty-browserify";
-      packageName = "tty-browserify";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz";
-        sha512 = "C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==";
-      };
-    };
-    "tunnel-0.0.6" = {
-      name = "tunnel";
-      packageName = "tunnel";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz";
-        sha512 = "1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==";
-      };
-    };
-    "tunnel-agent-0.6.0" = {
-      name = "tunnel-agent";
-      packageName = "tunnel-agent";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
-        sha512 = "McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==";
-      };
-    };
-    "tweetnacl-0.14.5" = {
-      name = "tweetnacl";
-      packageName = "tweetnacl";
-      version = "0.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
-        sha512 = "KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==";
-      };
-    };
-    "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-fest-0.13.1" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz";
-        sha512 = "34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==";
-      };
-    };
-    "type-fest-0.18.1" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz";
-        sha512 = "OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==";
-      };
-    };
-    "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.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-name-2.0.2" = {
-      name = "type-name";
-      packageName = "type-name";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz";
-        sha512 = "kkgkuqR/jKdKO5oh/I2SMu2dGbLXoJq0zkdgbxaqYK+hr9S9edwVVGf+tMUFTx2gH9TN2+Zu9JZ/Njonb3cjhA==";
-      };
-    };
-    "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";
-        sha512 = "/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "uglifyify-5.0.2" = {
-      name = "uglifyify";
-      packageName = "uglifyify";
-      version = "5.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz";
-        sha512 = "NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==";
-      };
-    };
-    "umd-3.0.3" = {
-      name = "umd";
-      packageName = "umd";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz";
-        sha512 = "4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==";
-      };
-    };
-    "unbox-primitive-1.0.2" = {
-      name = "unbox-primitive";
-      packageName = "unbox-primitive";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz";
-        sha512 = "61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==";
-      };
-    };
-    "undeclared-identifiers-1.1.3" = {
-      name = "undeclared-identifiers";
-      packageName = "undeclared-identifiers";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz";
-        sha512 = "pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==";
-      };
-    };
-    "undefsafe-2.0.5" = {
-      name = "undefsafe";
-      packageName = "undefsafe";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz";
-        sha512 = "WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==";
-      };
-    };
-    "unicode-canonical-property-names-ecmascript-2.0.0" = {
-      name = "unicode-canonical-property-names-ecmascript";
-      packageName = "unicode-canonical-property-names-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz";
-        sha512 = "yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==";
-      };
-    };
-    "unicode-match-property-ecmascript-2.0.0" = {
-      name = "unicode-match-property-ecmascript";
-      packageName = "unicode-match-property-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz";
-        sha512 = "5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==";
-      };
-    };
-    "unicode-match-property-value-ecmascript-2.0.0" = {
-      name = "unicode-match-property-value-ecmascript";
-      packageName = "unicode-match-property-value-ecmascript";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz";
-        sha512 = "7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==";
-      };
-    };
-    "unicode-property-aliases-ecmascript-2.1.0" = {
-      name = "unicode-property-aliases-ecmascript";
-      packageName = "unicode-property-aliases-ecmascript";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz";
-        sha512 = "6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==";
-      };
-    };
-    "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-2.0.0" = {
-      name = "unique-string";
-      packageName = "unique-string";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz";
-        sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "unix-crypt-td-js-1.1.4" = {
-      name = "unix-crypt-td-js";
-      packageName = "unix-crypt-td-js";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz";
-        sha512 = "8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw==";
-      };
-    };
-    "update-browserslist-db-1.0.10" = {
-      name = "update-browserslist-db";
-      packageName = "update-browserslist-db";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz";
-        sha512 = "OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==";
-      };
-    };
-    "update-notifier-5.1.0" = {
-      name = "update-notifier";
-      packageName = "update-notifier";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz";
-        sha512 = "ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==";
-      };
-    };
-    "upper-case-1.1.3" = {
-      name = "upper-case";
-      packageName = "upper-case";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz";
-        sha512 = "WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-        sha512 = "kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==";
-      };
-    };
-    "url-parse-lax-3.0.0" = {
-      name = "url-parse-lax";
-      packageName = "url-parse-lax";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
-        sha512 = "NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==";
-      };
-    };
-    "utf-8-validate-5.0.10" = {
-      name = "utf-8-validate";
-      packageName = "utf-8-validate";
-      version = "5.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz";
-        sha512 = "Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==";
-      };
-    };
-    "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";
-        sha512 = "5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==";
-      };
-    };
-    "util-0.12.5" = {
-      name = "util";
-      packageName = "util";
-      version = "0.12.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util/-/util-0.12.5.tgz";
-        sha512 = "kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==";
-      };
-    };
-    "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";
-        sha512 = "EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "verror-1.10.0" = {
-      name = "verror";
-      packageName = "verror";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
-        sha512 = "ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "webworkify-1.5.0" = {
-      name = "webworkify";
-      packageName = "webworkify";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz";
-        sha512 = "AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g==";
-      };
-    };
-    "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-typed-array-1.1.8" = {
-      name = "which-typed-array";
-      packageName = "which-typed-array";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz";
-        sha512 = "Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==";
-      };
-    };
-    "wide-align-1.1.5" = {
-      name = "wide-align";
-      packageName = "wide-align";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz";
-        sha512 = "eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==";
-      };
-    };
-    "widest-line-3.1.0" = {
-      name = "widest-line";
-      packageName = "widest-line";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz";
-        sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
-      };
-    };
-    "wolfy87-eventemitter-5.2.9" = {
-      name = "wolfy87-eventemitter";
-      packageName = "wolfy87-eventemitter";
-      version = "5.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.9.tgz";
-        sha512 = "P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "wrap-ansi-7.0.0" = {
-      name = "wrap-ansi";
-      packageName = "wrap-ansi";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
-        sha512 = "YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==";
-      };
-    };
-    "wrappy-1.0.2" = {
-      name = "wrappy";
-      packageName = "wrappy";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
-        sha512 = "l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==";
-      };
-    };
-    "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-7.5.3" = {
-      name = "ws";
-      packageName = "ws";
-      version = "7.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz";
-        sha512 = "kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "xdg-basedir-4.0.0" = {
-      name = "xdg-basedir";
-      packageName = "xdg-basedir";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
-        sha512 = "PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==";
-      };
-    };
-    "xmlbuilder-15.1.1" = {
-      name = "xmlbuilder";
-      packageName = "xmlbuilder";
-      version = "15.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz";
-        sha512 = "yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==";
-      };
-    };
-    "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-5.0.8" = {
-      name = "y18n";
-      packageName = "y18n";
-      version = "5.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz";
-        sha512 = "0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==";
-      };
-    };
-    "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-17.5.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "17.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz";
-        sha512 = "t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==";
-      };
-    };
-    "yargs-parser-20.2.9" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "20.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz";
-        sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
-      };
-    };
-    "yargs-parser-21.1.1" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "21.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz";
-        sha512 = "tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==";
-      };
-    };
-    "yauzl-2.10.0" = {
-      name = "yauzl";
-      packageName = "yauzl";
-      version = "2.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz";
-        sha512 = "p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==";
-      };
-    };
-  };
-  args = {
-    name = "open-stage-control";
-    packageName = "open-stage-control";
-    version = "1.18.3";
-    src = ./.;
-    dependencies = [
-      sources."7zip-0.0.6"
-      sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.19.4"
-      (sources."@babel/core-7.18.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."@babel/eslint-parser-7.17.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."@babel/generator-7.19.6" // {
-        dependencies = [
-          sources."@jridgewell/gen-mapping-0.3.2"
-        ];
-      })
-      sources."@babel/helper-annotate-as-pure-7.18.6"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.9"
-      (sources."@babel/helper-compilation-targets-7.19.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/helper-create-class-features-plugin-7.19.0"
-      sources."@babel/helper-create-regexp-features-plugin-7.19.0"
-      (sources."@babel/helper-define-polyfill-provider-0.3.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/helper-environment-visitor-7.18.9"
-      sources."@babel/helper-explode-assignable-expression-7.18.6"
-      sources."@babel/helper-function-name-7.19.0"
-      sources."@babel/helper-hoist-variables-7.18.6"
-      sources."@babel/helper-member-expression-to-functions-7.18.9"
-      sources."@babel/helper-module-imports-7.18.6"
-      sources."@babel/helper-module-transforms-7.19.6"
-      sources."@babel/helper-optimise-call-expression-7.18.6"
-      sources."@babel/helper-plugin-utils-7.19.0"
-      sources."@babel/helper-remap-async-to-generator-7.18.9"
-      sources."@babel/helper-replace-supers-7.19.1"
-      sources."@babel/helper-simple-access-7.19.4"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.18.9"
-      sources."@babel/helper-split-export-declaration-7.18.6"
-      sources."@babel/helper-string-parser-7.19.4"
-      sources."@babel/helper-validator-identifier-7.19.1"
-      sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helper-wrap-function-7.19.0"
-      sources."@babel/helpers-7.19.4"
-      sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.19.6"
-      sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9"
-      sources."@babel/plugin-proposal-async-generator-functions-7.19.1"
-      sources."@babel/plugin-proposal-class-properties-7.18.6"
-      sources."@babel/plugin-proposal-class-static-block-7.18.6"
-      sources."@babel/plugin-proposal-dynamic-import-7.18.6"
-      sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
-      sources."@babel/plugin-proposal-json-strings-7.18.6"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.18.9"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.18.6"
-      sources."@babel/plugin-proposal-numeric-separator-7.18.6"
-      sources."@babel/plugin-proposal-object-rest-spread-7.18.0"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.18.6"
-      sources."@babel/plugin-proposal-optional-chaining-7.18.9"
-      sources."@babel/plugin-proposal-private-methods-7.18.6"
-      sources."@babel/plugin-proposal-private-property-in-object-7.18.6"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.18.6"
-      sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-class-properties-7.12.13"
-      sources."@babel/plugin-syntax-class-static-block-7.14.5"
-      sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-      sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-import-assertions-7.18.6"
-      sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
-      sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
-      sources."@babel/plugin-syntax-numeric-separator-7.10.4"
-      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
-      sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
-      sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.18.6"
-      sources."@babel/plugin-transform-async-to-generator-7.18.6"
-      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
-      sources."@babel/plugin-transform-block-scoping-7.19.4"
-      sources."@babel/plugin-transform-classes-7.19.0"
-      sources."@babel/plugin-transform-computed-properties-7.18.9"
-      sources."@babel/plugin-transform-destructuring-7.19.4"
-      sources."@babel/plugin-transform-dotall-regex-7.18.6"
-      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
-      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
-      sources."@babel/plugin-transform-for-of-7.18.8"
-      sources."@babel/plugin-transform-function-name-7.18.9"
-      sources."@babel/plugin-transform-literals-7.18.9"
-      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
-      sources."@babel/plugin-transform-modules-amd-7.19.6"
-      sources."@babel/plugin-transform-modules-commonjs-7.19.6"
-      sources."@babel/plugin-transform-modules-systemjs-7.19.6"
-      sources."@babel/plugin-transform-modules-umd-7.18.6"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.19.1"
-      sources."@babel/plugin-transform-new-target-7.18.6"
-      sources."@babel/plugin-transform-object-super-7.18.6"
-      sources."@babel/plugin-transform-parameters-7.18.8"
-      sources."@babel/plugin-transform-property-literals-7.18.6"
-      sources."@babel/plugin-transform-regenerator-7.18.6"
-      sources."@babel/plugin-transform-reserved-words-7.18.6"
-      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
-      sources."@babel/plugin-transform-spread-7.19.0"
-      sources."@babel/plugin-transform-sticky-regex-7.18.6"
-      sources."@babel/plugin-transform-template-literals-7.18.9"
-      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
-      sources."@babel/plugin-transform-unicode-escapes-7.18.10"
-      sources."@babel/plugin-transform-unicode-regex-7.18.6"
-      (sources."@babel/polyfill-7.12.1" // {
-        dependencies = [
-          sources."core-js-2.6.12"
-        ];
-      })
-      (sources."@babel/preset-env-7.18.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/preset-modules-0.1.5"
-      sources."@babel/runtime-7.19.4"
-      sources."@babel/template-7.18.10"
-      sources."@babel/traverse-7.19.6"
-      sources."@babel/types-7.19.4"
-      (sources."@electron/get-1.14.1" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@electron/remote-2.0.8"
-      (sources."@eslint/eslintrc-1.3.3" // {
-        dependencies = [
-          sources."globals-13.17.0"
-          sources."minimatch-3.1.2"
-          sources."type-fest-0.20.2"
-        ];
-      })
-      sources."@gar/promisify-1.1.3"
-      (sources."@humanwhocodes/config-array-0.9.5" // {
-        dependencies = [
-          sources."minimatch-3.1.2"
-        ];
-      })
-      sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.1.0"
-      sources."@jridgewell/set-array-1.1.2"
-      sources."@jridgewell/sourcemap-codec-1.4.14"
-      sources."@jridgewell/trace-mapping-0.3.17"
-      sources."@npmcli/fs-1.1.1"
-      (sources."@npmcli/move-file-1.1.2" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-          sources."rimraf-3.0.2"
-        ];
-      })
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
-      sources."@tootallnate/once-1.1.2"
-      sources."@types/glob-7.2.0"
-      sources."@types/minimatch-5.1.2"
-      sources."@types/minimist-1.2.2"
-      sources."@types/node-16.11.68"
-      sources."@types/normalize-package-data-2.4.1"
-      sources."@types/yauzl-2.10.0"
-      sources."JSONStream-1.3.5"
-      sources."abbrev-1.1.1"
-      sources."acorn-7.4.1"
-      sources."acorn-jsx-5.3.2"
-      sources."acorn-node-1.8.2"
-      sources."acorn-walk-7.2.0"
-      sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.2.1"
-      sources."aggregate-error-3.1.0"
-      sources."ajv-6.12.6"
-      sources."ansi-align-3.0.1"
-      sources."ansi-html-0.0.9"
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-3.2.1"
-      sources."anymatch-3.1.2"
-      sources."apache-crypt-1.2.6"
-      sources."apache-md5-1.1.8"
-      sources."aproba-2.0.0"
-      (sources."are-we-there-yet-3.0.1" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."argparse-2.0.1"
-      sources."array-flatten-2.1.2"
-      sources."arrify-1.0.1"
-      (sources."asar-3.2.0" // {
-        dependencies = [
-          sources."minimatch-3.1.2"
-        ];
-      })
-      sources."asn1-0.2.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."assert-plus-1.0.0"
-      sources."async-foreach-0.1.3"
-      sources."asynckit-0.4.0"
-      sources."at-least-node-1.0.0"
-      sources."author-regex-1.0.0"
-      sources."available-typed-arrays-1.0.5"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
-      (sources."babel-plugin-polyfill-corejs2-0.3.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."babel-plugin-polyfill-corejs3-0.5.3"
-      sources."babel-plugin-polyfill-regenerator-0.3.1"
-      sources."babelify-10.0.0"
-      sources."balanced-match-2.0.0"
-      sources."base64-js-1.5.1"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."bcryptjs-2.4.3"
-      sources."binary-extensions-2.2.0"
-      sources."bluebird-3.7.2"
-      sources."bn.js-5.2.1"
-      sources."bonjour-git+https://github.com/jean-emmanuel/bonjour"
-      sources."boolean-3.2.0"
-      (sources."boxen-5.1.2" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."camelcase-6.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."type-fest-0.20.2"
-        ];
-      })
-      sources."brace-0.11.1"
-      (sources."brace-expansion-1.1.11" // {
-        dependencies = [
-          sources."balanced-match-1.0.2"
-        ];
-      })
-      sources."braces-3.0.2"
-      sources."brorand-1.1.0"
-      sources."browser-pack-6.1.0"
-      sources."browser-process-hrtime-0.1.3"
-      sources."browser-resolve-2.0.0"
-      sources."browserify-17.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."browserify-zlib-0.2.0"
-      sources."browserslist-4.21.4"
-      sources."buffer-5.2.1"
-      sources."buffer-alloc-1.2.0"
-      sources."buffer-alloc-unsafe-1.1.0"
-      sources."buffer-crc32-0.2.13"
-      sources."buffer-fill-1.0.0"
-      sources."buffer-from-1.1.2"
-      sources."buffer-indexof-1.1.1"
-      sources."buffer-xor-1.0.3"
-      sources."bufferutil-4.0.7"
-      sources."builtin-status-codes-3.0.0"
-      (sources."cacache-15.3.0" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-          sources."rimraf-3.0.2"
-        ];
-      })
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-        ];
-      })
-      sources."cached-path-relative-1.1.0"
-      sources."call-bind-1.0.2"
-      sources."callsites-3.1.0"
-      sources."camel-case-3.0.0"
-      sources."camelcase-5.3.1"
-      sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001423"
-      sources."caseless-0.12.0"
-      sources."chalk-2.4.2"
-      sources."chokidar-3.5.3"
-      sources."chownr-2.0.0"
-      sources."chroma-js-2.4.2"
-      sources."chromium-pickle-js-0.2.0"
-      sources."ci-info-2.0.0"
-      sources."cipher-base-1.0.4"
-      sources."clean-stack-2.2.0"
-      sources."cli-boxes-2.2.1"
-      sources."cliui-7.0.4"
-      sources."clone-response-1.0.3"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."color-support-1.1.3"
-      (sources."combine-source-map-0.8.0" // {
-        dependencies = [
-          sources."convert-source-map-1.1.3"
-        ];
-      })
-      sources."combined-stream-1.0.8"
-      sources."commander-5.1.0"
-      sources."compare-version-0.1.2"
-      sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.2"
-      sources."config-chain-1.1.13"
-      sources."configstore-5.0.1"
-      sources."console-browserify-1.2.0"
-      sources."console-control-strings-1.1.0"
-      sources."constants-browserify-1.0.0"
-      sources."convert-source-map-1.9.0"
-      sources."core-js-3.22.5"
-      sources."core-js-compat-3.25.5"
-      sources."core-util-is-1.0.3"
-      sources."cpr-3.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."cross-spawn-7.0.3"
-      sources."cross-unzip-0.0.2"
-      sources."crypto-browserify-3.12.0"
-      sources."crypto-random-string-2.0.0"
-      sources."dash-ast-1.0.0"
-      sources."dashdash-1.14.1"
-      sources."debug-4.3.4"
-      sources."decamelize-1.2.0"
-      (sources."decamelize-keys-1.1.0" // {
-        dependencies = [
-          sources."map-obj-1.0.1"
-        ];
-      })
-      sources."decompress-response-3.3.0"
-      sources."deep-equal-1.1.1"
-      sources."deep-extend-0.6.0"
-      sources."deep-is-0.1.4"
-      sources."defer-to-connect-1.1.3"
-      sources."define-lazy-prop-2.0.0"
-      sources."define-properties-1.1.4"
-      sources."defined-1.0.1"
-      sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."depd-1.1.2"
-      sources."deps-sort-2.0.1"
-      sources."des.js-1.0.1"
-      sources."destroy-1.2.0"
-      sources."detect-node-2.1.0"
-      sources."detective-5.2.1"
-      sources."diff-match-patch-1.0.5"
-      (sources."diffie-hellman-5.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."dns-equal-1.0.0"
-      sources."dns-packet-1.3.4"
-      sources."dns-txt-git+https://github.com/jean-emmanuel/dns-txt#v2.0.3"
-      sources."doctrine-3.0.0"
-      (sources."dom-serializer-1.4.1" // {
-        dependencies = [
-          sources."domhandler-4.3.1"
-        ];
-      })
-      sources."domain-browser-1.2.0"
-      sources."domelementtype-2.3.0"
-      sources."domhandler-3.3.0"
-      (sources."domutils-2.8.0" // {
-        dependencies = [
-          sources."domhandler-4.3.1"
-        ];
-      })
-      sources."dot-prop-5.3.0"
-      sources."duplexer2-0.1.4"
-      sources."duplexer3-0.1.5"
-      sources."ecc-jsbn-0.1.2"
-      sources."ee-first-1.1.1"
-      sources."electron-21.2.0"
-      sources."electron-is-accelerator-0.1.2"
-      sources."electron-localshortcut-3.2.1"
-      (sources."electron-notarize-1.2.2" // {
-        dependencies = [
-          sources."fs-extra-9.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
-        ];
-      })
-      (sources."electron-osx-sign-0.5.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."electron-packager-15.2.0" // {
-        dependencies = [
-          sources."fs-extra-9.1.0"
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
-        ];
-      })
-      (sources."electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."electron-to-chromium-1.4.284"
-      (sources."elliptic-6.5.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."emoji-regex-8.0.0"
-      sources."encodeurl-1.0.2"
-      sources."encoding-0.1.13"
-      sources."end-of-stream-1.4.4"
-      sources."entities-2.2.0"
-      sources."env-paths-2.2.1"
-      sources."err-code-2.0.3"
-      sources."error-ex-1.3.2"
-      sources."error-stack-parser-2.1.4"
-      sources."es-abstract-1.20.4"
-      sources."es-to-primitive-1.2.1"
-      sources."es6-error-4.1.1"
-      sources."escalade-3.1.1"
-      sources."escape-goat-2.1.1"
-      sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
-      sources."escaper-2.5.3"
-      (sources."eslint-8.16.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."escape-string-regexp-4.0.0"
-          sources."eslint-scope-7.1.1"
-          sources."eslint-visitor-keys-3.3.0"
-          sources."estraverse-5.3.0"
-          sources."glob-parent-6.0.2"
-          sources."globals-13.17.0"
-          sources."has-flag-4.0.0"
-          sources."minimatch-3.1.2"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.20.2"
-        ];
-      })
-      sources."eslint-scope-5.1.1"
-      sources."eslint-utils-3.0.0"
-      sources."eslint-visitor-keys-2.1.0"
-      (sources."espree-9.4.0" // {
-        dependencies = [
-          sources."acorn-8.8.0"
-          sources."eslint-visitor-keys-3.3.0"
-        ];
-      })
-      (sources."esquery-1.4.0" // {
-        dependencies = [
-          sources."estraverse-5.3.0"
-        ];
-      })
-      (sources."esrecurse-4.3.0" // {
-        dependencies = [
-          sources."estraverse-5.3.0"
-        ];
-      })
-      sources."estraverse-4.3.0"
-      sources."estree-is-member-expression-1.0.0"
-      sources."esutils-2.0.3"
-      sources."etag-1.8.1"
-      sources."events-3.3.0"
-      sources."evp_bytestokey-1.0.3"
-      (sources."exorcist-2.0.0" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      sources."extend-3.0.2"
-      (sources."extract-zip-2.0.1" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."fast-levenshtein-2.0.6"
-      sources."fast-safe-stringify-2.1.1"
-      sources."fastdom-1.0.10"
-      sources."fd-slicer-1.1.0"
-      sources."file-entry-cache-6.0.1"
-      sources."file-saver-2.0.5"
-      sources."filename-reserved-regex-2.0.0"
-      sources."filenamify-4.3.0"
-      sources."fill-range-7.0.1"
-      sources."find-up-2.1.0"
-      (sources."flat-cache-3.0.4" // {
-        dependencies = [
-          sources."rimraf-3.0.2"
-        ];
-      })
-      sources."flatted-3.2.7"
-      (sources."flora-colossus-1.0.1" // {
-        dependencies = [
-          sources."fs-extra-7.0.1"
-        ];
-      })
-      sources."for-each-0.3.3"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."fresh-0.5.2"
-      sources."fs-extra-8.1.0"
-      sources."fs-minipass-2.1.0"
-      sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
-      sources."function-bind-1.1.1"
-      sources."function.prototype.name-1.1.5"
-      sources."functional-red-black-tree-1.0.1"
-      sources."functions-have-names-1.2.3"
-      (sources."galactus-0.2.1" // {
-        dependencies = [
-          sources."debug-3.2.7"
-          sources."fs-extra-4.0.3"
-        ];
-      })
-      sources."gauge-4.0.4"
-      sources."gaze-1.1.3"
-      sources."gensync-1.0.0-beta.2"
-      sources."get-assigned-identifiers-1.2.0"
-      sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
-      (sources."get-package-info-1.0.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."get-stdin-4.0.1"
-      sources."get-stream-4.1.0"
-      sources."get-symbol-description-1.0.0"
-      sources."getpass-0.1.7"
-      (sources."glob-7.2.3" // {
-        dependencies = [
-          sources."minimatch-3.1.2"
-        ];
-      })
-      sources."glob-parent-5.1.2"
-      sources."global-agent-3.0.0"
-      (sources."global-dirs-3.0.0" // {
-        dependencies = [
-          sources."ini-2.0.0"
-        ];
-      })
-      sources."global-tunnel-ng-2.7.1"
-      sources."globals-11.12.0"
-      sources."globalthis-1.0.3"
-      (sources."globule-1.3.4" // {
-        dependencies = [
-          sources."glob-7.1.7"
-          sources."minimatch-3.0.8"
-        ];
-      })
-      sources."got-9.6.0"
-      sources."graceful-fs-4.2.10"
-      sources."gyronorm-2.0.6"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
-      sources."hard-rejection-2.1.0"
-      sources."has-1.0.3"
-      (sources."has-ansi-2.0.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.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"
-      sources."has-tostringtag-1.0.0"
-      sources."has-unicode-2.0.1"
-      sources."has-yarn-2.1.0"
-      (sources."hash-base-3.1.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."hash.js-1.1.7"
-      sources."hmac-drbg-1.0.1"
-      sources."hosted-git-info-2.8.9"
-      sources."htmlescape-1.1.1"
-      sources."htmlparser2-4.1.0"
-      (sources."http-auth-4.1.9" // {
-        dependencies = [
-          sources."uuid-8.3.2"
-        ];
-      })
-      sources."http-cache-semantics-4.1.0"
-      (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-browserify-1.0.0"
-      sources."https-proxy-agent-5.0.1"
-      sources."humanize-ms-1.2.1"
-      sources."hyperscript-attribute-to-property-1.0.2"
-      sources."hyperx-2.5.4"
-      sources."iconv-lite-0.6.3"
-      sources."ieee754-1.2.1"
-      sources."ignore-5.2.0"
-      sources."ignore-by-default-1.0.1"
-      sources."import-fresh-3.3.0"
-      sources."import-lazy-2.1.0"
-      sources."imurmurhash-0.1.4"
-      sources."indent-string-4.0.0"
-      sources."infer-owner-1.0.4"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      sources."inline-source-map-0.6.2"
-      sources."insert-module-globals-7.2.1"
-      sources."internal-slot-1.0.3"
-      sources."ip-1.1.8"
-      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-attribute-0.0.1"
-      sources."is-boolean-object-1.1.2"
-      sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.7"
-      sources."is-ci-2.0.0"
-      sources."is-core-module-2.11.0"
-      sources."is-date-object-1.0.5"
-      sources."is-docker-2.2.1"
-      sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-generator-function-1.0.10"
-      sources."is-glob-4.0.3"
-      sources."is-installed-globally-0.4.0"
-      sources."is-lambda-1.0.1"
-      sources."is-negative-zero-2.0.2"
-      sources."is-npm-5.0.0"
-      sources."is-number-7.0.0"
-      sources."is-number-object-1.0.7"
-      sources."is-obj-2.0.0"
-      sources."is-path-inside-3.0.3"
-      sources."is-plain-obj-1.1.0"
-      sources."is-regex-1.1.4"
-      sources."is-regexp-1.0.0"
-      sources."is-shared-array-buffer-1.0.2"
-      sources."is-stream-2.0.1"
-      sources."is-string-1.0.7"
-      sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.9"
-      sources."is-typedarray-1.0.0"
-      sources."is-weakref-1.0.2"
-      sources."is-wsl-2.2.0"
-      sources."is-yarn-global-0.3.0"
-      sources."isarray-1.0.0"
-      sources."isbinaryfile-3.0.3"
-      sources."isexe-2.0.0"
-      sources."isstream-0.1.2"
-      sources."js-base64-2.6.4"
-      sources."js-tokens-4.0.0"
-      sources."js-yaml-4.1.0"
-      sources."jsbn-0.1.1"
-      sources."jsesc-2.5.2"
-      sources."json-buffer-3.0.0"
-      sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.4.0"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."json5-2.2.1"
-      sources."jsondiffpatch-0.4.1"
-      sources."jsonfile-4.0.0"
-      sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.2"
-      sources."junk-3.1.0"
-      sources."keyboardevent-from-electron-accelerator-2.0.0"
-      sources."keyboardevents-areequal-0.2.2"
-      sources."keyboardjs-2.6.4"
-      sources."keyv-3.1.0"
-      sources."kind-of-6.0.3"
-      sources."labeled-stream-splicer-2.0.2"
-      sources."latest-version-5.1.0"
-      sources."levn-0.4.1"
-      sources."licensify-3.1.3"
-      sources."lines-and-columns-1.2.4"
-      (sources."load-json-file-2.0.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."locate-path-2.0.0"
-      sources."lodash-4.17.21"
-      sources."lodash.debounce-4.0.8"
-      sources."lodash.get-4.4.2"
-      sources."lodash.memoize-3.0.4"
-      sources."lodash.merge-4.6.2"
-      sources."long-4.0.0"
-      sources."loop-protect-git+https://github.com/jean-emmanuel/loop-protect#v1.0.1"
-      sources."lower-case-1.1.4"
-      sources."lowercase-keys-1.0.1"
-      sources."lru-cache-6.0.0"
-      sources."magic-string-0.23.2"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."make-fetch-happen-9.1.0"
-      sources."map-obj-4.3.0"
-      (sources."matcher-3.0.0" // {
-        dependencies = [
-          sources."escape-string-regexp-4.0.0"
-        ];
-      })
-      sources."md5.js-1.3.5"
-      (sources."meow-9.0.0" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."hosted-git-info-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."normalize-package-data-3.0.3"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."parse-json-5.2.0"
-          sources."path-exists-4.0.0"
-          (sources."read-pkg-5.2.0" // {
-            dependencies = [
-              sources."hosted-git-info-2.8.9"
-              sources."normalize-package-data-2.5.0"
-              sources."type-fest-0.6.0"
-            ];
-          })
-          (sources."read-pkg-up-7.0.1" // {
-            dependencies = [
-              sources."type-fest-0.8.1"
-            ];
-          })
-          sources."semver-5.7.1"
-          sources."type-fest-0.18.1"
-        ];
-      })
-      sources."merge-source-map-1.0.4"
-      (sources."miller-rabin-4.0.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."mime-1.6.0"
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
-      sources."mimic-response-1.0.1"
-      sources."min-indent-1.0.1"
-      sources."minimalistic-assert-1.0.1"
-      sources."minimalistic-crypto-utils-1.0.1"
-      (sources."minimatch-5.1.0" // {
-        dependencies = [
-          sources."balanced-match-1.0.2"
-          sources."brace-expansion-2.0.1"
-        ];
-      })
-      sources."minimist-1.2.7"
-      sources."minimist-options-4.1.0"
-      sources."minipass-3.3.5"
-      sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-1.4.1"
-      sources."minipass-flush-1.0.5"
-      sources."minipass-pipeline-1.2.4"
-      sources."minipass-sized-1.0.3"
-      sources."minizlib-2.1.2"
-      sources."mkdirp-0.5.6"
-      sources."mkdirp-classic-0.5.3"
-      sources."module-deps-6.2.3"
-      (sources."mold-source-map-0.4.0" // {
-        dependencies = [
-          sources."through-2.2.7"
-        ];
-      })
-      sources."ms-2.1.2"
-      sources."multicast-dns-git+https://github.com/jean-emmanuel/multicast-dns"
-      sources."multicast-dns-service-types-1.1.0"
-      sources."mutexify-1.4.0"
-      sources."nan-2.17.0"
-      sources."nanoassert-1.1.0"
-      (sources."nanobench-2.1.1" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."ansi-styles-2.2.1"
-          sources."chalk-1.1.3"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
-        ];
-      })
-      sources."nanohtml-1.10.0"
-      sources."nanoid-3.3.4"
-      sources."nanomorph-5.4.3"
-      sources."natural-compare-1.4.0"
-      sources."negotiator-0.6.3"
-      sources."no-case-2.3.2"
-      sources."node-forge-1.3.1"
-      (sources."node-gyp-8.4.1" // {
-        dependencies = [
-          sources."npmlog-6.0.2"
-          sources."rimraf-3.0.2"
-        ];
-      })
-      sources."node-gyp-build-4.5.0"
-      sources."node-mouse-0.0.2"
-      sources."node-releases-2.0.6"
-      (sources."node-sass-7.0.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."nodemon-2.0.16" // {
-        dependencies = [
-          sources."debug-3.2.7"
-          sources."minimatch-3.1.2"
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."nopt-5.0.0"
-      sources."normalize-html-whitespace-0.2.0"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."normalize-path-3.0.0"
-      sources."normalize-url-4.5.1"
-      sources."nosleep.js-0.12.0"
-      sources."npm-conf-1.1.3"
-      (sources."npmlog-5.0.1" // {
-        dependencies = [
-          sources."are-we-there-yet-2.0.0"
-          sources."gauge-3.0.2"
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."oauth-sign-0.9.0"
-      sources."object-assign-4.1.1"
-      sources."object-inspect-1.12.2"
-      sources."object-is-1.1.5"
-      sources."object-keys-1.1.1"
-      sources."object.assign-4.1.4"
-      sources."offset-sourcemap-lines-1.0.1"
-      sources."on-finished-2.4.1"
-      sources."once-1.4.0"
-      sources."open-8.4.0"
-      sources."optionator-0.9.1"
-      sources."os-browserify-0.3.0"
-      (sources."osc-git+https://github.com/jean-emmanuel/osc.js" // {
-        dependencies = [
-          sources."ws-7.5.3"
-        ];
-      })
-      sources."osi-licenses-0.1.1"
-      sources."oss-license-name-to-url-1.2.1"
-      sources."p-cancelable-1.1.0"
-      sources."p-limit-1.3.0"
-      sources."p-locate-2.0.0"
-      sources."p-map-4.0.0"
-      sources."p-try-1.0.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."pako-1.0.11"
-      sources."parent-module-1.0.1"
-      sources."parents-1.0.1"
-      sources."parse-asn1-5.1.6"
-      sources."parse-author-2.0.0"
-      sources."parse-json-2.2.0"
-      sources."parse-srcset-1.0.2"
-      sources."path-browserify-1.0.1"
-      sources."path-exists-3.0.0"
-      sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.1"
-      sources."path-parse-1.0.7"
-      sources."path-platform-0.11.15"
-      (sources."path-type-2.0.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."pbkdf2-3.1.2"
-      sources."pend-1.2.0"
-      sources."performance-now-2.1.0"
-      sources."picocolors-1.0.0"
-      sources."picomatch-2.3.1"
-      sources."pify-3.0.0"
-      sources."plist-3.0.6"
-      (sources."postcss-7.0.39" // {
-        dependencies = [
-          sources."picocolors-0.2.1"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."prelude-ls-1.2.1"
-      sources."prepend-http-2.0.0"
-      sources."pretty-hrtime-1.0.3"
-      sources."process-0.11.10"
-      sources."process-nextick-args-2.0.1"
-      sources."progress-2.0.3"
-      sources."promise-inflight-1.0.1"
-      sources."promise-retry-2.0.1"
-      sources."proto-list-1.2.4"
-      sources."psl-1.9.0"
-      sources."pstree.remy-1.1.8"
-      (sources."public-encrypt-4.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."pump-3.0.0"
-      sources."punycode-1.4.1"
-      sources."pupa-2.1.1"
-      sources."python-shell-3.0.1"
-      sources."qs-6.5.3"
-      sources."querystring-0.2.0"
-      sources."querystring-es3-0.2.1"
-      sources."queue-tick-1.0.1"
-      sources."quick-lru-4.0.1"
-      sources."randombytes-2.1.0"
-      sources."randomfill-1.0.4"
-      sources."range-parser-1.2.1"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."strip-json-comments-2.0.1"
-        ];
-      })
-      sources."rcedit-2.3.0"
-      sources."read-only-stream-2.0.0"
-      sources."read-pkg-2.0.0"
-      sources."read-pkg-up-2.0.0"
-      (sources."readable-stream-2.3.7" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."readdirp-3.6.0"
-      sources."redent-3.0.0"
-      sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-10.1.0"
-      sources."regenerator-runtime-0.13.10"
-      sources."regenerator-transform-0.15.0"
-      sources."regexp.prototype.flags-1.4.3"
-      sources."regexpp-3.2.0"
-      sources."regexpu-core-5.2.1"
-      sources."registry-auth-token-4.2.2"
-      sources."registry-url-5.1.0"
-      sources."regjsgen-0.7.1"
-      (sources."regjsparser-0.9.1" // {
-        dependencies = [
-          sources."jsesc-0.5.0"
-        ];
-      })
-      sources."replacestream-4.0.3"
-      sources."request-2.88.2"
-      sources."require-directory-2.1.1"
-      sources."resolve-1.22.1"
-      sources."resolve-from-4.0.0"
-      sources."responselike-1.0.2"
-      sources."retry-0.12.0"
-      sources."rimraf-2.7.1"
-      sources."ripemd160-2.0.2"
-      sources."roarr-2.15.4"
-      sources."safe-buffer-5.2.1"
-      sources."safe-regex-test-1.0.0"
-      sources."safer-buffer-2.1.2"
-      sources."sanitize-html-1.27.5"
-      sources."sass-graph-4.0.0"
-      sources."scope-css-1.2.1"
-      sources."screenfull-5.2.0"
-      (sources."scss-tokenizer-0.3.0" // {
-        dependencies = [
-          sources."source-map-0.7.4"
-        ];
-      })
-      sources."semver-7.3.7"
-      sources."semver-compare-1.0.0"
-      (sources."semver-diff-3.1.1" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (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."serialize-error-7.0.1"
-      sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.2.0"
-      sources."sha.js-2.4.11"
-      sources."shasum-object-1.0.0"
-      sources."shebang-command-2.0.0"
-      sources."shebang-regex-3.0.0"
-      sources."shell-quote-1.7.4"
-      sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.7"
-      sources."simple-concat-1.0.1"
-      sources."slip-1.0.2"
-      sources."slugify-1.6.5"
-      sources."smart-buffer-4.2.0"
-      (sources."socks-2.7.1" // {
-        dependencies = [
-          sources."ip-2.0.0"
-        ];
-      })
-      sources."socks-proxy-agent-6.2.1"
-      sources."sortablejs-1.15.0"
-      sources."source-map-0.5.7"
-      (sources."source-map-support-0.5.21" // {
-        dependencies = [
-          sources."source-map-0.6.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.12"
-      sources."sprintf-js-1.1.2"
-      sources."sshpk-1.17.0"
-      sources."ssri-8.0.1"
-      sources."stack-generator-2.0.10"
-      sources."stackframe-1.3.4"
-      (sources."stacktrace-gps-3.1.2" // {
-        dependencies = [
-          sources."source-map-0.5.6"
-        ];
-      })
-      sources."stacktrace-js-2.0.2"
-      sources."statuses-2.0.1"
-      sources."stdout-stream-1.4.1"
-      (sources."stream-browserify-3.0.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."stream-combiner2-1.1.1"
-      (sources."stream-http-3.2.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."stream-splicer-2.0.1"
-      sources."strictdom-1.0.1"
-      sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.5"
-      sources."string.prototype.trimstart-1.0.5"
-      sources."string_decoder-1.3.0"
-      sources."strip-ansi-6.0.1"
-      sources."strip-bom-3.0.0"
-      sources."strip-css-comments-3.0.0"
-      sources."strip-indent-3.0.0"
-      sources."strip-json-comments-3.1.1"
-      sources."strip-outer-1.0.1"
-      sources."subarg-1.0.0"
-      sources."sumchecker-3.0.1"
-      sources."supports-color-5.5.0"
-      sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."syntax-error-1.4.0"
-      (sources."tar-6.1.11" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      (sources."terser-3.17.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."text-table-0.2.0"
-      sources."through-2.3.8"
-      sources."through2-2.0.5"
-      sources."thunky-1.1.0"
-      sources."timers-browserify-1.4.2"
-      sources."to-fast-properties-2.0.0"
-      sources."to-readable-stream-1.0.0"
-      sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.1"
-      (sources."touch-3.1.0" // {
-        dependencies = [
-          sources."nopt-1.0.10"
-        ];
-      })
-      (sources."tough-cookie-2.5.0" // {
-        dependencies = [
-          sources."punycode-2.1.1"
-        ];
-      })
-      (sources."transform-ast-2.4.4" // {
-        dependencies = [
-          sources."is-buffer-2.0.5"
-        ];
-      })
-      sources."trim-newlines-3.0.1"
-      sources."trim-repeated-1.0.0"
-      sources."true-case-path-1.0.3"
-      sources."tty-browserify-0.0.1"
-      sources."tunnel-0.0.6"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."type-check-0.4.0"
-      sources."type-fest-0.13.1"
-      sources."type-name-2.0.2"
-      sources."typedarray-0.0.6"
-      sources."typedarray-to-buffer-3.1.5"
-      (sources."uglifyify-5.0.2" // {
-        dependencies = [
-          sources."convert-source-map-1.1.3"
-          sources."minimatch-3.1.2"
-        ];
-      })
-      sources."umd-3.0.3"
-      sources."unbox-primitive-1.0.2"
-      sources."undeclared-identifiers-1.1.3"
-      sources."undefsafe-2.0.5"
-      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"
-      sources."unicode-property-aliases-ecmascript-2.1.0"
-      sources."unique-filename-1.1.1"
-      sources."unique-slug-2.0.2"
-      sources."unique-string-2.0.0"
-      sources."universalify-0.1.2"
-      sources."unix-crypt-td-js-1.1.4"
-      sources."update-browserslist-db-1.0.10"
-      (sources."update-notifier-5.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."upper-case-1.1.3"
-      (sources."uri-js-4.4.1" // {
-        dependencies = [
-          sources."punycode-2.1.1"
-        ];
-      })
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
-      sources."url-parse-lax-3.0.0"
-      sources."utf-8-validate-5.0.10"
-      sources."util-0.12.5"
-      sources."util-deprecate-1.0.2"
-      sources."uuid-3.4.0"
-      sources."v8-compile-cache-2.3.0"
-      sources."validate-npm-package-license-3.0.4"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."core-util-is-1.0.2"
-        ];
-      })
-      sources."vm-browserify-1.1.2"
-      sources."webworkify-1.5.0"
-      sources."which-2.0.2"
-      sources."which-boxed-primitive-1.0.2"
-      sources."which-typed-array-1.1.8"
-      sources."wide-align-1.1.5"
-      sources."widest-line-3.1.0"
-      sources."wolfy87-eventemitter-5.2.9"
-      sources."word-wrap-1.2.3"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.3"
-      sources."ws-8.6.0"
-      sources."xdg-basedir-4.0.0"
-      sources."xmlbuilder-15.1.1"
-      sources."xtend-4.0.2"
-      sources."y18n-5.0.8"
-      sources."yallist-4.0.0"
-      (sources."yargs-17.5.1" // {
-        dependencies = [
-          sources."yargs-parser-21.1.1"
-        ];
-      })
-      sources."yargs-parser-20.2.9"
-      sources."yauzl-2.10.0"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Libre and modular OSC / MIDI controller";
-      homepage = "http://openstagecontrol.ammd.net/";
-      license = "GPL-3.0";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
-in
-{
-  args = args;
-  sources = sources;
-  tarball = nodeEnv.buildNodeSourceDist args;
-  package = nodeEnv.buildNodePackage args;
-  shell = nodeEnv.buildNodeShell args;
-  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
-    src = stdenv.mkDerivation {
-      name = args.name + "-package-json";
-      src = nix-gitignore.gitignoreSourcePure [
-        "*"
-        "!package.json"
-        "!package-lock.json"
-      ] args.src;
-      dontBuild = true;
-      installPhase = "mkdir -p $out; cp -r ./* $out;";
-    };
-  });
-}
diff --git a/pkgs/applications/audio/open-stage-control/package-lock.json.patch b/pkgs/applications/audio/open-stage-control/package-lock.json.patch
new file mode 100644
index 0000000000000..44a82d595aad1
--- /dev/null
+++ b/pkgs/applications/audio/open-stage-control/package-lock.json.patch
@@ -0,0 +1,18247 @@
+--- /dev/null	2022-11-10 08:46:51.851132440 -0500
++++ ./package-lock.json	2022-11-10 10:15:51.122373816 -0500
+@@ -0,0 +1,18244 @@
++{
++  "name": "open-stage-control",
++  "version": "1.20.0",
++  "lockfileVersion": 2,
++  "requires": true,
++  "packages": {
++    "": {
++      "name": "open-stage-control",
++      "version": "1.20.0",
++      "hasInstallScript": true,
++      "license": "GPL-3.0",
++      "dependencies": {
++        "@babel/core": "7.18.0",
++        "@babel/eslint-parser": "7.17.0",
++        "@babel/plugin-proposal-object-rest-spread": "7.18.0",
++        "@babel/polyfill": "7.12.1",
++        "@babel/preset-env": "7.18.0",
++        "@electron/remote": "2.0.8",
++        "ansi-html": "0.0.9",
++        "babelify": "10.0.0",
++        "balanced-match": "2.0.0",
++        "bonjour": "github:jean-emmanuel/bonjour",
++        "brace": "0.11.1",
++        "browserify": "17.0.0",
++        "chokidar": "3.5.3",
++        "chroma-js": "2.4.2",
++        "core-js": "3.22.5",
++        "cpr": "3.0.1",
++        "deep-extend": "0.6.0",
++        "electron-localshortcut": "3.2.1",
++        "electron-packager": "15.2.0",
++        "electron-packager-plugin-non-proprietary-codecs-ffmpeg": "1.0.2",
++        "env-paths": "2.2.1",
++        "eslint": "8.16.0",
++        "exorcist": "2.0.0",
++        "fastdom": "1.0.10",
++        "file-saver": "2.0.5",
++        "gyronorm": "2.0.6",
++        "http-auth": "4.1.9",
++        "json5": "2.2.1",
++        "jsondiffpatch": "0.4.1",
++        "keyboardjs": "2.6.4",
++        "licensify": "3.1.3",
++        "loop-protect": "github:jean-emmanuel/loop-protect#v1.0.1",
++        "minimatch": "5.1.0",
++        "nanohtml": "1.10.0",
++        "nanoid": "3.3.4",
++        "nanomorph": "5.4.3",
++        "node-forge": "1.3.1",
++        "node-mouse": "0.0.2",
++        "node-sass": "7.0.1",
++        "nodemon": "2.0.16",
++        "nosleep.js": "0.12.0",
++        "open": "8.4.0",
++        "osc": "github:jean-emmanuel/osc.js",
++        "python-shell": "3.0.1",
++        "replacestream": "4.0.3",
++        "sanitize-html": "1.27.5",
++        "scope-css": "1.2.1",
++        "screenfull": "5.2.0",
++        "semver": "7.3.7",
++        "send": "0.18.0",
++        "sortablejs": "1.15.0",
++        "source-map-support": "0.5.21",
++        "stacktrace-js": "2.0.2",
++        "through": "2.3.8",
++        "uglifyify": "5.0.2",
++        "webworkify": "1.5.0",
++        "ws": "8.6.0",
++        "yargs": "17.5.1"
++      },
++      "devDependencies": {
++        "watchify": "4.0.0"
++      },
++      "engines": {
++        "node": "16"
++      }
++    },
++    "node_modules/@ampproject/remapping": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
++      "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
++      "dependencies": {
++        "@jridgewell/gen-mapping": "^0.1.0",
++        "@jridgewell/trace-mapping": "^0.3.9"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@babel/code-frame": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
++      "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
++      "dependencies": {
++        "@babel/highlight": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/compat-data": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz",
++      "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/core": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.0.tgz",
++      "integrity": "sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw==",
++      "dependencies": {
++        "@ampproject/remapping": "^2.1.0",
++        "@babel/code-frame": "^7.16.7",
++        "@babel/generator": "^7.18.0",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-module-transforms": "^7.18.0",
++        "@babel/helpers": "^7.18.0",
++        "@babel/parser": "^7.18.0",
++        "@babel/template": "^7.16.7",
++        "@babel/traverse": "^7.18.0",
++        "@babel/types": "^7.18.0",
++        "convert-source-map": "^1.7.0",
++        "debug": "^4.1.0",
++        "gensync": "^1.0.0-beta.2",
++        "json5": "^2.2.1",
++        "semver": "^6.3.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==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/eslint-parser": {
++      "version": "7.17.0",
++      "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz",
++      "integrity": "sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==",
++      "dependencies": {
++        "eslint-scope": "^5.1.1",
++        "eslint-visitor-keys": "^2.1.0",
++        "semver": "^6.3.0"
++      },
++      "engines": {
++        "node": "^10.13.0 || ^12.13.0 || >=14.0.0"
++      },
++      "peerDependencies": {
++        "@babel/core": ">=7.11.0",
++        "eslint": "^7.5.0 || ^8.0.0"
++      }
++    },
++    "node_modules/@babel/eslint-parser/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/generator": {
++      "version": "7.20.4",
++      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz",
++      "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==",
++      "dependencies": {
++        "@babel/types": "^7.20.2",
++        "@jridgewell/gen-mapping": "^0.3.2",
++        "jsesc": "^2.5.1"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
++      "version": "0.3.2",
++      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
++      "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
++      "dependencies": {
++        "@jridgewell/set-array": "^1.0.1",
++        "@jridgewell/sourcemap-codec": "^1.4.10",
++        "@jridgewell/trace-mapping": "^0.3.9"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@babel/helper-annotate-as-pure": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
++      "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
++      "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
++      "dependencies": {
++        "@babel/helper-explode-assignable-expression": "^7.18.6",
++        "@babel/types": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-compilation-targets": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz",
++      "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==",
++      "dependencies": {
++        "@babel/compat-data": "^7.20.0",
++        "@babel/helper-validator-option": "^7.18.6",
++        "browserslist": "^4.21.3",
++        "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==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/helper-create-class-features-plugin": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz",
++      "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-member-expression-to-functions": "^7.18.9",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/helper-replace-supers": "^7.19.1",
++        "@babel/helper-split-export-declaration": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/helper-create-regexp-features-plugin": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz",
++      "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "regexpu-core": "^5.1.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/helper-define-polyfill-provider": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
++      "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
++      "dependencies": {
++        "@babel/helper-compilation-targets": "^7.17.7",
++        "@babel/helper-plugin-utils": "^7.16.7",
++        "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==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/helper-environment-visitor": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
++      "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-explode-assignable-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
++      "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-function-name": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
++      "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
++      "dependencies": {
++        "@babel/template": "^7.18.10",
++        "@babel/types": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-hoist-variables": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
++      "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-member-expression-to-functions": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
++      "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==",
++      "dependencies": {
++        "@babel/types": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-module-imports": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
++      "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-module-transforms": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz",
++      "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==",
++      "dependencies": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-module-imports": "^7.18.6",
++        "@babel/helper-simple-access": "^7.20.2",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "@babel/helper-validator-identifier": "^7.19.1",
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.20.1",
++        "@babel/types": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-optimise-call-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
++      "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-plugin-utils": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
++      "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-remap-async-to-generator": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
++      "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-wrap-function": "^7.18.9",
++        "@babel/types": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/helper-replace-supers": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
++      "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==",
++      "dependencies": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-member-expression-to-functions": "^7.18.9",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/traverse": "^7.19.1",
++        "@babel/types": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-simple-access": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
++      "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
++      "dependencies": {
++        "@babel/types": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
++      "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
++      "dependencies": {
++        "@babel/types": "^7.20.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-split-export-declaration": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
++      "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
++      "dependencies": {
++        "@babel/types": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-string-parser": {
++      "version": "7.19.4",
++      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
++      "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-validator-identifier": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
++      "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-validator-option": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
++      "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helper-wrap-function": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz",
++      "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==",
++      "dependencies": {
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.19.0",
++        "@babel/types": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/helpers": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz",
++      "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==",
++      "dependencies": {
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.20.1",
++        "@babel/types": "^7.20.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/highlight": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
++      "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
++      "dependencies": {
++        "@babel/helper-validator-identifier": "^7.18.6",
++        "chalk": "^2.0.0",
++        "js-tokens": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/parser": {
++      "version": "7.20.3",
++      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz",
++      "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==",
++      "bin": {
++        "parser": "bin/babel-parser.js"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz",
++      "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz",
++      "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
++        "@babel/plugin-proposal-optional-chaining": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.13.0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-async-generator-functions": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz",
++      "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==",
++      "dependencies": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-remap-async-to-generator": "^7.18.9",
++        "@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.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
++      "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
++      "dependencies": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-class-static-block": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz",
++      "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==",
++      "dependencies": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@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-dynamic-import": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
++      "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@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.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
++      "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@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.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
++      "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@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.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz",
++      "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@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.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
++      "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@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.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
++      "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@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.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz",
++      "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==",
++      "dependencies": {
++        "@babel/compat-data": "^7.17.10",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-plugin-utils": "^7.17.12",
++        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
++        "@babel/plugin-transform-parameters": "^7.17.12"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-optional-catch-binding": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
++      "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@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.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz",
++      "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
++        "@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.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
++      "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
++      "dependencies": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-proposal-private-property-in-object": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
++      "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@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.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
++      "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
++      "dependencies": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.3"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-syntax-import-assertions": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
++      "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "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==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.8.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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
++      "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-async-to-generator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
++      "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
++      "dependencies": {
++        "@babel/helper-module-imports": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/helper-remap-async-to-generator": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-block-scoped-functions": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
++      "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-block-scoping": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz",
++      "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-classes": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz",
++      "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==",
++      "dependencies": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-compilation-targets": "^7.20.0",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.20.2",
++        "@babel/helper-replace-supers": "^7.19.1",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "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.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz",
++      "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-destructuring": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz",
++      "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-dotall-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
++      "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
++      "dependencies": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-duplicate-keys": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
++      "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-exponentiation-operator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
++      "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
++      "dependencies": {
++        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-for-of": {
++      "version": "7.18.8",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
++      "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-function-name": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
++      "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
++      "dependencies": {
++        "@babel/helper-compilation-targets": "^7.18.9",
++        "@babel/helper-function-name": "^7.18.9",
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-literals": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
++      "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-member-expression-literals": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
++      "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-modules-amd": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz",
++      "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==",
++      "dependencies": {
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-modules-commonjs": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz",
++      "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==",
++      "dependencies": {
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-simple-access": "^7.19.4"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-modules-systemjs": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz",
++      "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==",
++      "dependencies": {
++        "@babel/helper-hoist-variables": "^7.18.6",
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-validator-identifier": "^7.19.1"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-modules-umd": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
++      "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
++      "dependencies": {
++        "@babel/helper-module-transforms": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz",
++      "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==",
++      "dependencies": {
++        "@babel/helper-create-regexp-features-plugin": "^7.19.0",
++        "@babel/helper-plugin-utils": "^7.19.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-new-target": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
++      "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-object-super": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
++      "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/helper-replace-supers": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-parameters": {
++      "version": "7.20.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz",
++      "integrity": "sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-property-literals": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
++      "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-regenerator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz",
++      "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "regenerator-transform": "^0.15.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-reserved-words": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
++      "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-shorthand-properties": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
++      "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-spread": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz",
++      "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-sticky-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
++      "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-template-literals": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
++      "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-typeof-symbol": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
++      "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-unicode-escapes": {
++      "version": "7.18.10",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
++      "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/plugin-transform-unicode-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
++      "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
++      "dependencies": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/polyfill": {
++      "version": "7.12.1",
++      "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
++      "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
++      "deprecated": "🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.",
++      "dependencies": {
++        "core-js": "^2.6.5",
++        "regenerator-runtime": "^0.13.4"
++      }
++    },
++    "node_modules/@babel/polyfill/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.23.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. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
++      "hasInstallScript": true
++    },
++    "node_modules/@babel/preset-env": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.0.tgz",
++      "integrity": "sha512-cP74OMs7ECLPeG1reiCQ/D/ypyOxgfm8uR6HRYV23vTJ7Lu1nbgj9DQDo/vH59gnn7GOAwtTDPPYV4aXzsMKHA==",
++      "dependencies": {
++        "@babel/compat-data": "^7.17.10",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-plugin-utils": "^7.17.12",
++        "@babel/helper-validator-option": "^7.16.7",
++        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12",
++        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12",
++        "@babel/plugin-proposal-async-generator-functions": "^7.17.12",
++        "@babel/plugin-proposal-class-properties": "^7.17.12",
++        "@babel/plugin-proposal-class-static-block": "^7.18.0",
++        "@babel/plugin-proposal-dynamic-import": "^7.16.7",
++        "@babel/plugin-proposal-export-namespace-from": "^7.17.12",
++        "@babel/plugin-proposal-json-strings": "^7.17.12",
++        "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12",
++        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12",
++        "@babel/plugin-proposal-numeric-separator": "^7.16.7",
++        "@babel/plugin-proposal-object-rest-spread": "^7.18.0",
++        "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
++        "@babel/plugin-proposal-optional-chaining": "^7.17.12",
++        "@babel/plugin-proposal-private-methods": "^7.17.12",
++        "@babel/plugin-proposal-private-property-in-object": "^7.17.12",
++        "@babel/plugin-proposal-unicode-property-regex": "^7.17.12",
++        "@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-import-assertions": "^7.17.12",
++        "@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.17.12",
++        "@babel/plugin-transform-async-to-generator": "^7.17.12",
++        "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
++        "@babel/plugin-transform-block-scoping": "^7.17.12",
++        "@babel/plugin-transform-classes": "^7.17.12",
++        "@babel/plugin-transform-computed-properties": "^7.17.12",
++        "@babel/plugin-transform-destructuring": "^7.18.0",
++        "@babel/plugin-transform-dotall-regex": "^7.16.7",
++        "@babel/plugin-transform-duplicate-keys": "^7.17.12",
++        "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
++        "@babel/plugin-transform-for-of": "^7.17.12",
++        "@babel/plugin-transform-function-name": "^7.16.7",
++        "@babel/plugin-transform-literals": "^7.17.12",
++        "@babel/plugin-transform-member-expression-literals": "^7.16.7",
++        "@babel/plugin-transform-modules-amd": "^7.18.0",
++        "@babel/plugin-transform-modules-commonjs": "^7.18.0",
++        "@babel/plugin-transform-modules-systemjs": "^7.18.0",
++        "@babel/plugin-transform-modules-umd": "^7.18.0",
++        "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12",
++        "@babel/plugin-transform-new-target": "^7.17.12",
++        "@babel/plugin-transform-object-super": "^7.16.7",
++        "@babel/plugin-transform-parameters": "^7.17.12",
++        "@babel/plugin-transform-property-literals": "^7.16.7",
++        "@babel/plugin-transform-regenerator": "^7.18.0",
++        "@babel/plugin-transform-reserved-words": "^7.17.12",
++        "@babel/plugin-transform-shorthand-properties": "^7.16.7",
++        "@babel/plugin-transform-spread": "^7.17.12",
++        "@babel/plugin-transform-sticky-regex": "^7.16.7",
++        "@babel/plugin-transform-template-literals": "^7.17.12",
++        "@babel/plugin-transform-typeof-symbol": "^7.17.12",
++        "@babel/plugin-transform-unicode-escapes": "^7.16.7",
++        "@babel/plugin-transform-unicode-regex": "^7.16.7",
++        "@babel/preset-modules": "^0.1.5",
++        "@babel/types": "^7.18.0",
++        "babel-plugin-polyfill-corejs2": "^0.3.0",
++        "babel-plugin-polyfill-corejs3": "^0.5.0",
++        "babel-plugin-polyfill-regenerator": "^0.3.0",
++        "core-js-compat": "^3.22.1",
++        "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==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@babel/preset-modules": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
++      "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
++      "dependencies": {
++        "@babel/helper-plugin-utils": "^7.0.0",
++        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
++        "@babel/plugin-transform-dotall-regex": "^7.4.4",
++        "@babel/types": "^7.4.4",
++        "esutils": "^2.0.2"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/@babel/runtime": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz",
++      "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==",
++      "dependencies": {
++        "regenerator-runtime": "^0.13.10"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/template": {
++      "version": "7.18.10",
++      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
++      "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
++      "dependencies": {
++        "@babel/code-frame": "^7.18.6",
++        "@babel/parser": "^7.18.10",
++        "@babel/types": "^7.18.10"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/traverse": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz",
++      "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==",
++      "dependencies": {
++        "@babel/code-frame": "^7.18.6",
++        "@babel/generator": "^7.20.1",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-hoist-variables": "^7.18.6",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "@babel/parser": "^7.20.1",
++        "@babel/types": "^7.20.0",
++        "debug": "^4.1.0",
++        "globals": "^11.1.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@babel/types": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz",
++      "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==",
++      "dependencies": {
++        "@babel/helper-string-parser": "^7.19.4",
++        "@babel/helper-validator-identifier": "^7.19.1",
++        "to-fast-properties": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/@electron/get": {
++      "version": "1.14.1",
++      "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
++      "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
++      "dependencies": {
++        "debug": "^4.1.1",
++        "env-paths": "^2.2.0",
++        "fs-extra": "^8.1.0",
++        "got": "^9.6.0",
++        "progress": "^2.0.3",
++        "semver": "^6.2.0",
++        "sumchecker": "^3.0.1"
++      },
++      "engines": {
++        "node": ">=8.6"
++      },
++      "optionalDependencies": {
++        "global-agent": "^3.0.0",
++        "global-tunnel-ng": "^2.7.1"
++      }
++    },
++    "node_modules/@electron/get/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==",
++      "dependencies": {
++        "graceful-fs": "^4.2.0",
++        "jsonfile": "^4.0.0",
++        "universalify": "^0.1.0"
++      },
++      "engines": {
++        "node": ">=6 <7 || >=8"
++      }
++    },
++    "node_modules/@electron/get/node_modules/jsonfile": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
++      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++      "optionalDependencies": {
++        "graceful-fs": "^4.1.6"
++      }
++    },
++    "node_modules/@electron/get/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/@electron/get/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/@electron/remote": {
++      "version": "2.0.8",
++      "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
++      "integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==",
++      "peerDependencies": {
++        "electron": ">= 13.0.0"
++      }
++    },
++    "node_modules/@eslint/eslintrc": {
++      "version": "1.3.3",
++      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
++      "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
++      "dependencies": {
++        "ajv": "^6.12.4",
++        "debug": "^4.3.2",
++        "espree": "^9.4.0",
++        "globals": "^13.15.0",
++        "ignore": "^5.2.0",
++        "import-fresh": "^3.2.1",
++        "js-yaml": "^4.1.0",
++        "minimatch": "^3.1.2",
++        "strip-json-comments": "^3.1.1"
++      },
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/eslint"
++      }
++    },
++    "node_modules/@eslint/eslintrc/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=="
++    },
++    "node_modules/@eslint/eslintrc/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==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/@eslint/eslintrc/node_modules/globals": {
++      "version": "13.17.0",
++      "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
++      "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
++      "dependencies": {
++        "type-fest": "^0.20.2"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/@eslint/eslintrc/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/@gar/promisify": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
++      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw=="
++    },
++    "node_modules/@humanwhocodes/config-array": {
++      "version": "0.9.5",
++      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
++      "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
++      "dependencies": {
++        "@humanwhocodes/object-schema": "^1.2.1",
++        "debug": "^4.1.1",
++        "minimatch": "^3.0.4"
++      },
++      "engines": {
++        "node": ">=10.10.0"
++      }
++    },
++    "node_modules/@humanwhocodes/config-array/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=="
++    },
++    "node_modules/@humanwhocodes/config-array/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==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/@humanwhocodes/config-array/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/@humanwhocodes/object-schema": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
++      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
++    },
++    "node_modules/@jridgewell/gen-mapping": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
++      "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
++      "dependencies": {
++        "@jridgewell/set-array": "^1.0.0",
++        "@jridgewell/sourcemap-codec": "^1.4.10"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@jridgewell/resolve-uri": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
++      "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@jridgewell/set-array": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
++      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/@jridgewell/sourcemap-codec": {
++      "version": "1.4.14",
++      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
++      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
++    },
++    "node_modules/@jridgewell/trace-mapping": {
++      "version": "0.3.17",
++      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
++      "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
++      "dependencies": {
++        "@jridgewell/resolve-uri": "3.1.0",
++        "@jridgewell/sourcemap-codec": "1.4.14"
++      }
++    },
++    "node_modules/@npmcli/fs": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
++      "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
++      "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==",
++      "deprecated": "This functionality has been moved to @npmcli/fs",
++      "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==",
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/@npmcli/move-file/node_modules/rimraf": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++      "dependencies": {
++        "glob": "^7.1.3"
++      },
++      "bin": {
++        "rimraf": "bin.js"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/@serialport/binding-abstract": {
++      "version": "9.2.4",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.2.4.tgz",
++      "integrity": "sha512-UESvncat2oQKnAp29eDVJ2jB9sADatCgoojPPB4RVvp3+3Wqu5QVEh/UCjHRUeDJ20fkSFnKAw9D0vNoBQ+5Kw==",
++      "deprecated": "This package has been renamed to @serialport/bindings-interface",
++      "optional": true,
++      "dependencies": {
++        "debug": "^4.3.2"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/binding-mock": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-9.0.7.tgz",
++      "integrity": "sha512-aR8H+htZwwZZkVb1MdbnNvGWw8eXVRqQ2qPhkbKyx0N/LY5aVIgCgT98Kt1YylLsG7SzNG+Jbhd4wzwEuPVT5Q==",
++      "optional": true,
++      "dependencies": {
++        "@serialport/binding-abstract": "^9.0.7",
++        "debug": "^4.3.1"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/bindings": {
++      "version": "9.2.9",
++      "resolved": "https://registry.npmjs.org/@serialport/bindings/-/bindings-9.2.9.tgz",
++      "integrity": "sha512-An7PiVlyNMx/0RDnSBxFHIsd4kt0/zPlDALlTjhVQKXbG6e0xRqLKbkoZVzHMS8rg7HzCu8G1nplifoAwNm5Lg==",
++      "deprecated": "This package has been renamed to @serialport/bindings-cpp.",
++      "hasInstallScript": true,
++      "optional": true,
++      "dependencies": {
++        "@serialport/binding-abstract": "9.2.3",
++        "@serialport/parser-readline": "9.2.4",
++        "bindings": "^1.5.0",
++        "debug": "^4.3.2",
++        "nan": "^2.15.0",
++        "prebuild-install": "^7.0.0"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/bindings/node_modules/@serialport/binding-abstract": {
++      "version": "9.2.3",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.2.3.tgz",
++      "integrity": "sha512-cQs9tbIlG3P0IrOWyVirqlhWuJ7Ms2Zh9m2108z6Y5UW/iVj6wEOiW8EmK9QX9jmJXYllE7wgGgvVozP5oCj3w==",
++      "optional": true,
++      "dependencies": {
++        "debug": "^4.3.2"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/bindings/node_modules/@serialport/parser-delimiter": {
++      "version": "9.2.4",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.2.4.tgz",
++      "integrity": "sha512-4nvTAoYAgkxFiXrkI+3CA49Yd43CODjeszh89EK+I9c8wOZ+etZduRCzINYPiy26g7zO+GRAb9FoPCsY+sYcbQ==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/bindings/node_modules/@serialport/parser-readline": {
++      "version": "9.2.4",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.2.4.tgz",
++      "integrity": "sha512-Z1/qrZTQUVhNSJP1hd9YfDvq0o7d87rNwAjjRKbVpa7Qi51tG5BnKt43IV3NFMyBlVcRe0rnIb3tJu57E0SOwg==",
++      "optional": true,
++      "dependencies": {
++        "@serialport/parser-delimiter": "9.2.4"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-byte-length": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-9.0.7.tgz",
++      "integrity": "sha512-evf7oOOSBMBn2AZZbgBFMRIyEzlsyQkhqaPm7IBCPTxMDXRf4tKkFYJHYZB0/6d1W4eI0meH079UqmSsh/uoDA==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-cctalk": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-9.0.7.tgz",
++      "integrity": "sha512-ert5jhMkeiTfr44TkbdySC09J8UwAsf/RxBucVN5Mz5enG509RggnkfFi4mfj3UCG2vZ7qsmM6gtZ62DshY02Q==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-delimiter": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.0.7.tgz",
++      "integrity": "sha512-Vb2NPeXPZ/28M4m5x4OAHFd8jRAeddNCgvL+Q+H/hqFPY1w47JcMLchC7pigRW8Cnt1fklmzfwdNQ8Fb+kMkxQ==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-inter-byte-timeout": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-9.0.7.tgz",
++      "integrity": "sha512-lUZ3cwgUluBvJ1jf+0LQsqoiPYAokDO6+fRCw9HCfnrF/OS60Gm4rxuyo2uQIueqZkJ7NIFP+ibKsULrA47AEA==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-readline": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.0.7.tgz",
++      "integrity": "sha512-ydoLbgVQQPxWrwbe3Fhh4XnZexbkEQAC6M/qgRTzjnKvTjrD61CJNxLc3vyDaAPI9bJIhTiI7eTX3JB5jJv8Hg==",
++      "optional": true,
++      "dependencies": {
++        "@serialport/parser-delimiter": "^9.0.7"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-ready": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-9.0.7.tgz",
++      "integrity": "sha512-3qYhI4cNUPAYqVYvdwV57Y+PVRl4dJf1fPBtMoWtwDgwopsAXTR93WCs49WuUq9JCyNW+8Hrfqv8x8eNAD5Dqg==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/parser-regex": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-9.0.7.tgz",
++      "integrity": "sha512-5XF+FXbhqQ/5bVKM4NaGs1m+E9KjfmeCx/obwsKaUZognQF67jwoTfjJJWNP/21jKfxdl8XoCYjZjASl3XKRAw==",
++      "optional": true,
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@serialport/stream": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-9.0.7.tgz",
++      "integrity": "sha512-c/h7HPAeFiryD9iTGlaSvPqHFHSZ0NMQHxC4rcmKS2Vu3qJuEtkBdTLABwsMp7iWEiSnI4KC3s7bHapaXP06FQ==",
++      "optional": true,
++      "dependencies": {
++        "debug": "^4.3.1"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/@sindresorhus/is": {
++      "version": "0.14.0",
++      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
++      "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/@szmarczak/http-timer": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
++      "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
++      "dependencies": {
++        "defer-to-connect": "^1.0.1"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "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/glob": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
++      "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
++      "optional": true,
++      "dependencies": {
++        "@types/minimatch": "*",
++        "@types/node": "*"
++      }
++    },
++    "node_modules/@types/minimatch": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
++      "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
++      "optional": true
++    },
++    "node_modules/@types/minimist": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
++      "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ=="
++    },
++    "node_modules/@types/node": {
++      "version": "18.11.9",
++      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
++      "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
++      "optional": 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=="
++    },
++    "node_modules/@types/yauzl": {
++      "version": "2.10.0",
++      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
++      "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
++      "optional": true,
++      "dependencies": {
++        "@types/node": "*"
++      }
++    },
++    "node_modules/7zip": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/7zip/-/7zip-0.0.6.tgz",
++      "integrity": "sha512-ns8vKbKhIQm338AeWo/YdDSWil3pldwCMoyR2npoM2qDAzF8Vuko8BtDxpNt/wE15SXOh5K5WbjSLR4kTOAHLA==",
++      "bin": {
++        "7z": "7zip-lite/7z.exe"
++      }
++    },
++    "node_modules/abbrev": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
++      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
++    },
++    "node_modules/acorn": {
++      "version": "8.8.1",
++      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
++      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
++      "bin": {
++        "acorn": "bin/acorn"
++      },
++      "engines": {
++        "node": ">=0.4.0"
++      }
++    },
++    "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==",
++      "peerDependencies": {
++        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
++      }
++    },
++    "node_modules/acorn-node": {
++      "version": "1.8.2",
++      "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
++      "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
++      "dependencies": {
++        "acorn": "^7.0.0",
++        "acorn-walk": "^7.0.0",
++        "xtend": "^4.0.2"
++      }
++    },
++    "node_modules/acorn-node/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-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/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/agentkeepalive": {
++      "version": "4.2.1",
++      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
++      "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
++      "dependencies": {
++        "debug": "^4.1.0",
++        "depd": "^1.1.2",
++        "humanize-ms": "^1.2.1"
++      },
++      "engines": {
++        "node": ">= 8.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==",
++      "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==",
++      "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/ansi-align": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
++      "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
++      "dependencies": {
++        "string-width": "^4.1.0"
++      }
++    },
++    "node_modules/ansi-html": {
++      "version": "0.0.9",
++      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz",
++      "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==",
++      "engines": [
++        "node >= 0.8.0"
++      ],
++      "bin": {
++        "ansi-html": "bin/ansi-html"
++      }
++    },
++    "node_modules/ansi-regex": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
++      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
++      "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==",
++      "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/apache-crypt": {
++      "version": "1.2.6",
++      "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz",
++      "integrity": "sha512-072WetlM4blL8PREJVeY+WHiUh1R5VNt2HfceGS8aKqttPHcmqE5pkKuXPz/ULmJOFkc8Hw3kfKl6vy7Qka6DA==",
++      "dependencies": {
++        "unix-crypt-td-js": "^1.1.4"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/apache-md5": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz",
++      "integrity": "sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/aproba": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
++      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
++    },
++    "node_modules/are-we-there-yet": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
++      "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
++      "dependencies": {
++        "delegates": "^1.0.0",
++        "readable-stream": "^3.6.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/are-we-there-yet/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==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/argparse": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
++      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
++    },
++    "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=="
++    },
++    "node_modules/arrify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
++      "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/asar": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz",
++      "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==",
++      "deprecated": "Please use @electron/asar moving forward.  There is no API change, just a package name change",
++      "dependencies": {
++        "chromium-pickle-js": "^0.2.0",
++        "commander": "^5.0.0",
++        "glob": "^7.1.6",
++        "minimatch": "^3.0.4"
++      },
++      "bin": {
++        "asar": "bin/asar.js"
++      },
++      "engines": {
++        "node": ">=10.12.0"
++      },
++      "optionalDependencies": {
++        "@types/glob": "^7.1.1"
++      }
++    },
++    "node_modules/asar/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=="
++    },
++    "node_modules/asar/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==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/asar/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/asn1": {
++      "version": "0.2.6",
++      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
++      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
++      "dependencies": {
++        "safer-buffer": "~2.1.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==",
++      "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=="
++    },
++    "node_modules/assert": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
++      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
++      "dependencies": {
++        "object-assign": "^4.1.1",
++        "util": "0.10.3"
++      }
++    },
++    "node_modules/assert-plus": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
++      "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
++      "engines": {
++        "node": ">=0.8"
++      }
++    },
++    "node_modules/assert/node_modules/inherits": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
++      "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA=="
++    },
++    "node_modules/assert/node_modules/util": {
++      "version": "0.10.3",
++      "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
++      "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
++      "dependencies": {
++        "inherits": "2.0.1"
++      }
++    },
++    "node_modules/async-foreach": {
++      "version": "0.1.3",
++      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
++      "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/asynckit": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
++      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
++    },
++    "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==",
++      "engines": {
++        "node": ">= 4.0.0"
++      }
++    },
++    "node_modules/author-regex": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz",
++      "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==",
++      "engines": {
++        "node": ">=0.8"
++      }
++    },
++    "node_modules/available-typed-arrays": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
++      "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/aws-sign2": {
++      "version": "0.7.0",
++      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
++      "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/aws4": {
++      "version": "1.11.0",
++      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
++      "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
++    },
++    "node_modules/babel-plugin-polyfill-corejs2": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
++      "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
++      "dependencies": {
++        "@babel/compat-data": "^7.17.7",
++        "@babel/helper-define-polyfill-provider": "^0.3.3",
++        "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==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/babel-plugin-polyfill-corejs3": {
++      "version": "0.5.3",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
++      "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
++      "dependencies": {
++        "@babel/helper-define-polyfill-provider": "^0.3.2",
++        "core-js-compat": "^3.21.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/babel-plugin-polyfill-regenerator": {
++      "version": "0.3.1",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
++      "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
++      "dependencies": {
++        "@babel/helper-define-polyfill-provider": "^0.3.1"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0-0"
++      }
++    },
++    "node_modules/babelify": {
++      "version": "10.0.0",
++      "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz",
++      "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg==",
++      "engines": {
++        "node": ">=6.9.0"
++      },
++      "peerDependencies": {
++        "@babel/core": "^7.0.0"
++      }
++    },
++    "node_modules/balanced-match": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
++      "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA=="
++    },
++    "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==",
++      "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/bcrypt-pbkdf": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
++      "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
++      "dependencies": {
++        "tweetnacl": "^0.14.3"
++      }
++    },
++    "node_modules/bcryptjs": {
++      "version": "2.4.3",
++      "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
++      "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
++    },
++    "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==",
++      "optional": true,
++      "dependencies": {
++        "file-uri-to-path": "1.0.0"
++      }
++    },
++    "node_modules/bl": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
++      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
++      "optional": true,
++      "dependencies": {
++        "buffer": "^5.5.0",
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.4.0"
++      }
++    },
++    "node_modules/bl/node_modules/buffer": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
++      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ],
++      "optional": true,
++      "dependencies": {
++        "base64-js": "^1.3.1",
++        "ieee754": "^1.1.13"
++      }
++    },
++    "node_modules/bl/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==",
++      "optional": true,
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/bluebird": {
++      "version": "3.7.2",
++      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
++      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
++    },
++    "node_modules/bn.js": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
++      "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
++    },
++    "node_modules/bonjour": {
++      "version": "4.0.0",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/bonjour.git#33d7fa28c568d05cb7ffda1fd2b20f4cc364e273",
++      "license": "MIT",
++      "dependencies": {
++        "array-flatten": "^2.1.0",
++        "deep-equal": "^1.0.1",
++        "dns-equal": "^1.0.0",
++        "dns-txt": "github:jean-emmanuel/dns-txt#v2.0.3",
++        "multicast-dns": "github:jean-emmanuel/multicast-dns",
++        "multicast-dns-service-types": "^1.1.0"
++      }
++    },
++    "node_modules/boolean": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
++      "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
++      "optional": true
++    },
++    "node_modules/boxen": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
++      "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
++      "dependencies": {
++        "ansi-align": "^3.0.0",
++        "camelcase": "^6.2.0",
++        "chalk": "^4.1.0",
++        "cli-boxes": "^2.2.1",
++        "string-width": "^4.2.2",
++        "type-fest": "^0.20.2",
++        "widest-line": "^3.1.0",
++        "wrap-ansi": "^7.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/boxen/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==",
++      "dependencies": {
++        "color-convert": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
++      }
++    },
++    "node_modules/boxen/node_modules/camelcase": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
++      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/boxen/node_modules/chalk": {
++      "version": "4.1.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++      "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/boxen/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==",
++      "dependencies": {
++        "color-name": "~1.1.4"
++      },
++      "engines": {
++        "node": ">=7.0.0"
++      }
++    },
++    "node_modules/boxen/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=="
++    },
++    "node_modules/boxen/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==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/boxen/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==",
++      "dependencies": {
++        "has-flag": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/boxen/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==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/brace": {
++      "version": "0.11.1",
++      "resolved": "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz",
++      "integrity": "sha512-Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q=="
++    },
++    "node_modules/brace-expansion": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
++      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
++      "dependencies": {
++        "balanced-match": "^1.0.0"
++      }
++    },
++    "node_modules/brace-expansion/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=="
++    },
++    "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": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
++    },
++    "node_modules/browser-pack": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
++      "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
++      "dependencies": {
++        "combine-source-map": "~0.8.0",
++        "defined": "^1.0.0",
++        "JSONStream": "^1.0.3",
++        "safe-buffer": "^5.1.1",
++        "through2": "^2.0.0",
++        "umd": "^3.0.0"
++      },
++      "bin": {
++        "browser-pack": "bin/cmd.js"
++      }
++    },
++    "node_modules/browser-process-hrtime": {
++      "version": "0.1.3",
++      "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
++      "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
++    },
++    "node_modules/browser-resolve": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
++      "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
++      "dependencies": {
++        "resolve": "^1.17.0"
++      }
++    },
++    "node_modules/browserify": {
++      "version": "17.0.0",
++      "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz",
++      "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==",
++      "dependencies": {
++        "assert": "^1.4.0",
++        "browser-pack": "^6.0.1",
++        "browser-resolve": "^2.0.0",
++        "browserify-zlib": "~0.2.0",
++        "buffer": "~5.2.1",
++        "cached-path-relative": "^1.0.0",
++        "concat-stream": "^1.6.0",
++        "console-browserify": "^1.1.0",
++        "constants-browserify": "~1.0.0",
++        "crypto-browserify": "^3.0.0",
++        "defined": "^1.0.0",
++        "deps-sort": "^2.0.1",
++        "domain-browser": "^1.2.0",
++        "duplexer2": "~0.1.2",
++        "events": "^3.0.0",
++        "glob": "^7.1.0",
++        "has": "^1.0.0",
++        "htmlescape": "^1.1.0",
++        "https-browserify": "^1.0.0",
++        "inherits": "~2.0.1",
++        "insert-module-globals": "^7.2.1",
++        "JSONStream": "^1.0.3",
++        "labeled-stream-splicer": "^2.0.0",
++        "mkdirp-classic": "^0.5.2",
++        "module-deps": "^6.2.3",
++        "os-browserify": "~0.3.0",
++        "parents": "^1.0.1",
++        "path-browserify": "^1.0.0",
++        "process": "~0.11.0",
++        "punycode": "^1.3.2",
++        "querystring-es3": "~0.2.0",
++        "read-only-stream": "^2.0.0",
++        "readable-stream": "^2.0.2",
++        "resolve": "^1.1.4",
++        "shasum-object": "^1.0.0",
++        "shell-quote": "^1.6.1",
++        "stream-browserify": "^3.0.0",
++        "stream-http": "^3.0.0",
++        "string_decoder": "^1.1.1",
++        "subarg": "^1.0.0",
++        "syntax-error": "^1.1.1",
++        "through2": "^2.0.0",
++        "timers-browserify": "^1.0.1",
++        "tty-browserify": "0.0.1",
++        "url": "~0.11.0",
++        "util": "~0.12.0",
++        "vm-browserify": "^1.0.0",
++        "xtend": "^4.0.0"
++      },
++      "bin": {
++        "browserify": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "pako": "~1.0.5"
++      }
++    },
++    "node_modules/browserslist": {
++      "version": "4.21.4",
++      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
++      "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
++      "funding": [
++        {
++          "type": "opencollective",
++          "url": "https://opencollective.com/browserslist"
++        },
++        {
++          "type": "tidelift",
++          "url": "https://tidelift.com/funding/github/npm/browserslist"
++        }
++      ],
++      "dependencies": {
++        "caniuse-lite": "^1.0.30001400",
++        "electron-to-chromium": "^1.4.251",
++        "node-releases": "^2.0.6",
++        "update-browserslist-db": "^1.0.9"
++      },
++      "bin": {
++        "browserslist": "cli.js"
++      },
++      "engines": {
++        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
++      }
++    },
++    "node_modules/buffer": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
++      "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
++      "dependencies": {
++        "base64-js": "^1.0.2",
++        "ieee754": "^1.1.4"
++      }
++    },
++    "node_modules/buffer-alloc": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
++      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
++      "dependencies": {
++        "buffer-alloc-unsafe": "^1.1.0",
++        "buffer-fill": "^1.0.0"
++      }
++    },
++    "node_modules/buffer-alloc-unsafe": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
++      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
++    },
++    "node_modules/buffer-crc32": {
++      "version": "0.2.13",
++      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
++      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/buffer-fill": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
++      "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ=="
++    },
++    "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=="
++    },
++    "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=="
++    },
++    "node_modules/buffer-xor": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
++      "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ=="
++    },
++    "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": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ=="
++    },
++    "node_modules/cacache": {
++      "version": "15.3.0",
++      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
++      "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
++      "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==",
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/cacache/node_modules/rimraf": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++      "dependencies": {
++        "glob": "^7.1.3"
++      },
++      "bin": {
++        "rimraf": "bin.js"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/cacheable-request": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
++      "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
++      "dependencies": {
++        "clone-response": "^1.0.2",
++        "get-stream": "^5.1.0",
++        "http-cache-semantics": "^4.0.0",
++        "keyv": "^3.0.0",
++        "lowercase-keys": "^2.0.0",
++        "normalize-url": "^4.1.0",
++        "responselike": "^1.0.2"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/cacheable-request/node_modules/lowercase-keys": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
++      "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/cached-path-relative": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
++      "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA=="
++    },
++    "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/callsites": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
++      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/camel-case": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
++      "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==",
++      "dependencies": {
++        "no-case": "^2.2.0",
++        "upper-case": "^1.1.1"
++      }
++    },
++    "node_modules/camelcase": {
++      "version": "5.3.1",
++      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
++      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/camelcase-keys": {
++      "version": "6.2.2",
++      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
++      "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
++      "dependencies": {
++        "camelcase": "^5.3.1",
++        "map-obj": "^4.0.0",
++        "quick-lru": "^4.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/caniuse-lite": {
++      "version": "1.0.30001431",
++      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz",
++      "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==",
++      "funding": [
++        {
++          "type": "opencollective",
++          "url": "https://opencollective.com/browserslist"
++        },
++        {
++          "type": "tidelift",
++          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
++        }
++      ]
++    },
++    "node_modules/caseless": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
++      "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
++    },
++    "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==",
++      "dependencies": {
++        "ansi-styles": "^3.2.1",
++        "escape-string-regexp": "^1.0.5",
++        "supports-color": "^5.3.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/chokidar": {
++      "version": "3.5.3",
++      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
++      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
++      "funding": [
++        {
++          "type": "individual",
++          "url": "https://paulmillr.com/funding/"
++        }
++      ],
++      "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==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/chroma-js": {
++      "version": "2.4.2",
++      "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz",
++      "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A=="
++    },
++    "node_modules/chromium-pickle-js": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
++      "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw=="
++    },
++    "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=="
++    },
++    "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==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/cli-boxes": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
++      "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
++      "engines": {
++        "node": ">=6"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/cliui": {
++      "version": "7.0.4",
++      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
++      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
++      "dependencies": {
++        "string-width": "^4.2.0",
++        "strip-ansi": "^6.0.0",
++        "wrap-ansi": "^7.0.0"
++      }
++    },
++    "node_modules/clone-response": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
++      "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
++      "dependencies": {
++        "mimic-response": "^1.0.0"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "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==",
++      "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
++    },
++    "node_modules/color-support": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
++      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
++      "bin": {
++        "color-support": "bin.js"
++      }
++    },
++    "node_modules/combine-source-map": {
++      "version": "0.8.0",
++      "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
++      "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==",
++      "dependencies": {
++        "convert-source-map": "~1.1.0",
++        "inline-source-map": "~0.6.0",
++        "lodash.memoize": "~3.0.3",
++        "source-map": "~0.5.3"
++      }
++    },
++    "node_modules/combine-source-map/node_modules/convert-source-map": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
++      "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg=="
++    },
++    "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": "5.1.0",
++      "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
++      "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/compare-version": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
++      "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/concat-map": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
++      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
++    },
++    "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==",
++      "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/config-chain": {
++      "version": "1.1.13",
++      "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
++      "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
++      "optional": true,
++      "dependencies": {
++        "ini": "^1.3.4",
++        "proto-list": "~1.2.1"
++      }
++    },
++    "node_modules/configstore": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
++      "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
++      "dependencies": {
++        "dot-prop": "^5.2.0",
++        "graceful-fs": "^4.1.2",
++        "make-dir": "^3.0.0",
++        "unique-string": "^2.0.0",
++        "write-file-atomic": "^3.0.0",
++        "xdg-basedir": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=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=="
++    },
++    "node_modules/console-control-strings": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
++      "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
++    },
++    "node_modules/constants-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
++      "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ=="
++    },
++    "node_modules/convert-source-map": {
++      "version": "1.9.0",
++      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
++      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
++    },
++    "node_modules/core-js": {
++      "version": "3.22.5",
++      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz",
++      "integrity": "sha512-VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==",
++      "deprecated": "core-js@<3.23.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. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
++      "hasInstallScript": true,
++      "funding": {
++        "type": "opencollective",
++        "url": "https://opencollective.com/core-js"
++      }
++    },
++    "node_modules/core-js-compat": {
++      "version": "3.26.0",
++      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz",
++      "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==",
++      "dependencies": {
++        "browserslist": "^4.21.4"
++      },
++      "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=="
++    },
++    "node_modules/cpr": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/cpr/-/cpr-3.0.1.tgz",
++      "integrity": "sha512-Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==",
++      "dependencies": {
++        "graceful-fs": "^4.1.5",
++        "minimist": "^1.2.0",
++        "mkdirp": "~0.5.1",
++        "rimraf": "^2.5.4"
++      },
++      "bin": {
++        "cpr": "bin/cpr"
++      }
++    },
++    "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==",
++      "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=="
++    },
++    "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==",
++      "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==",
++      "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/cross-spawn": {
++      "version": "7.0.3",
++      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
++      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
++      "dependencies": {
++        "path-key": "^3.1.0",
++        "shebang-command": "^2.0.0",
++        "which": "^2.0.1"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/cross-unzip": {
++      "version": "0.0.2",
++      "resolved": "https://registry.npmjs.org/cross-unzip/-/cross-unzip-0.0.2.tgz",
++      "integrity": "sha512-nRJ5c+aqHz0OJVU4V1bqoaDggydfauK/Gha/H/ScBvuIjhZvl8YIpdWVzSR3vUhzCloqB1tvBdQ4V7J8qK7HzQ=="
++    },
++    "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==",
++      "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": "2.0.0",
++      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
++      "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/dash-ast": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
++      "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA=="
++    },
++    "node_modules/dashdash": {
++      "version": "1.14.1",
++      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
++      "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
++      "dependencies": {
++        "assert-plus": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "node_modules/debug": {
++      "version": "4.3.4",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
++      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
++      "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": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/decamelize-keys": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
++      "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
++      "dependencies": {
++        "decamelize": "^1.1.0",
++        "map-obj": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/decamelize-keys/node_modules/map-obj": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
++      "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/decompress-response": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
++      "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
++      "dependencies": {
++        "mimic-response": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "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-extend": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
++      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
++      "engines": {
++        "node": ">=4.0.0"
++      }
++    },
++    "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/defer-to-connect": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
++      "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
++    },
++    "node_modules/define-lazy-prop": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
++      "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/define-properties": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
++      "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
++      "dependencies": {
++        "has-property-descriptors": "^1.0.0",
++        "object-keys": "^1.1.1"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/defined": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
++      "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/delayed-stream": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
++      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
++      "engines": {
++        "node": ">=0.4.0"
++      }
++    },
++    "node_modules/delegates": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
++      "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
++    },
++    "node_modules/depd": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
++      "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/deps-sort": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz",
++      "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==",
++      "dependencies": {
++        "JSONStream": "^1.0.3",
++        "shasum-object": "^1.0.0",
++        "subarg": "^1.0.0",
++        "through2": "^2.0.0"
++      },
++      "bin": {
++        "deps-sort": "bin/cmd.js"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "minimalistic-assert": "^1.0.0"
++      }
++    },
++    "node_modules/destroy": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
++      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
++      "engines": {
++        "node": ">= 0.8",
++        "npm": "1.2.8000 || >= 1.4.16"
++      }
++    },
++    "node_modules/detect-libc": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
++      "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
++      "optional": 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==",
++      "optional": true
++    },
++    "node_modules/detective": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
++      "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
++      "dependencies": {
++        "acorn-node": "^1.8.2",
++        "defined": "^1.0.0",
++        "minimist": "^1.2.6"
++      },
++      "bin": {
++        "detective": "bin/detective.js"
++      },
++      "engines": {
++        "node": ">=0.8.0"
++      }
++    },
++    "node_modules/diff-match-patch": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
++      "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="
++    },
++    "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==",
++      "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=="
++    },
++    "node_modules/dns-equal": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
++      "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg=="
++    },
++    "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==",
++      "dependencies": {
++        "ip": "^1.1.0",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "node_modules/dns-txt": {
++      "version": "2.0.3",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/dns-txt.git#3bee7785c32d8bc71230d5e01383c61fb72a4b4f",
++      "license": "MIT",
++      "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==",
++      "dependencies": {
++        "esutils": "^2.0.2"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/dom-serializer": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
++      "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
++      "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/dom-serializer/node_modules/domhandler": {
++      "version": "4.3.1",
++      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
++      "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
++      "dependencies": {
++        "domelementtype": "^2.2.0"
++      },
++      "engines": {
++        "node": ">= 4"
++      },
++      "funding": {
++        "url": "https://github.com/fb55/domhandler?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==",
++      "engines": {
++        "node": ">=0.4",
++        "npm": ">=1.2"
++      }
++    },
++    "node_modules/domelementtype": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
++      "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/fb55"
++        }
++      ]
++    },
++    "node_modules/domhandler": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
++      "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
++      "dependencies": {
++        "domelementtype": "^2.0.1"
++      },
++      "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/domutils/node_modules/domhandler": {
++      "version": "4.3.1",
++      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
++      "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
++      "dependencies": {
++        "domelementtype": "^2.2.0"
++      },
++      "engines": {
++        "node": ">= 4"
++      },
++      "funding": {
++        "url": "https://github.com/fb55/domhandler?sponsor=1"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "is-obj": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/duplexer2": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
++      "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
++      "dependencies": {
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/duplexer3": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
++      "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA=="
++    },
++    "node_modules/ecc-jsbn": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
++      "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
++      "dependencies": {
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.1.0"
++      }
++    },
++    "node_modules/ee-first": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
++      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
++    },
++    "node_modules/electron-is-accelerator": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz",
++      "integrity": "sha512-fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA=="
++    },
++    "node_modules/electron-localshortcut": {
++      "version": "3.2.1",
++      "resolved": "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.2.1.tgz",
++      "integrity": "sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==",
++      "dependencies": {
++        "debug": "^4.0.1",
++        "electron-is-accelerator": "^0.1.0",
++        "keyboardevent-from-electron-accelerator": "^2.0.0",
++        "keyboardevents-areequal": "^0.2.1"
++      }
++    },
++    "node_modules/electron-notarize": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.2.2.tgz",
++      "integrity": "sha512-ZStVWYcWI7g87/PgjPJSIIhwQXOaw4/XeXU+pWqMMktSLHaGMLHdyPPN7Cmao7+Cr7fYufA16npdtMndYciHNw==",
++      "deprecated": "Please use @electron/notarize moving forward.  There is no API change, just a package name change",
++      "dependencies": {
++        "debug": "^4.1.1",
++        "fs-extra": "^9.0.1"
++      },
++      "engines": {
++        "node": ">= 10.0.0"
++      }
++    },
++    "node_modules/electron-osx-sign": {
++      "version": "0.5.0",
++      "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz",
++      "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==",
++      "deprecated": "Please use @electron/osx-sign moving forward. Be aware the API is slightly different",
++      "dependencies": {
++        "bluebird": "^3.5.0",
++        "compare-version": "^0.1.2",
++        "debug": "^2.6.8",
++        "isbinaryfile": "^3.0.2",
++        "minimist": "^1.2.0",
++        "plist": "^3.0.1"
++      },
++      "bin": {
++        "electron-osx-flat": "bin/electron-osx-flat.js",
++        "electron-osx-sign": "bin/electron-osx-sign.js"
++      },
++      "engines": {
++        "node": ">=4.0.0"
++      }
++    },
++    "node_modules/electron-osx-sign/node_modules/debug": {
++      "version": "2.6.9",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++      "dependencies": {
++        "ms": "2.0.0"
++      }
++    },
++    "node_modules/electron-osx-sign/node_modules/ms": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++    },
++    "node_modules/electron-packager": {
++      "version": "15.2.0",
++      "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.2.0.tgz",
++      "integrity": "sha512-BaklTBRQy1JTijR3hi8XxHf/uo76rHbDCNM/eQHSblzE9C0NoNfOe86nPxB7y1u2jwlqoEJ4zFiHpTFioKGGRA==",
++      "dependencies": {
++        "@electron/get": "^1.6.0",
++        "asar": "^3.0.0",
++        "debug": "^4.0.1",
++        "electron-notarize": "^1.0.0",
++        "electron-osx-sign": "^0.5.0",
++        "extract-zip": "^2.0.0",
++        "filenamify": "^4.1.0",
++        "fs-extra": "^9.0.0",
++        "galactus": "^0.2.1",
++        "get-package-info": "^1.0.0",
++        "junk": "^3.1.0",
++        "parse-author": "^2.0.0",
++        "plist": "^3.0.0",
++        "rcedit": "^2.0.0",
++        "resolve": "^1.1.6",
++        "semver": "^7.1.3",
++        "yargs-parser": "^20.0.0"
++      },
++      "bin": {
++        "electron-packager": "bin/electron-packager.js"
++      },
++      "engines": {
++        "node": ">= 10.12.0"
++      },
++      "funding": {
++        "url": "https://github.com/electron/electron-packager?sponsor=1"
++      }
++    },
++    "node_modules/electron-packager-plugin-non-proprietary-codecs-ffmpeg": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/electron-packager-plugin-non-proprietary-codecs-ffmpeg/-/electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2.tgz",
++      "integrity": "sha512-xPkbzndg2KODqmNe9yIx0dhNOfaOqrdNZ1ZSSZN4h1wT0T5SV/YES0tNyN932jQd+c5cFPv6AWYYjuPWKvcITg==",
++      "dependencies": {
++        "7zip": "0.0.6",
++        "cross-unzip": "0.0.2",
++        "mkdirp": "^0.5.1",
++        "request": "^2.73.0",
++        "semver": "^5.2.0"
++      }
++    },
++    "node_modules/electron-packager-plugin-non-proprietary-codecs-ffmpeg/node_modules/semver": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
++      "bin": {
++        "semver": "bin/semver"
++      }
++    },
++    "node_modules/electron-to-chromium": {
++      "version": "1.4.284",
++      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
++      "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
++    },
++    "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==",
++      "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=="
++    },
++    "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=="
++    },
++    "node_modules/encodeurl": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
++      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/encoding": {
++      "version": "0.1.13",
++      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
++      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
++      "optional": true,
++      "dependencies": {
++        "iconv-lite": "^0.6.2"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "once": "^1.4.0"
++      }
++    },
++    "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/env-paths": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
++      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/err-code": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
++      "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="
++    },
++    "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==",
++      "dependencies": {
++        "is-arrayish": "^0.2.1"
++      }
++    },
++    "node_modules/error-stack-parser": {
++      "version": "2.1.4",
++      "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
++      "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
++      "dependencies": {
++        "stackframe": "^1.3.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==",
++      "optional": true
++    },
++    "node_modules/escalade": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
++      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/escape-goat": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
++      "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/escape-html": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
++      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
++    },
++    "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": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
++      "engines": {
++        "node": ">=0.8.0"
++      }
++    },
++    "node_modules/escaper": {
++      "version": "2.5.3",
++      "resolved": "https://registry.npmjs.org/escaper/-/escaper-2.5.3.tgz",
++      "integrity": "sha512-QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ=="
++    },
++    "node_modules/eslint": {
++      "version": "8.16.0",
++      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz",
++      "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==",
++      "dependencies": {
++        "@eslint/eslintrc": "^1.3.0",
++        "@humanwhocodes/config-array": "^0.9.2",
++        "ajv": "^6.10.0",
++        "chalk": "^4.0.0",
++        "cross-spawn": "^7.0.2",
++        "debug": "^4.3.2",
++        "doctrine": "^3.0.0",
++        "escape-string-regexp": "^4.0.0",
++        "eslint-scope": "^7.1.1",
++        "eslint-utils": "^3.0.0",
++        "eslint-visitor-keys": "^3.3.0",
++        "espree": "^9.3.2",
++        "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": "^6.0.1",
++        "globals": "^13.15.0",
++        "ignore": "^5.2.0",
++        "import-fresh": "^3.0.0",
++        "imurmurhash": "^0.1.4",
++        "is-glob": "^4.0.0",
++        "js-yaml": "^4.1.0",
++        "json-stable-stringify-without-jsonify": "^1.0.1",
++        "levn": "^0.4.1",
++        "lodash.merge": "^4.6.2",
++        "minimatch": "^3.1.2",
++        "natural-compare": "^1.4.0",
++        "optionator": "^0.9.1",
++        "regexpp": "^3.2.0",
++        "strip-ansi": "^6.0.1",
++        "strip-json-comments": "^3.1.0",
++        "text-table": "^0.2.0",
++        "v8-compile-cache": "^2.0.3"
++      },
++      "bin": {
++        "eslint": "bin/eslint.js"
++      },
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/eslint"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "esrecurse": "^4.3.0",
++        "estraverse": "^4.1.1"
++      },
++      "engines": {
++        "node": ">=8.0.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==",
++      "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==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "color-convert": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
++      }
++    },
++    "node_modules/eslint/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=="
++    },
++    "node_modules/eslint/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==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.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==",
++      "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==",
++      "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=="
++    },
++    "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==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/eslint/node_modules/eslint-scope": {
++      "version": "7.1.1",
++      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
++      "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
++      "dependencies": {
++        "esrecurse": "^4.3.0",
++        "estraverse": "^5.2.0"
++      },
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      }
++    },
++    "node_modules/eslint/node_modules/eslint-visitor-keys": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
++      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      }
++    },
++    "node_modules/eslint/node_modules/estraverse": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
++      "engines": {
++        "node": ">=4.0"
++      }
++    },
++    "node_modules/eslint/node_modules/glob-parent": {
++      "version": "6.0.2",
++      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
++      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
++      "dependencies": {
++        "is-glob": "^4.0.3"
++      },
++      "engines": {
++        "node": ">=10.13.0"
++      }
++    },
++    "node_modules/eslint/node_modules/globals": {
++      "version": "13.17.0",
++      "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
++      "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
++      "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==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/eslint/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "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==",
++      "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==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/espree": {
++      "version": "9.4.1",
++      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
++      "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
++      "dependencies": {
++        "acorn": "^8.8.0",
++        "acorn-jsx": "^5.3.2",
++        "eslint-visitor-keys": "^3.3.0"
++      },
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/eslint"
++      }
++    },
++    "node_modules/espree/node_modules/eslint-visitor-keys": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
++      "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
++      "engines": {
++        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
++      }
++    },
++    "node_modules/esquery": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
++      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
++      "dependencies": {
++        "estraverse": "^5.1.0"
++      },
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "node_modules/esquery/node_modules/estraverse": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
++      "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==",
++      "dependencies": {
++        "estraverse": "^5.2.0"
++      },
++      "engines": {
++        "node": ">=4.0"
++      }
++    },
++    "node_modules/esrecurse/node_modules/estraverse": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
++      "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==",
++      "engines": {
++        "node": ">=4.0"
++      }
++    },
++    "node_modules/estree-is-member-expression": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz",
++      "integrity": "sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg=="
++    },
++    "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": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/events": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
++      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
++      "engines": {
++        "node": ">=0.8.x"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "md5.js": "^1.3.4",
++        "safe-buffer": "^5.1.1"
++      }
++    },
++    "node_modules/exorcist": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/exorcist/-/exorcist-2.0.0.tgz",
++      "integrity": "sha512-+c63SvhBq/HjmbV9cu9vkDkjXFiuI4lpqOZU5Y3t5GSV2l4TQCqVli9c7nIASHxkUL4THaOZDUcb6XNBI/eYjw==",
++      "dependencies": {
++        "is-stream": "^2.0.0",
++        "minimist": "^1.2.5",
++        "mkdirp": "^1.0.4",
++        "mold-source-map": "^0.4.0"
++      },
++      "bin": {
++        "exorcist": "bin/exorcist.js"
++      }
++    },
++    "node_modules/exorcist/node_modules/mkdirp": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/expand-template": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
++      "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
++      "optional": true,
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/extend": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
++      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
++    },
++    "node_modules/extract-zip": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
++      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
++      "dependencies": {
++        "debug": "^4.1.1",
++        "get-stream": "^5.1.0",
++        "yauzl": "^2.10.0"
++      },
++      "bin": {
++        "extract-zip": "cli.js"
++      },
++      "engines": {
++        "node": ">= 10.17.0"
++      },
++      "optionalDependencies": {
++        "@types/yauzl": "^2.9.1"
++      }
++    },
++    "node_modules/extsprintf": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
++      "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
++      "engines": [
++        "node >=0.6.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=="
++    },
++    "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=="
++    },
++    "node_modules/fast-levenshtein": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
++      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
++    },
++    "node_modules/fast-safe-stringify": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
++      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
++    },
++    "node_modules/fastdom": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/fastdom/-/fastdom-1.0.10.tgz",
++      "integrity": "sha512-sbL4h358IlZn8VsTvA5TYnKVLYif46XhPEll+HTSxVtDSpqZEO/17D/QqlxE9V2K7AQ82GXeYeQLU2HWwKgk1A==",
++      "dependencies": {
++        "strictdom": "^1.0.1"
++      }
++    },
++    "node_modules/fd-slicer": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
++      "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
++      "dependencies": {
++        "pend": "~1.2.0"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "flat-cache": "^3.0.4"
++      },
++      "engines": {
++        "node": "^10.12.0 || >=12.0.0"
++      }
++    },
++    "node_modules/file-saver": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
++      "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
++    },
++    "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==",
++      "optional": true
++    },
++    "node_modules/filename-reserved-regex": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
++      "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/filenamify": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
++      "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
++      "dependencies": {
++        "filename-reserved-regex": "^2.0.0",
++        "strip-outer": "^1.0.1",
++        "trim-repeated": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "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/find-up": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
++      "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
++      "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==",
++      "dependencies": {
++        "flatted": "^3.1.0",
++        "rimraf": "^3.0.2"
++      },
++      "engines": {
++        "node": "^10.12.0 || >=12.0.0"
++      }
++    },
++    "node_modules/flat-cache/node_modules/rimraf": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++      "dependencies": {
++        "glob": "^7.1.3"
++      },
++      "bin": {
++        "rimraf": "bin.js"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/flatted": {
++      "version": "3.2.7",
++      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
++      "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
++    },
++    "node_modules/flora-colossus": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz",
++      "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==",
++      "dependencies": {
++        "debug": "^4.1.1",
++        "fs-extra": "^7.0.0"
++      },
++      "engines": {
++        "node": ">= 6.0.0"
++      }
++    },
++    "node_modules/flora-colossus/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==",
++      "dependencies": {
++        "graceful-fs": "^4.1.2",
++        "jsonfile": "^4.0.0",
++        "universalify": "^0.1.0"
++      },
++      "engines": {
++        "node": ">=6 <7 || >=8"
++      }
++    },
++    "node_modules/flora-colossus/node_modules/jsonfile": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
++      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++      "optionalDependencies": {
++        "graceful-fs": "^4.1.6"
++      }
++    },
++    "node_modules/flora-colossus/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/for-each": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
++      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
++      "dependencies": {
++        "is-callable": "^1.1.3"
++      }
++    },
++    "node_modules/forever-agent": {
++      "version": "0.6.1",
++      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
++      "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/form-data": {
++      "version": "2.3.3",
++      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
++      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
++      "dependencies": {
++        "asynckit": "^0.4.0",
++        "combined-stream": "^1.0.6",
++        "mime-types": "^2.1.12"
++      },
++      "engines": {
++        "node": ">= 0.12"
++      }
++    },
++    "node_modules/fresh": {
++      "version": "0.5.2",
++      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
++      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/fs-constants": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
++      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
++      "optional": true
++    },
++    "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==",
++      "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==",
++      "dependencies": {
++        "minipass": "^3.0.0"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/fs.realpath": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
++      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
++    },
++    "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/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": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
++    },
++    "node_modules/functions-have-names": {
++      "version": "1.2.3",
++      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
++      "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/galactus": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz",
++      "integrity": "sha512-mDc8EQJKtxjp9PMYS3PbpjjbX3oXhBTxoGaPahw620XZBIHJ4+nvw5KN/tRtmmSDR9dypstGNvqQ3C29QGoGHQ==",
++      "dependencies": {
++        "debug": "^3.1.0",
++        "flora-colossus": "^1.0.0",
++        "fs-extra": "^4.0.0"
++      }
++    },
++    "node_modules/galactus/node_modules/debug": {
++      "version": "3.2.7",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
++      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
++      "dependencies": {
++        "ms": "^2.1.1"
++      }
++    },
++    "node_modules/galactus/node_modules/fs-extra": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
++      "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
++      "dependencies": {
++        "graceful-fs": "^4.1.2",
++        "jsonfile": "^4.0.0",
++        "universalify": "^0.1.0"
++      }
++    },
++    "node_modules/galactus/node_modules/jsonfile": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
++      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++      "optionalDependencies": {
++        "graceful-fs": "^4.1.6"
++      }
++    },
++    "node_modules/galactus/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/gauge": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
++      "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
++      "dependencies": {
++        "aproba": "^1.0.3 || ^2.0.0",
++        "color-support": "^1.1.2",
++        "console-control-strings": "^1.0.0",
++        "has-unicode": "^2.0.1",
++        "object-assign": "^4.1.1",
++        "signal-exit": "^3.0.0",
++        "string-width": "^4.2.3",
++        "strip-ansi": "^6.0.1",
++        "wide-align": "^1.1.2"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/gaze": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
++      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
++      "dependencies": {
++        "globule": "^1.0.0"
++      },
++      "engines": {
++        "node": ">= 4.0.0"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">=6.9.0"
++      }
++    },
++    "node_modules/get-assigned-identifiers": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
++      "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ=="
++    },
++    "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==",
++      "engines": {
++        "node": "6.* || 8.* || >= 10.*"
++      }
++    },
++    "node_modules/get-intrinsic": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
++      "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
++      "dependencies": {
++        "function-bind": "^1.1.1",
++        "has": "^1.0.3",
++        "has-symbols": "^1.0.3"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/get-package-info": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz",
++      "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==",
++      "dependencies": {
++        "bluebird": "^3.1.1",
++        "debug": "^2.2.0",
++        "lodash.get": "^4.0.0",
++        "read-pkg-up": "^2.0.0"
++      },
++      "engines": {
++        "node": ">= 4.0"
++      }
++    },
++    "node_modules/get-package-info/node_modules/debug": {
++      "version": "2.6.9",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++      "dependencies": {
++        "ms": "2.0.0"
++      }
++    },
++    "node_modules/get-package-info/node_modules/ms": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++    },
++    "node_modules/get-stdin": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
++      "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==",
++      "engines": {
++        "node": ">=0.10.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==",
++      "dependencies": {
++        "pump": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/getpass": {
++      "version": "0.1.7",
++      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
++      "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
++      "dependencies": {
++        "assert-plus": "^1.0.0"
++      }
++    },
++    "node_modules/github-from-package": {
++      "version": "0.0.0",
++      "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
++      "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
++      "optional": true
++    },
++    "node_modules/glob": {
++      "version": "7.2.3",
++      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
++      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
++      "dependencies": {
++        "fs.realpath": "^1.0.0",
++        "inflight": "^1.0.4",
++        "inherits": "2",
++        "minimatch": "^3.1.1",
++        "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/glob/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=="
++    },
++    "node_modules/glob/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==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/glob/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/global-agent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
++      "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
++      "optional": true,
++      "dependencies": {
++        "boolean": "^3.0.1",
++        "es6-error": "^4.1.1",
++        "matcher": "^3.0.0",
++        "roarr": "^2.15.3",
++        "semver": "^7.3.2",
++        "serialize-error": "^7.0.1"
++      },
++      "engines": {
++        "node": ">=10.0"
++      }
++    },
++    "node_modules/global-dirs": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
++      "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
++      "dependencies": {
++        "ini": "2.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/global-dirs/node_modules/ini": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
++      "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/global-tunnel-ng": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz",
++      "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==",
++      "optional": true,
++      "dependencies": {
++        "encodeurl": "^1.0.2",
++        "lodash": "^4.17.10",
++        "npm-conf": "^1.1.3",
++        "tunnel": "^0.0.6"
++      },
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/globalthis": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
++      "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
++      "optional": true,
++      "dependencies": {
++        "define-properties": "^1.1.3"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/globule": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
++      "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
++      "dependencies": {
++        "glob": "~7.1.1",
++        "lodash": "^4.17.21",
++        "minimatch": "~3.0.2"
++      },
++      "engines": {
++        "node": ">= 0.10"
++      }
++    },
++    "node_modules/globule/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=="
++    },
++    "node_modules/globule/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==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/globule/node_modules/glob": {
++      "version": "7.1.7",
++      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
++      "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
++      "dependencies": {
++        "fs.realpath": "^1.0.0",
++        "inflight": "^1.0.4",
++        "inherits": "2",
++        "minimatch": "^3.0.4",
++        "once": "^1.3.0",
++        "path-is-absolute": "^1.0.0"
++      },
++      "engines": {
++        "node": "*"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/globule/node_modules/minimatch": {
++      "version": "3.0.8",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
++      "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/gopd": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
++      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
++      "dependencies": {
++        "get-intrinsic": "^1.1.3"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/got": {
++      "version": "9.6.0",
++      "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
++      "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
++      "dependencies": {
++        "@sindresorhus/is": "^0.14.0",
++        "@szmarczak/http-timer": "^1.1.2",
++        "cacheable-request": "^6.0.0",
++        "decompress-response": "^3.3.0",
++        "duplexer3": "^0.1.4",
++        "get-stream": "^4.1.0",
++        "lowercase-keys": "^1.0.1",
++        "mimic-response": "^1.0.1",
++        "p-cancelable": "^1.0.0",
++        "to-readable-stream": "^1.0.0",
++        "url-parse-lax": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8.6"
++      }
++    },
++    "node_modules/got/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==",
++      "dependencies": {
++        "pump": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/graceful-fs": {
++      "version": "4.2.10",
++      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
++      "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
++    },
++    "node_modules/gyronorm": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/gyronorm/-/gyronorm-2.0.6.tgz",
++      "integrity": "sha512-pE66zEK/3G9t1dpikTKIjNuY1JauXgtNiulgPKc28IKwMJ5NuJ03mOQ5ArqnkOyQxhlJSY71i3YdFcHhzx4TOg=="
++    },
++    "node_modules/har-schema": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
++      "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/har-validator": {
++      "version": "5.1.5",
++      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
++      "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
++      "deprecated": "this library is no longer supported",
++      "dependencies": {
++        "ajv": "^6.12.3",
++        "har-schema": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/hard-rejection": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
++      "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "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-ansi": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
++      "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
++      "dependencies": {
++        "ansi-regex": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/has-ansi/node_modules/ansi-regex": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/has-flag": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
++      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/has-property-descriptors": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
++      "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
++      "dependencies": {
++        "get-intrinsic": "^1.1.1"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/has-symbols": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
++      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
++      "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-unicode": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
++      "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
++    },
++    "node_modules/has-yarn": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
++      "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "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==",
++      "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==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "minimalistic-assert": "^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": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
++      "dependencies": {
++        "hash.js": "^1.0.3",
++        "minimalistic-assert": "^1.0.0",
++        "minimalistic-crypto-utils": "^1.0.1"
++      }
++    },
++    "node_modules/hosted-git-info": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
++      "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
++      "dependencies": {
++        "lru-cache": "^6.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/htmlescape": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
++      "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==",
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "node_modules/htmlparser2": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
++      "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==",
++      "dependencies": {
++        "domelementtype": "^2.0.1",
++        "domhandler": "^3.0.0",
++        "domutils": "^2.0.0",
++        "entities": "^2.0.0"
++      }
++    },
++    "node_modules/http-auth": {
++      "version": "4.1.9",
++      "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-4.1.9.tgz",
++      "integrity": "sha512-kvPYxNGc9EKGTXvOMnTBQw2RZfuiSihK/mLw/a4pbtRueTE45S55Lw/3k5CktIf7Ak0veMKEIteDj4YkNmCzmQ==",
++      "dependencies": {
++        "apache-crypt": "^1.1.2",
++        "apache-md5": "^1.0.6",
++        "bcryptjs": "^2.4.3",
++        "uuid": "^8.3.2"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/http-cache-semantics": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
++      "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
++    },
++    "node_modules/http-errors": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
++      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
++      "dependencies": {
++        "depd": "2.0.0",
++        "inherits": "2.0.4",
++        "setprototypeof": "1.2.0",
++        "statuses": "2.0.1",
++        "toidentifier": "1.0.1"
++      },
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/http-errors/node_modules/depd": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
++      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "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-signature": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
++      "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
++      "dependencies": {
++        "assert-plus": "^1.0.0",
++        "jsprim": "^1.2.2",
++        "sshpk": "^1.7.0"
++      },
++      "engines": {
++        "node": ">=0.8",
++        "npm": ">=1.3.7"
++      }
++    },
++    "node_modules/https-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
++      "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="
++    },
++    "node_modules/https-proxy-agent": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
++      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
++      "dependencies": {
++        "agent-base": "6",
++        "debug": "4"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/humanize-ms": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
++      "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
++      "dependencies": {
++        "ms": "^2.0.0"
++      }
++    },
++    "node_modules/hyperscript-attribute-to-property": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/hyperscript-attribute-to-property/-/hyperscript-attribute-to-property-1.0.2.tgz",
++      "integrity": "sha512-oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA=="
++    },
++    "node_modules/hyperx": {
++      "version": "2.5.4",
++      "resolved": "https://registry.npmjs.org/hyperx/-/hyperx-2.5.4.tgz",
++      "integrity": "sha512-iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==",
++      "dependencies": {
++        "hyperscript-attribute-to-property": "^1.0.0"
++      }
++    },
++    "node_modules/iconv-lite": {
++      "version": "0.6.3",
++      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
++      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
++      "optional": true,
++      "dependencies": {
++        "safer-buffer": ">= 2.1.2 < 3.0.0"
++      },
++      "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==",
++      "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/ignore": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
++      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
++      "engines": {
++        "node": ">= 4"
++      }
++    },
++    "node_modules/ignore-by-default": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
++      "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
++    },
++    "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==",
++      "dependencies": {
++        "parent-module": "^1.0.0",
++        "resolve-from": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/import-lazy": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
++      "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/imurmurhash": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
++      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
++      "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==",
++      "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=="
++    },
++    "node_modules/inflight": {
++      "version": "1.0.6",
++      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
++      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
++      "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=="
++    },
++    "node_modules/ini": {
++      "version": "1.3.8",
++      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
++      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
++    },
++    "node_modules/inline-source-map": {
++      "version": "0.6.2",
++      "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
++      "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==",
++      "dependencies": {
++        "source-map": "~0.5.3"
++      }
++    },
++    "node_modules/insert-module-globals": {
++      "version": "7.2.1",
++      "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz",
++      "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
++      "dependencies": {
++        "acorn-node": "^1.5.2",
++        "combine-source-map": "^0.8.0",
++        "concat-stream": "^1.6.1",
++        "is-buffer": "^1.1.0",
++        "JSONStream": "^1.0.3",
++        "path-is-absolute": "^1.0.1",
++        "process": "~0.11.0",
++        "through2": "^2.0.0",
++        "undeclared-identifiers": "^1.1.2",
++        "xtend": "^4.0.0"
++      },
++      "bin": {
++        "insert-module-globals": "bin/cmd.js"
++      }
++    },
++    "node_modules/ip": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
++      "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg=="
++    },
++    "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": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
++    },
++    "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-attribute": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/is-boolean-attribute/-/is-boolean-attribute-0.0.1.tgz",
++      "integrity": "sha512-0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w=="
++    },
++    "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=="
++    },
++    "node_modules/is-callable": {
++      "version": "1.2.7",
++      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
++      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
++      "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==",
++      "dependencies": {
++        "ci-info": "^2.0.0"
++      },
++      "bin": {
++        "is-ci": "bin.js"
++      }
++    },
++    "node_modules/is-core-module": {
++      "version": "2.11.0",
++      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
++      "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
++      "dependencies": {
++        "has": "^1.0.3"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "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-docker": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
++      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
++      "bin": {
++        "is-docker": "cli.js"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/is-extglob": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
++      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
++      "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==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/is-generator-function": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
++      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
++      "dependencies": {
++        "has-tostringtag": "^1.0.0"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/is-glob": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
++      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
++      "dependencies": {
++        "is-extglob": "^2.1.1"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/is-installed-globally": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
++      "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
++      "dependencies": {
++        "global-dirs": "^3.0.0",
++        "is-path-inside": "^3.0.2"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/is-lambda": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
++      "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ=="
++    },
++    "node_modules/is-npm": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
++      "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "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-obj": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
++      "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/is-path-inside": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
++      "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "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": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "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": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/is-typed-array": {
++      "version": "1.1.10",
++      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
++      "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
++      "dependencies": {
++        "available-typed-arrays": "^1.0.5",
++        "call-bind": "^1.0.2",
++        "for-each": "^0.3.3",
++        "gopd": "^1.0.1",
++        "has-tostringtag": "^1.0.0"
++      },
++      "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": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
++    },
++    "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==",
++      "dependencies": {
++        "is-docker": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/is-yarn-global": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
++      "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw=="
++    },
++    "node_modules/isarray": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
++      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
++    },
++    "node_modules/isbinaryfile": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
++      "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
++      "dependencies": {
++        "buffer-alloc": "^1.2.0"
++      },
++      "engines": {
++        "node": ">=0.6.0"
++      }
++    },
++    "node_modules/isexe": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
++      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
++    },
++    "node_modules/isstream": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
++      "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
++    },
++    "node_modules/js-base64": {
++      "version": "2.6.4",
++      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
++      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
++    },
++    "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": "4.1.0",
++      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
++      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
++      "dependencies": {
++        "argparse": "^2.0.1"
++      },
++      "bin": {
++        "js-yaml": "bin/js-yaml.js"
++      }
++    },
++    "node_modules/jsbn": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
++      "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
++    },
++    "node_modules/jsesc": {
++      "version": "2.5.2",
++      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
++      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
++      "bin": {
++        "jsesc": "bin/jsesc"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/json-buffer": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
++      "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ=="
++    },
++    "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=="
++    },
++    "node_modules/json-schema": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
++      "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
++    },
++    "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=="
++    },
++    "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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
++    },
++    "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": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
++    },
++    "node_modules/json5": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
++      "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
++      "bin": {
++        "json5": "lib/cli.js"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/jsondiffpatch": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.4.1.tgz",
++      "integrity": "sha512-t0etAxTUk1w5MYdNOkZBZ8rvYYN5iL+2dHCCx/DpkFm/bW28M6y5nUS83D4XdZiHy35Fpaw6LBb+F88fHZnVCw==",
++      "dependencies": {
++        "chalk": "^2.3.0",
++        "diff-match-patch": "^1.0.0"
++      },
++      "bin": {
++        "jsondiffpatch": "bin/jsondiffpatch"
++      },
++      "engines": {
++        "node": ">=8.17.0"
++      }
++    },
++    "node_modules/jsonfile": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
++      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
++      "dependencies": {
++        "universalify": "^2.0.0"
++      },
++      "optionalDependencies": {
++        "graceful-fs": "^4.1.6"
++      }
++    },
++    "node_modules/jsonparse": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
++      "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
++      "engines": [
++        "node >= 0.2.0"
++      ]
++    },
++    "node_modules/JSONStream": {
++      "version": "1.3.5",
++      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
++      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
++      "dependencies": {
++        "jsonparse": "^1.2.0",
++        "through": ">=2.2.7 <3"
++      },
++      "bin": {
++        "JSONStream": "bin.js"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/jsprim": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
++      "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
++      "dependencies": {
++        "assert-plus": "1.0.0",
++        "extsprintf": "1.3.0",
++        "json-schema": "0.4.0",
++        "verror": "1.10.0"
++      },
++      "engines": {
++        "node": ">=0.6.0"
++      }
++    },
++    "node_modules/junk": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
++      "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/keyboardevent-from-electron-accelerator": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz",
++      "integrity": "sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA=="
++    },
++    "node_modules/keyboardevents-areequal": {
++      "version": "0.2.2",
++      "resolved": "https://registry.npmjs.org/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz",
++      "integrity": "sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw=="
++    },
++    "node_modules/keyboardjs": {
++      "version": "2.6.4",
++      "resolved": "https://registry.npmjs.org/keyboardjs/-/keyboardjs-2.6.4.tgz",
++      "integrity": "sha512-xDiNwiwH3KUqap++RFJiLAXzbvRB5Yw08xliuceOgLhM1o7g1puKKR9vWy6wp9H/Bi4VP0+SQMpiWXMWWmR6rA=="
++    },
++    "node_modules/keyv": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
++      "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
++      "dependencies": {
++        "json-buffer": "3.0.0"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/labeled-stream-splicer": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz",
++      "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "stream-splicer": "^2.0.0"
++      }
++    },
++    "node_modules/latest-version": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
++      "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
++      "dependencies": {
++        "package-json": "^6.3.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "prelude-ls": "^1.2.1",
++        "type-check": "~0.4.0"
++      },
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/licensify": {
++      "version": "3.1.3",
++      "resolved": "https://registry.npmjs.org/licensify/-/licensify-3.1.3.tgz",
++      "integrity": "sha512-3sEEBR0Cxq8yeSrV1KGZwpjm4KJKp8Cx/WHZxBnG/YX319ZTvxGtL+NCF+A9pcXwh8KwKB4BmVrc6eRrfk/Raw==",
++      "dependencies": {
++        "convert-source-map": "^1.1.3",
++        "offset-sourcemap-lines": "^1.0.0",
++        "oss-license-name-to-url": "^1.2.1",
++        "through2": "^2.0.0",
++        "type-name": "^2.0.0"
++      }
++    },
++    "node_modules/lines-and-columns": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
++      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
++    },
++    "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": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==",
++      "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": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/locate-path": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
++      "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
++      "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.debounce": {
++      "version": "4.0.8",
++      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
++      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
++    },
++    "node_modules/lodash.get": {
++      "version": "4.4.2",
++      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
++      "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
++    },
++    "node_modules/lodash.memoize": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
++      "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A=="
++    },
++    "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=="
++    },
++    "node_modules/long": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
++      "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
++    },
++    "node_modules/loop-protect": {
++      "version": "1.0.1",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/loop-protect.git#335856f37ee4a805704bfcd1d7429ab94620bf6d"
++    },
++    "node_modules/lower-case": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
++      "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA=="
++    },
++    "node_modules/lowercase-keys": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
++      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "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.23.2",
++      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz",
++      "integrity": "sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==",
++      "dependencies": {
++        "sourcemap-codec": "^1.4.1"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "semver": "^6.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/make-dir/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/make-fetch-happen": {
++      "version": "9.1.0",
++      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
++      "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
++      "dependencies": {
++        "agentkeepalive": "^4.1.3",
++        "cacache": "^15.2.0",
++        "http-cache-semantics": "^4.1.0",
++        "http-proxy-agent": "^4.0.1",
++        "https-proxy-agent": "^5.0.0",
++        "is-lambda": "^1.0.1",
++        "lru-cache": "^6.0.0",
++        "minipass": "^3.1.3",
++        "minipass-collect": "^1.0.2",
++        "minipass-fetch": "^1.3.2",
++        "minipass-flush": "^1.0.5",
++        "minipass-pipeline": "^1.2.4",
++        "negotiator": "^0.6.2",
++        "promise-retry": "^2.0.1",
++        "socks-proxy-agent": "^6.0.0",
++        "ssri": "^8.0.0"
++      },
++      "engines": {
++        "node": ">= 10"
++      }
++    },
++    "node_modules/map-obj": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
++      "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/matcher": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
++      "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
++      "optional": true,
++      "dependencies": {
++        "escape-string-regexp": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/matcher/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==",
++      "optional": true,
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "node_modules/meow": {
++      "version": "9.0.0",
++      "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
++      "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
++      "dependencies": {
++        "@types/minimist": "^1.2.0",
++        "camelcase-keys": "^6.2.2",
++        "decamelize": "^1.2.0",
++        "decamelize-keys": "^1.1.0",
++        "hard-rejection": "^2.1.0",
++        "minimist-options": "4.1.0",
++        "normalize-package-data": "^3.0.0",
++        "read-pkg-up": "^7.0.1",
++        "redent": "^3.0.0",
++        "trim-newlines": "^3.0.0",
++        "type-fest": "^0.18.0",
++        "yargs-parser": "^20.2.3"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/meow/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==",
++      "dependencies": {
++        "locate-path": "^5.0.0",
++        "path-exists": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/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=="
++    },
++    "node_modules/meow/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==",
++      "dependencies": {
++        "p-locate": "^4.1.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/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==",
++      "dependencies": {
++        "p-try": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/meow/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==",
++      "dependencies": {
++        "p-limit": "^2.2.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/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==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/meow/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==",
++      "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/meow/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==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/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==",
++      "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/meow/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==",
++      "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/meow/node_modules/read-pkg-up/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==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/node_modules/read-pkg/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==",
++      "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/meow/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==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/meow/node_modules/semver": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
++      "bin": {
++        "semver": "bin/semver"
++      }
++    },
++    "node_modules/merge-source-map": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
++      "integrity": "sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==",
++      "dependencies": {
++        "source-map": "^0.5.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==",
++      "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=="
++    },
++    "node_modules/mime": {
++      "version": "1.6.0",
++      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
++      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
++      "bin": {
++        "mime": "cli.js"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/mime-db": {
++      "version": "1.52.0",
++      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
++      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/mime-types": {
++      "version": "2.1.35",
++      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
++      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
++      "dependencies": {
++        "mime-db": "1.52.0"
++      },
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/mimic-response": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
++      "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/min-indent": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
++      "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
++      "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=="
++    },
++    "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": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="
++    },
++    "node_modules/minimatch": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
++      "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
++      "dependencies": {
++        "brace-expansion": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/minimist": {
++      "version": "1.2.7",
++      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
++      "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/minimist-options": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
++      "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
++      "dependencies": {
++        "arrify": "^1.0.1",
++        "is-plain-obj": "^1.1.0",
++        "kind-of": "^6.0.3"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/minipass": {
++      "version": "3.3.4",
++      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
++      "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
++      "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==",
++      "dependencies": {
++        "minipass": "^3.0.0"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/minipass-fetch": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
++      "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
++      "dependencies": {
++        "minipass": "^3.1.0",
++        "minipass-sized": "^1.0.3",
++        "minizlib": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "optionalDependencies": {
++        "encoding": "^0.1.12"
++      }
++    },
++    "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==",
++      "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==",
++      "dependencies": {
++        "minipass": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/minipass-sized": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
++      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
++      "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==",
++      "dependencies": {
++        "minipass": "^3.0.0",
++        "yallist": "^4.0.0"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/mkdirp": {
++      "version": "0.5.6",
++      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
++      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
++      "dependencies": {
++        "minimist": "^1.2.6"
++      },
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      }
++    },
++    "node_modules/mkdirp-classic": {
++      "version": "0.5.3",
++      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
++      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
++    },
++    "node_modules/module-deps": {
++      "version": "6.2.3",
++      "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz",
++      "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
++      "dependencies": {
++        "browser-resolve": "^2.0.0",
++        "cached-path-relative": "^1.0.2",
++        "concat-stream": "~1.6.0",
++        "defined": "^1.0.0",
++        "detective": "^5.2.0",
++        "duplexer2": "^0.1.2",
++        "inherits": "^2.0.1",
++        "JSONStream": "^1.0.3",
++        "parents": "^1.0.0",
++        "readable-stream": "^2.0.2",
++        "resolve": "^1.4.0",
++        "stream-combiner2": "^1.1.1",
++        "subarg": "^1.0.0",
++        "through2": "^2.0.0",
++        "xtend": "^4.0.0"
++      },
++      "bin": {
++        "module-deps": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/mold-source-map": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/mold-source-map/-/mold-source-map-0.4.0.tgz",
++      "integrity": "sha512-Y0uA/sDKVuPgLd7BmaJOai+fqzjrOlR6vZgx5cJIvturI/xOPQPgbf3X7ZbzJd6MvqQ6ucIfK8dSteFyc2Mw2w==",
++      "dependencies": {
++        "convert-source-map": "^1.1.0",
++        "through": "~2.2.7"
++      }
++    },
++    "node_modules/mold-source-map/node_modules/through": {
++      "version": "2.2.7",
++      "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz",
++      "integrity": "sha512-JIR0m0ybkmTcR8URann+HbwKmodP+OE8UCbsifQDYMLD5J3em1Cdn3MYPpbEd5elGDwmP98T+WbqP/tvzA5Mjg=="
++    },
++    "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": "7.2.1",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/multicast-dns.git#1bb9f6ba892eba88f2cb12ca96a1c1b3088413c0",
++      "license": "MIT",
++      "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": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ=="
++    },
++    "node_modules/mutexify": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.4.0.tgz",
++      "integrity": "sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==",
++      "dependencies": {
++        "queue-tick": "^1.0.0"
++      }
++    },
++    "node_modules/nan": {
++      "version": "2.17.0",
++      "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
++      "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ=="
++    },
++    "node_modules/nanoassert": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz",
++      "integrity": "sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ=="
++    },
++    "node_modules/nanobench": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz",
++      "integrity": "sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==",
++      "dependencies": {
++        "browser-process-hrtime": "^0.1.2",
++        "chalk": "^1.1.3",
++        "mutexify": "^1.1.0",
++        "pretty-hrtime": "^1.0.2"
++      },
++      "bin": {
++        "nanobench": "run.js",
++        "nanobench-compare": "compare.js"
++      }
++    },
++    "node_modules/nanobench/node_modules/ansi-regex": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/nanobench/node_modules/ansi-styles": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
++      "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/nanobench/node_modules/chalk": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
++      "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
++      "dependencies": {
++        "ansi-styles": "^2.2.1",
++        "escape-string-regexp": "^1.0.2",
++        "has-ansi": "^2.0.0",
++        "strip-ansi": "^3.0.0",
++        "supports-color": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/nanobench/node_modules/strip-ansi": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
++      "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
++      "dependencies": {
++        "ansi-regex": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/nanobench/node_modules/supports-color": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
++      "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
++      "engines": {
++        "node": ">=0.8.0"
++      }
++    },
++    "node_modules/nanohtml": {
++      "version": "1.10.0",
++      "resolved": "https://registry.npmjs.org/nanohtml/-/nanohtml-1.10.0.tgz",
++      "integrity": "sha512-r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==",
++      "dependencies": {
++        "acorn-node": "^1.8.2",
++        "camel-case": "^3.0.0",
++        "convert-source-map": "^1.5.1",
++        "estree-is-member-expression": "^1.0.0",
++        "hyperx": "^2.5.0",
++        "is-boolean-attribute": "0.0.1",
++        "nanoassert": "^1.1.0",
++        "nanobench": "^2.1.0",
++        "normalize-html-whitespace": "^0.2.0",
++        "through2": "^2.0.3",
++        "transform-ast": "^2.4.0"
++      }
++    },
++    "node_modules/nanoid": {
++      "version": "3.3.4",
++      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
++      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
++      "bin": {
++        "nanoid": "bin/nanoid.cjs"
++      },
++      "engines": {
++        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
++      }
++    },
++    "node_modules/nanomorph": {
++      "version": "5.4.3",
++      "resolved": "https://registry.npmjs.org/nanomorph/-/nanomorph-5.4.3.tgz",
++      "integrity": "sha512-uPP5y0x21KISffZCKHh1A0QW0RHZFQS0BR7LetlHBlay6UWAbjwhjiJTxOO6JeMHko5Cigl617zFoGrYFJ8ZLg==",
++      "dependencies": {
++        "nanoassert": "^1.1.0"
++      }
++    },
++    "node_modules/napi-build-utils": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
++      "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
++      "optional": true
++    },
++    "node_modules/natural-compare": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
++      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
++    },
++    "node_modules/negotiator": {
++      "version": "0.6.3",
++      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
++      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/no-case": {
++      "version": "2.3.2",
++      "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
++      "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
++      "dependencies": {
++        "lower-case": "^1.1.1"
++      }
++    },
++    "node_modules/node-abi": {
++      "version": "3.28.0",
++      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.28.0.tgz",
++      "integrity": "sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==",
++      "optional": true,
++      "dependencies": {
++        "semver": "^7.3.5"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/node-forge": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
++      "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
++      "engines": {
++        "node": ">= 6.13.0"
++      }
++    },
++    "node_modules/node-gyp": {
++      "version": "8.4.1",
++      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
++      "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
++      "dependencies": {
++        "env-paths": "^2.2.0",
++        "glob": "^7.1.4",
++        "graceful-fs": "^4.2.6",
++        "make-fetch-happen": "^9.1.0",
++        "nopt": "^5.0.0",
++        "npmlog": "^6.0.0",
++        "rimraf": "^3.0.2",
++        "semver": "^7.3.5",
++        "tar": "^6.1.2",
++        "which": "^2.0.2"
++      },
++      "bin": {
++        "node-gyp": "bin/node-gyp.js"
++      },
++      "engines": {
++        "node": ">= 10.12.0"
++      }
++    },
++    "node_modules/node-gyp/node_modules/are-we-there-yet": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
++      "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
++      "dependencies": {
++        "delegates": "^1.0.0",
++        "readable-stream": "^3.6.0"
++      },
++      "engines": {
++        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
++      }
++    },
++    "node_modules/node-gyp/node_modules/gauge": {
++      "version": "4.0.4",
++      "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
++      "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
++      "dependencies": {
++        "aproba": "^1.0.3 || ^2.0.0",
++        "color-support": "^1.1.3",
++        "console-control-strings": "^1.1.0",
++        "has-unicode": "^2.0.1",
++        "signal-exit": "^3.0.7",
++        "string-width": "^4.2.3",
++        "strip-ansi": "^6.0.1",
++        "wide-align": "^1.1.5"
++      },
++      "engines": {
++        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
++      }
++    },
++    "node_modules/node-gyp/node_modules/npmlog": {
++      "version": "6.0.2",
++      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
++      "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
++      "dependencies": {
++        "are-we-there-yet": "^3.0.0",
++        "console-control-strings": "^1.1.0",
++        "gauge": "^4.0.3",
++        "set-blocking": "^2.0.0"
++      },
++      "engines": {
++        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
++      }
++    },
++    "node_modules/node-gyp/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==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/node-gyp/node_modules/rimraf": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++      "dependencies": {
++        "glob": "^7.1.3"
++      },
++      "bin": {
++        "rimraf": "bin.js"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/isaacs"
++      }
++    },
++    "node_modules/node-mouse": {
++      "version": "0.0.2",
++      "resolved": "https://registry.npmjs.org/node-mouse/-/node-mouse-0.0.2.tgz",
++      "integrity": "sha512-qqm+c/uKB1ceGMrKW+mxAxPKFTu0HD1DWoCElJHA0VQDloudzZD4bI++Z18mSDA3n5lix+RTXiOiu3XAOSYVHA=="
++    },
++    "node_modules/node-releases": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
++      "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
++    },
++    "node_modules/node-sass": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz",
++      "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==",
++      "hasInstallScript": true,
++      "dependencies": {
++        "async-foreach": "^0.1.3",
++        "chalk": "^4.1.2",
++        "cross-spawn": "^7.0.3",
++        "gaze": "^1.0.0",
++        "get-stdin": "^4.0.1",
++        "glob": "^7.0.3",
++        "lodash": "^4.17.15",
++        "meow": "^9.0.0",
++        "nan": "^2.13.2",
++        "node-gyp": "^8.4.1",
++        "npmlog": "^5.0.0",
++        "request": "^2.88.0",
++        "sass-graph": "4.0.0",
++        "stdout-stream": "^1.4.0",
++        "true-case-path": "^1.0.2"
++      },
++      "bin": {
++        "node-sass": "bin/node-sass"
++      },
++      "engines": {
++        "node": ">=12"
++      }
++    },
++    "node_modules/node-sass/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==",
++      "dependencies": {
++        "color-convert": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
++      }
++    },
++    "node_modules/node-sass/node_modules/chalk": {
++      "version": "4.1.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++      "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/node-sass/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==",
++      "dependencies": {
++        "color-name": "~1.1.4"
++      },
++      "engines": {
++        "node": ">=7.0.0"
++      }
++    },
++    "node_modules/node-sass/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=="
++    },
++    "node_modules/node-sass/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==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/node-sass/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==",
++      "dependencies": {
++        "has-flag": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/nodemon": {
++      "version": "2.0.16",
++      "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.16.tgz",
++      "integrity": "sha512-zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w==",
++      "hasInstallScript": true,
++      "dependencies": {
++        "chokidar": "^3.5.2",
++        "debug": "^3.2.7",
++        "ignore-by-default": "^1.0.1",
++        "minimatch": "^3.0.4",
++        "pstree.remy": "^1.1.8",
++        "semver": "^5.7.1",
++        "supports-color": "^5.5.0",
++        "touch": "^3.1.0",
++        "undefsafe": "^2.0.5",
++        "update-notifier": "^5.1.0"
++      },
++      "bin": {
++        "nodemon": "bin/nodemon.js"
++      },
++      "engines": {
++        "node": ">=8.10.0"
++      },
++      "funding": {
++        "type": "opencollective",
++        "url": "https://opencollective.com/nodemon"
++      }
++    },
++    "node_modules/nodemon/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=="
++    },
++    "node_modules/nodemon/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==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/nodemon/node_modules/debug": {
++      "version": "3.2.7",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
++      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
++      "dependencies": {
++        "ms": "^2.1.1"
++      }
++    },
++    "node_modules/nodemon/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/nodemon/node_modules/semver": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
++      "bin": {
++        "semver": "bin/semver"
++      }
++    },
++    "node_modules/nopt": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
++      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
++      "dependencies": {
++        "abbrev": "1"
++      },
++      "bin": {
++        "nopt": "bin/nopt.js"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/normalize-html-whitespace": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-0.2.0.tgz",
++      "integrity": "sha512-5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw==",
++      "engines": {
++        "node": ">= 0.10"
++      }
++    },
++    "node_modules/normalize-package-data": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
++      "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
++      "dependencies": {
++        "hosted-git-info": "^4.0.1",
++        "is-core-module": "^2.5.0",
++        "semver": "^7.3.4",
++        "validate-npm-package-license": "^3.0.1"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "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-url": {
++      "version": "4.5.1",
++      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
++      "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/nosleep.js": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz",
++      "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA=="
++    },
++    "node_modules/npm-conf": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
++      "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
++      "optional": true,
++      "dependencies": {
++        "config-chain": "^1.1.11",
++        "pify": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/npmlog": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
++      "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
++      "dependencies": {
++        "are-we-there-yet": "^2.0.0",
++        "console-control-strings": "^1.1.0",
++        "gauge": "^3.0.0",
++        "set-blocking": "^2.0.0"
++      }
++    },
++    "node_modules/oauth-sign": {
++      "version": "0.9.0",
++      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
++      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/object-assign": {
++      "version": "4.1.1",
++      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
++      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "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/offset-sourcemap-lines": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz",
++      "integrity": "sha512-8giJa0GProV9hPLOp9qAobkvi6OiZnzeM6fdubVjhqcrISX8FYMk1jMVzG6R9d7HQWLysG22jyXEIF6sWu4fJw==",
++      "dependencies": {
++        "source-map": "^0.5.0"
++      }
++    },
++    "node_modules/on-finished": {
++      "version": "2.4.1",
++      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
++      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
++      "dependencies": {
++        "ee-first": "1.1.1"
++      },
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/once": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
++      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
++      "dependencies": {
++        "wrappy": "1"
++      }
++    },
++    "node_modules/open": {
++      "version": "8.4.0",
++      "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
++      "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
++      "dependencies": {
++        "define-lazy-prop": "^2.0.0",
++        "is-docker": "^2.1.1",
++        "is-wsl": "^2.2.0"
++      },
++      "engines": {
++        "node": ">=12"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/optionator": {
++      "version": "0.9.1",
++      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
++      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
++      "dependencies": {
++        "deep-is": "^0.1.3",
++        "fast-levenshtein": "^2.0.6",
++        "levn": "^0.4.1",
++        "prelude-ls": "^1.2.1",
++        "type-check": "^0.4.0",
++        "word-wrap": "^1.2.3"
++      },
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/os-browserify": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
++      "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="
++    },
++    "node_modules/osc": {
++      "version": "2.4.2",
++      "resolved": "git+ssh://git@github.com/jean-emmanuel/osc.js.git#9197739162f26086e6a72670103c3fa036e9dcd5",
++      "license": "(MIT OR GPL-2.0)",
++      "dependencies": {
++        "long": "4.0.0",
++        "slip": "1.0.2",
++        "wolfy87-eventemitter": "5.2.9",
++        "ws": "7.5.3"
++      },
++      "optionalDependencies": {
++        "serialport": "9.2.0"
++      }
++    },
++    "node_modules/osc/node_modules/ws": {
++      "version": "7.5.3",
++      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
++      "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
++      "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/osi-licenses": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/osi-licenses/-/osi-licenses-0.1.1.tgz",
++      "integrity": "sha512-ZGAGO6dIxTS/mXxEJCpIdYetAoxIOOr7uYpMOoDWo4+b/6rf+2GagOjTbegL+eoMI8aYAiyNgKWUT7vWJRPl9A==",
++      "engines": {
++        "node": ">=0.10",
++        "npm": ">=1.2"
++      }
++    },
++    "node_modules/oss-license-name-to-url": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/oss-license-name-to-url/-/oss-license-name-to-url-1.2.1.tgz",
++      "integrity": "sha512-apFbKq0EAYi70q0pOpS0tDfSviZYdG3KM6U1GpofZPsRMwgDga0DQiPQ/GHyQx7PDDrLCGvFBNPLMLV/K4Jr4Q==",
++      "dependencies": {
++        "osi-licenses": "^0.1.0"
++      }
++    },
++    "node_modules/outpipe": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
++      "integrity": "sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA==",
++      "dev": true,
++      "dependencies": {
++        "shell-quote": "^1.4.2"
++      }
++    },
++    "node_modules/p-cancelable": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
++      "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "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==",
++      "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": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
++      "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==",
++      "dependencies": {
++        "aggregate-error": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/p-try": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
++      "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/package-json": {
++      "version": "6.5.0",
++      "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
++      "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
++      "dependencies": {
++        "got": "^9.6.0",
++        "registry-auth-token": "^4.0.0",
++        "registry-url": "^5.0.0",
++        "semver": "^6.2.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/package-json/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/pako": {
++      "version": "1.0.11",
++      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
++      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
++    },
++    "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==",
++      "dependencies": {
++        "callsites": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/parents": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
++      "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==",
++      "dependencies": {
++        "path-platform": "~0.11.15"
++      }
++    },
++    "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==",
++      "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-author": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz",
++      "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==",
++      "dependencies": {
++        "author-regex": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/parse-json": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
++      "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
++      "dependencies": {
++        "error-ex": "^1.2.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/parse-srcset": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
++      "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q=="
++    },
++    "node_modules/path-browserify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
++      "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
++    },
++    "node_modules/path-exists": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
++      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
++      "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "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==",
++      "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=="
++    },
++    "node_modules/path-platform": {
++      "version": "0.11.15",
++      "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
++      "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==",
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/path-type": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
++      "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==",
++      "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": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/pbkdf2": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
++      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
++      "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/pend": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
++      "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
++    },
++    "node_modules/performance-now": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
++      "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
++    },
++    "node_modules/picocolors": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
++      "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
++    },
++    "node_modules/picomatch": {
++      "version": "2.3.1",
++      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
++      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
++      "engines": {
++        "node": ">=8.6"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/jonschlinkert"
++      }
++    },
++    "node_modules/pify": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
++      "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
++      "optional": true,
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/plist": {
++      "version": "3.0.6",
++      "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz",
++      "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==",
++      "dependencies": {
++        "base64-js": "^1.5.1",
++        "xmlbuilder": "^15.1.1"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/postcss": {
++      "version": "7.0.39",
++      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
++      "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
++      "dependencies": {
++        "picocolors": "^0.2.1",
++        "source-map": "^0.6.1"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      },
++      "funding": {
++        "type": "opencollective",
++        "url": "https://opencollective.com/postcss/"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/prebuild-install": {
++      "version": "7.1.1",
++      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
++      "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
++      "optional": true,
++      "dependencies": {
++        "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": "^3.3.0",
++        "pump": "^3.0.0",
++        "rc": "^1.2.7",
++        "simple-get": "^4.0.0",
++        "tar-fs": "^2.0.0",
++        "tunnel-agent": "^0.6.0"
++      },
++      "bin": {
++        "prebuild-install": "bin.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/prepend-http": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
++      "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/pretty-hrtime": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
++      "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/process": {
++      "version": "0.11.10",
++      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
++      "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
++      "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=="
++    },
++    "node_modules/progress": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
++      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
++      "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": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g=="
++    },
++    "node_modules/promise-retry": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
++      "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
++      "dependencies": {
++        "err-code": "^2.0.2",
++        "retry": "^0.12.0"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/proto-list": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
++      "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
++      "optional": true
++    },
++    "node_modules/psl": {
++      "version": "1.9.0",
++      "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
++      "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
++    },
++    "node_modules/pstree.remy": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
++      "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
++    },
++    "node_modules/public-encrypt": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
++      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
++      "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=="
++    },
++    "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==",
++      "dependencies": {
++        "end-of-stream": "^1.1.0",
++        "once": "^1.3.1"
++      }
++    },
++    "node_modules/punycode": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
++      "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
++    },
++    "node_modules/pupa": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
++      "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
++      "dependencies": {
++        "escape-goat": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/python-shell": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/python-shell/-/python-shell-3.0.1.tgz",
++      "integrity": "sha512-TWeotuxe1auhXa5bGRScxnc2J+0r41NBntSa6RYZtMBLtAEsvCboKrEbW6DvASosWQepVkhZZlT3B5Ei766G+Q==",
++      "engines": {
++        "node": ">=0.10"
++      }
++    },
++    "node_modules/qs": {
++      "version": "6.5.3",
++      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
++      "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
++      "engines": {
++        "node": ">=0.6"
++      }
++    },
++    "node_modules/querystring": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
++      "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
++      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
++      "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": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
++      "engines": {
++        "node": ">=0.4.x"
++      }
++    },
++    "node_modules/queue-tick": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
++      "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="
++    },
++    "node_modules/quick-lru": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
++      "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/randombytes": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
++      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
++      "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==",
++      "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==",
++      "engines": {
++        "node": ">= 0.6"
++      }
++    },
++    "node_modules/rc": {
++      "version": "1.2.8",
++      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
++      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
++      "dependencies": {
++        "deep-extend": "^0.6.0",
++        "ini": "~1.3.0",
++        "minimist": "^1.2.0",
++        "strip-json-comments": "~2.0.1"
++      },
++      "bin": {
++        "rc": "cli.js"
++      }
++    },
++    "node_modules/rc/node_modules/strip-json-comments": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
++      "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/rcedit": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.3.0.tgz",
++      "integrity": "sha512-h1gNEl9Oai1oijwyJ1WYqYSXTStHnOcv1KYljg/8WM4NAg3H1KBK3azIaKkQ1WQl+d7PoJpcBMscPfLXVKgCLQ==",
++      "engines": {
++        "node": ">= 8.0.0"
++      }
++    },
++    "node_modules/read-only-stream": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
++      "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==",
++      "dependencies": {
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/read-pkg": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
++      "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==",
++      "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": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==",
++      "dependencies": {
++        "find-up": "^2.0.0",
++        "read-pkg": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/read-pkg/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=="
++    },
++    "node_modules/read-pkg/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==",
++      "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/read-pkg/node_modules/semver": {
++      "version": "5.7.1",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
++      "bin": {
++        "semver": "bin/semver"
++      }
++    },
++    "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==",
++      "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/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=="
++    },
++    "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==",
++      "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/redent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
++      "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
++      "dependencies": {
++        "indent-string": "^4.0.0",
++        "strip-indent": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "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=="
++    },
++    "node_modules/regenerate-unicode-properties": {
++      "version": "10.1.0",
++      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
++      "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
++      "dependencies": {
++        "regenerate": "^1.4.2"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/regenerator-runtime": {
++      "version": "0.13.10",
++      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
++      "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw=="
++    },
++    "node_modules/regenerator-transform": {
++      "version": "0.15.0",
++      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
++      "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
++      "dependencies": {
++        "@babel/runtime": "^7.8.4"
++      }
++    },
++    "node_modules/regexp.prototype.flags": {
++      "version": "1.4.3",
++      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
++      "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
++      "dependencies": {
++        "call-bind": "^1.0.2",
++        "define-properties": "^1.1.3",
++        "functions-have-names": "^1.2.2"
++      },
++      "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==",
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/mysticatea"
++      }
++    },
++    "node_modules/regexpu-core": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz",
++      "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==",
++      "dependencies": {
++        "regenerate": "^1.4.2",
++        "regenerate-unicode-properties": "^10.1.0",
++        "regjsgen": "^0.7.1",
++        "regjsparser": "^0.9.1",
++        "unicode-match-property-ecmascript": "^2.0.0",
++        "unicode-match-property-value-ecmascript": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/registry-auth-token": {
++      "version": "4.2.2",
++      "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz",
++      "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==",
++      "dependencies": {
++        "rc": "1.2.8"
++      },
++      "engines": {
++        "node": ">=6.0.0"
++      }
++    },
++    "node_modules/registry-url": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
++      "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
++      "dependencies": {
++        "rc": "^1.2.8"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/regjsgen": {
++      "version": "0.7.1",
++      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
++      "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA=="
++    },
++    "node_modules/regjsparser": {
++      "version": "0.9.1",
++      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
++      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
++      "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": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
++      "bin": {
++        "jsesc": "bin/jsesc"
++      }
++    },
++    "node_modules/replacestream": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz",
++      "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==",
++      "dependencies": {
++        "escape-string-regexp": "^1.0.3",
++        "object-assign": "^4.0.1",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/request": {
++      "version": "2.88.2",
++      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
++      "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
++      "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
++      "dependencies": {
++        "aws-sign2": "~0.7.0",
++        "aws4": "^1.8.0",
++        "caseless": "~0.12.0",
++        "combined-stream": "~1.0.6",
++        "extend": "~3.0.2",
++        "forever-agent": "~0.6.1",
++        "form-data": "~2.3.2",
++        "har-validator": "~5.1.3",
++        "http-signature": "~1.2.0",
++        "is-typedarray": "~1.0.0",
++        "isstream": "~0.1.2",
++        "json-stringify-safe": "~5.0.1",
++        "mime-types": "~2.1.19",
++        "oauth-sign": "~0.9.0",
++        "performance-now": "^2.1.0",
++        "qs": "~6.5.2",
++        "safe-buffer": "^5.1.2",
++        "tough-cookie": "~2.5.0",
++        "tunnel-agent": "^0.6.0",
++        "uuid": "^3.3.2"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/request/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.",
++      "bin": {
++        "uuid": "bin/uuid"
++      }
++    },
++    "node_modules/require-directory": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
++      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/resolve": {
++      "version": "1.22.1",
++      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
++      "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
++      "dependencies": {
++        "is-core-module": "^2.9.0",
++        "path-parse": "^1.0.7",
++        "supports-preserve-symlinks-flag": "^1.0.0"
++      },
++      "bin": {
++        "resolve": "bin/resolve"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/responselike": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
++      "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
++      "dependencies": {
++        "lowercase-keys": "^1.0.0"
++      }
++    },
++    "node_modules/retry": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
++      "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
++      "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==",
++      "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==",
++      "dependencies": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1"
++      }
++    },
++    "node_modules/roarr": {
++      "version": "2.15.4",
++      "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
++      "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
++      "optional": true,
++      "dependencies": {
++        "boolean": "^3.0.1",
++        "detect-node": "^2.0.4",
++        "globalthis": "^1.0.1",
++        "json-stringify-safe": "^5.0.1",
++        "semver-compare": "^1.0.0",
++        "sprintf-js": "^1.1.2"
++      },
++      "engines": {
++        "node": ">=8.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==",
++      "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/safer-buffer": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
++      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
++    },
++    "node_modules/sanitize-html": {
++      "version": "1.27.5",
++      "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.5.tgz",
++      "integrity": "sha512-M4M5iXDAUEcZKLXkmk90zSYWEtk5NH3JmojQxKxV371fnMh+x9t1rqdmXaGoyEHw3z/X/8vnFhKjGL5xFGOJ3A==",
++      "dependencies": {
++        "htmlparser2": "^4.1.0",
++        "lodash": "^4.17.15",
++        "parse-srcset": "^1.0.2",
++        "postcss": "^7.0.27"
++      }
++    },
++    "node_modules/sass-graph": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz",
++      "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==",
++      "dependencies": {
++        "glob": "^7.0.0",
++        "lodash": "^4.17.11",
++        "scss-tokenizer": "^0.3.0",
++        "yargs": "^17.2.1"
++      },
++      "bin": {
++        "sassgraph": "bin/sassgraph"
++      },
++      "engines": {
++        "node": ">=12"
++      }
++    },
++    "node_modules/scope-css": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/scope-css/-/scope-css-1.2.1.tgz",
++      "integrity": "sha512-UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q==",
++      "dependencies": {
++        "escaper": "^2.5.3",
++        "slugify": "^1.3.1",
++        "strip-css-comments": "^3.0.0"
++      }
++    },
++    "node_modules/screenfull": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz",
++      "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==",
++      "engines": {
++        "node": ">=0.10.0"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/scss-tokenizer": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz",
++      "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==",
++      "dependencies": {
++        "js-base64": "^2.4.3",
++        "source-map": "^0.7.1"
++      }
++    },
++    "node_modules/scss-tokenizer/node_modules/source-map": {
++      "version": "0.7.4",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
++      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/semver": {
++      "version": "7.3.7",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
++      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
++      "dependencies": {
++        "lru-cache": "^6.0.0"
++      },
++      "bin": {
++        "semver": "bin/semver.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/semver-compare": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
++      "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
++      "optional": true
++    },
++    "node_modules/semver-diff": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
++      "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
++      "dependencies": {
++        "semver": "^6.3.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/semver-diff/node_modules/semver": {
++      "version": "6.3.0",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
++      "bin": {
++        "semver": "bin/semver.js"
++      }
++    },
++    "node_modules/send": {
++      "version": "0.18.0",
++      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
++      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
++      "dependencies": {
++        "debug": "2.6.9",
++        "depd": "2.0.0",
++        "destroy": "1.2.0",
++        "encodeurl": "~1.0.2",
++        "escape-html": "~1.0.3",
++        "etag": "~1.8.1",
++        "fresh": "0.5.2",
++        "http-errors": "2.0.0",
++        "mime": "1.6.0",
++        "ms": "2.1.3",
++        "on-finished": "2.4.1",
++        "range-parser": "~1.2.1",
++        "statuses": "2.0.1"
++      },
++      "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==",
++      "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": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++    },
++    "node_modules/send/node_modules/depd": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
++      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/send/node_modules/ms": {
++      "version": "2.1.3",
++      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
++      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
++    },
++    "node_modules/serialize-error": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
++      "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
++      "optional": true,
++      "dependencies": {
++        "type-fest": "^0.13.1"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/serialize-error/node_modules/type-fest": {
++      "version": "0.13.1",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
++      "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
++      "optional": true,
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/serialport": {
++      "version": "9.2.0",
++      "resolved": "https://registry.npmjs.org/serialport/-/serialport-9.2.0.tgz",
++      "integrity": "sha512-C6AQ4jD4mre3tn3QA+atn++mEZDh4r40CIeh1sKhskKE+Q4eiIr/nzVMOiPxHb8gskrSNxujH+Br49tl3i9s9g==",
++      "optional": true,
++      "dependencies": {
++        "@serialport/binding-mock": "9.0.7",
++        "@serialport/bindings": "^9.2.0",
++        "@serialport/parser-byte-length": "9.0.7",
++        "@serialport/parser-cctalk": "9.0.7",
++        "@serialport/parser-delimiter": "9.0.7",
++        "@serialport/parser-inter-byte-timeout": "9.0.7",
++        "@serialport/parser-readline": "9.0.7",
++        "@serialport/parser-ready": "9.0.7",
++        "@serialport/parser-regex": "9.0.7",
++        "@serialport/stream": "9.0.7",
++        "debug": "^4.3.1"
++      },
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "funding": {
++        "url": "https://opencollective.com/serialport/donate"
++      }
++    },
++    "node_modules/set-blocking": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
++      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
++    },
++    "node_modules/setprototypeof": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
++      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
++    },
++    "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==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      },
++      "bin": {
++        "sha.js": "bin.js"
++      }
++    },
++    "node_modules/shasum-object": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz",
++      "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==",
++      "dependencies": {
++        "fast-safe-stringify": "^2.0.7"
++      }
++    },
++    "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==",
++      "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==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/shell-quote": {
++      "version": "1.7.4",
++      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz",
++      "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==",
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/signal-exit": {
++      "version": "3.0.7",
++      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
++      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
++    },
++    "node_modules/simple-concat": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
++      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
++      "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/simple-get": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
++      "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ],
++      "optional": true,
++      "dependencies": {
++        "decompress-response": "^6.0.0",
++        "once": "^1.3.1",
++        "simple-concat": "^1.0.0"
++      }
++    },
++    "node_modules/simple-get/node_modules/decompress-response": {
++      "version": "6.0.0",
++      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
++      "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
++      "optional": true,
++      "dependencies": {
++        "mimic-response": "^3.1.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/simple-get/node_modules/mimic-response": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
++      "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
++      "optional": true,
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/slip": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/slip/-/slip-1.0.2.tgz",
++      "integrity": "sha512-XrcHe3NAcyD3wO+O4I13RcS4/3AF+S9RvGNj9JhJeS02HyImwD2E3QWLrmn9hBfL+fB6yapagwxRkeyYzhk98g=="
++    },
++    "node_modules/slugify": {
++      "version": "1.6.5",
++      "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz",
++      "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==",
++      "engines": {
++        "node": ">=8.0.0"
++      }
++    },
++    "node_modules/smart-buffer": {
++      "version": "4.2.0",
++      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
++      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
++      "engines": {
++        "node": ">= 6.0.0",
++        "npm": ">= 3.0.0"
++      }
++    },
++    "node_modules/socks": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
++      "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
++      "dependencies": {
++        "ip": "^2.0.0",
++        "smart-buffer": "^4.2.0"
++      },
++      "engines": {
++        "node": ">= 10.13.0",
++        "npm": ">= 3.0.0"
++      }
++    },
++    "node_modules/socks-proxy-agent": {
++      "version": "6.2.1",
++      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
++      "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
++      "dependencies": {
++        "agent-base": "^6.0.2",
++        "debug": "^4.3.3",
++        "socks": "^2.6.2"
++      },
++      "engines": {
++        "node": ">= 10"
++      }
++    },
++    "node_modules/socks/node_modules/ip": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
++      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
++    },
++    "node_modules/sortablejs": {
++      "version": "1.15.0",
++      "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz",
++      "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w=="
++    },
++    "node_modules/source-map": {
++      "version": "0.5.7",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
++      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/source-map-support": {
++      "version": "0.5.21",
++      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
++      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
++      "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==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "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=="
++    },
++    "node_modules/spdx-correct": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
++      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
++      "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=="
++    },
++    "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==",
++      "dependencies": {
++        "spdx-exceptions": "^2.1.0",
++        "spdx-license-ids": "^3.0.0"
++      }
++    },
++    "node_modules/spdx-license-ids": {
++      "version": "3.0.12",
++      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
++      "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA=="
++    },
++    "node_modules/sprintf-js": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
++      "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
++      "optional": true
++    },
++    "node_modules/sshpk": {
++      "version": "1.17.0",
++      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
++      "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
++      "dependencies": {
++        "asn1": "~0.2.3",
++        "assert-plus": "^1.0.0",
++        "bcrypt-pbkdf": "^1.0.0",
++        "dashdash": "^1.12.0",
++        "ecc-jsbn": "~0.1.1",
++        "getpass": "^0.1.1",
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.0.2",
++        "tweetnacl": "~0.14.0"
++      },
++      "bin": {
++        "sshpk-conv": "bin/sshpk-conv",
++        "sshpk-sign": "bin/sshpk-sign",
++        "sshpk-verify": "bin/sshpk-verify"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/ssri": {
++      "version": "8.0.1",
++      "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
++      "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
++      "dependencies": {
++        "minipass": "^3.1.1"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/stack-generator": {
++      "version": "2.0.10",
++      "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz",
++      "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==",
++      "dependencies": {
++        "stackframe": "^1.3.4"
++      }
++    },
++    "node_modules/stackframe": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
++      "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="
++    },
++    "node_modules/stacktrace-gps": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz",
++      "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==",
++      "dependencies": {
++        "source-map": "0.5.6",
++        "stackframe": "^1.3.4"
++      }
++    },
++    "node_modules/stacktrace-gps/node_modules/source-map": {
++      "version": "0.5.6",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
++      "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/stacktrace-js": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz",
++      "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==",
++      "dependencies": {
++        "error-stack-parser": "^2.0.6",
++        "stack-generator": "^2.0.5",
++        "stacktrace-gps": "^3.0.4"
++      }
++    },
++    "node_modules/statuses": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
++      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
++      "engines": {
++        "node": ">= 0.8"
++      }
++    },
++    "node_modules/stdout-stream": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
++      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
++      "dependencies": {
++        "readable-stream": "^2.0.1"
++      }
++    },
++    "node_modules/stream-browserify": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
++      "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
++      "dependencies": {
++        "inherits": "~2.0.4",
++        "readable-stream": "^3.5.0"
++      }
++    },
++    "node_modules/stream-browserify/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==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/stream-combiner2": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
++      "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==",
++      "dependencies": {
++        "duplexer2": "~0.1.0",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/stream-http": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
++      "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
++      "dependencies": {
++        "builtin-status-codes": "^3.0.0",
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.6.0",
++        "xtend": "^4.0.2"
++      }
++    },
++    "node_modules/stream-http/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==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "node_modules/stream-splicer": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz",
++      "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
++      "dependencies": {
++        "inherits": "^2.0.1",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "node_modules/strictdom": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/strictdom/-/strictdom-1.0.1.tgz",
++      "integrity": "sha512-cEmp9QeXXRmjj/rVp9oyiqcvyocWab/HaoN4+bwFeZ7QzykJD6L3yD4v12K1x0tHpqRqVpJevN3gW7kyM39Bqg=="
++    },
++    "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==",
++      "dependencies": {
++        "safe-buffer": "~5.2.0"
++      }
++    },
++    "node_modules/string-width": {
++      "version": "4.2.3",
++      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
++      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
++      "dependencies": {
++        "emoji-regex": "^8.0.0",
++        "is-fullwidth-code-point": "^3.0.0",
++        "strip-ansi": "^6.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/strip-ansi": {
++      "version": "6.0.1",
++      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
++      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
++      "dependencies": {
++        "ansi-regex": "^5.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/strip-bom": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
++      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/strip-css-comments": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-3.0.0.tgz",
++      "integrity": "sha512-xJwk2yMZ6j+0Clj7ETUfqQ6frsaCIqNGg3zjTVswIt3SbiOsCQgRI1E93hdt/JgGfh5De/sTwxrnrBhhWzMwcg==",
++      "dependencies": {
++        "is-regexp": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/strip-indent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
++      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
++      "dependencies": {
++        "min-indent": "^1.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "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==",
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/strip-outer": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
++      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
++      "dependencies": {
++        "escape-string-regexp": "^1.0.2"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/subarg": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
++      "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==",
++      "dependencies": {
++        "minimist": "^1.1.0"
++      }
++    },
++    "node_modules/sumchecker": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
++      "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==",
++      "dependencies": {
++        "debug": "^4.1.0"
++      },
++      "engines": {
++        "node": ">= 8.0"
++      }
++    },
++    "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==",
++      "dependencies": {
++        "has-flag": "^3.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/supports-preserve-symlinks-flag": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
++      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/syntax-error": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
++      "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
++      "dependencies": {
++        "acorn-node": "^1.2.0"
++      }
++    },
++    "node_modules/tar": {
++      "version": "6.1.12",
++      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz",
++      "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==",
++      "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-fs": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
++      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
++      "optional": true,
++      "dependencies": {
++        "chownr": "^1.1.1",
++        "mkdirp-classic": "^0.5.2",
++        "pump": "^3.0.0",
++        "tar-stream": "^2.1.4"
++      }
++    },
++    "node_modules/tar-fs/node_modules/chownr": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
++      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
++      "optional": true
++    },
++    "node_modules/tar-stream": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
++      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
++      "optional": true,
++      "dependencies": {
++        "bl": "^4.0.3",
++        "end-of-stream": "^1.4.1",
++        "fs-constants": "^1.0.0",
++        "inherits": "^2.0.3",
++        "readable-stream": "^3.1.1"
++      },
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "node_modules/tar-stream/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==",
++      "optional": true,
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "string_decoder": "^1.1.1",
++        "util-deprecate": "^1.0.1"
++      },
++      "engines": {
++        "node": ">= 6"
++      }
++    },
++    "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==",
++      "bin": {
++        "mkdirp": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/terser": {
++      "version": "3.17.0",
++      "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
++      "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
++      "dependencies": {
++        "commander": "^2.19.0",
++        "source-map": "~0.6.1",
++        "source-map-support": "~0.5.10"
++      },
++      "bin": {
++        "terser": "bin/uglifyjs"
++      },
++      "engines": {
++        "node": ">=6.0.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=="
++    },
++    "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==",
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/text-table": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
++      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
++    },
++    "node_modules/through": {
++      "version": "2.3.8",
++      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
++      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
++    },
++    "node_modules/through2": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
++      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
++      "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=="
++    },
++    "node_modules/timers-browserify": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
++      "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==",
++      "dependencies": {
++        "process": "~0.11.0"
++      },
++      "engines": {
++        "node": ">=0.6.0"
++      }
++    },
++    "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": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/to-readable-stream": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
++      "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
++      "engines": {
++        "node": ">=6"
++      }
++    },
++    "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/toidentifier": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
++      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
++      "engines": {
++        "node": ">=0.6"
++      }
++    },
++    "node_modules/touch": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
++      "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
++      "dependencies": {
++        "nopt": "~1.0.10"
++      },
++      "bin": {
++        "nodetouch": "bin/nodetouch.js"
++      }
++    },
++    "node_modules/touch/node_modules/nopt": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
++      "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
++      "dependencies": {
++        "abbrev": "1"
++      },
++      "bin": {
++        "nopt": "bin/nopt.js"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/tough-cookie": {
++      "version": "2.5.0",
++      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
++      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
++      "dependencies": {
++        "psl": "^1.1.28",
++        "punycode": "^2.1.1"
++      },
++      "engines": {
++        "node": ">=0.8"
++      }
++    },
++    "node_modules/tough-cookie/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/transform-ast": {
++      "version": "2.4.4",
++      "resolved": "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz",
++      "integrity": "sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==",
++      "dependencies": {
++        "acorn-node": "^1.3.0",
++        "convert-source-map": "^1.5.1",
++        "dash-ast": "^1.0.0",
++        "is-buffer": "^2.0.0",
++        "magic-string": "^0.23.2",
++        "merge-source-map": "1.0.4",
++        "nanobench": "^2.1.1"
++      }
++    },
++    "node_modules/transform-ast/node_modules/is-buffer": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
++      "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
++      "funding": [
++        {
++          "type": "github",
++          "url": "https://github.com/sponsors/feross"
++        },
++        {
++          "type": "patreon",
++          "url": "https://www.patreon.com/feross"
++        },
++        {
++          "type": "consulting",
++          "url": "https://feross.org/support"
++        }
++      ],
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/trim-newlines": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
++      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/trim-repeated": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
++      "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==",
++      "dependencies": {
++        "escape-string-regexp": "^1.0.2"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
++    "node_modules/true-case-path": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
++      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
++      "dependencies": {
++        "glob": "^7.1.2"
++      }
++    },
++    "node_modules/tty-browserify": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
++      "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="
++    },
++    "node_modules/tunnel": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
++      "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
++      "optional": true,
++      "engines": {
++        "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
++      }
++    },
++    "node_modules/tunnel-agent": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
++      "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
++      "dependencies": {
++        "safe-buffer": "^5.0.1"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/tweetnacl": {
++      "version": "0.14.5",
++      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
++      "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
++    },
++    "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==",
++      "dependencies": {
++        "prelude-ls": "^1.2.1"
++      },
++      "engines": {
++        "node": ">= 0.8.0"
++      }
++    },
++    "node_modules/type-fest": {
++      "version": "0.18.1",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
++      "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/sindresorhus"
++      }
++    },
++    "node_modules/type-name": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz",
++      "integrity": "sha512-kkgkuqR/jKdKO5oh/I2SMu2dGbLXoJq0zkdgbxaqYK+hr9S9edwVVGf+tMUFTx2gH9TN2+Zu9JZ/Njonb3cjhA=="
++    },
++    "node_modules/typedarray": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
++      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
++    },
++    "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==",
++      "dependencies": {
++        "is-typedarray": "^1.0.0"
++      }
++    },
++    "node_modules/uglifyify": {
++      "version": "5.0.2",
++      "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz",
++      "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==",
++      "dependencies": {
++        "convert-source-map": "~1.1.0",
++        "minimatch": "^3.0.2",
++        "terser": "^3.7.5",
++        "through": "~2.3.4",
++        "xtend": "^4.0.1"
++      }
++    },
++    "node_modules/uglifyify/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=="
++    },
++    "node_modules/uglifyify/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==",
++      "dependencies": {
++        "balanced-match": "^1.0.0",
++        "concat-map": "0.0.1"
++      }
++    },
++    "node_modules/uglifyify/node_modules/convert-source-map": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
++      "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg=="
++    },
++    "node_modules/uglifyify/node_modules/minimatch": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++      "dependencies": {
++        "brace-expansion": "^1.1.7"
++      },
++      "engines": {
++        "node": "*"
++      }
++    },
++    "node_modules/umd": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
++      "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
++      "bin": {
++        "umd": "bin/cli.js"
++      }
++    },
++    "node_modules/undeclared-identifiers": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz",
++      "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
++      "dependencies": {
++        "acorn-node": "^1.3.0",
++        "dash-ast": "^1.0.0",
++        "get-assigned-identifiers": "^1.2.0",
++        "simple-concat": "^1.0.0",
++        "xtend": "^4.0.1"
++      },
++      "bin": {
++        "undeclared-identifiers": "bin.js"
++      }
++    },
++    "node_modules/undefsafe": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
++      "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
++    },
++    "node_modules/unicode-canonical-property-names-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/unicode-match-property-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
++      "dependencies": {
++        "unicode-canonical-property-names-ecmascript": "^2.0.0",
++        "unicode-property-aliases-ecmascript": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/unicode-match-property-value-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/unicode-property-aliases-ecmascript": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
++      "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "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==",
++      "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==",
++      "dependencies": {
++        "imurmurhash": "^0.1.4"
++      }
++    },
++    "node_modules/unique-string": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
++      "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
++      "dependencies": {
++        "crypto-random-string": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/universalify": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
++      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
++      "engines": {
++        "node": ">= 10.0.0"
++      }
++    },
++    "node_modules/unix-crypt-td-js": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz",
++      "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw=="
++    },
++    "node_modules/update-browserslist-db": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
++      "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
++      "funding": [
++        {
++          "type": "opencollective",
++          "url": "https://opencollective.com/browserslist"
++        },
++        {
++          "type": "tidelift",
++          "url": "https://tidelift.com/funding/github/npm/browserslist"
++        }
++      ],
++      "dependencies": {
++        "escalade": "^3.1.1",
++        "picocolors": "^1.0.0"
++      },
++      "bin": {
++        "browserslist-lint": "cli.js"
++      },
++      "peerDependencies": {
++        "browserslist": ">= 4.21.0"
++      }
++    },
++    "node_modules/update-browserslist-db/node_modules/picocolors": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
++      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
++    },
++    "node_modules/update-notifier": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
++      "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
++      "dependencies": {
++        "boxen": "^5.0.0",
++        "chalk": "^4.1.0",
++        "configstore": "^5.0.1",
++        "has-yarn": "^2.1.0",
++        "import-lazy": "^2.1.0",
++        "is-ci": "^2.0.0",
++        "is-installed-globally": "^0.4.0",
++        "is-npm": "^5.0.0",
++        "is-yarn-global": "^0.3.0",
++        "latest-version": "^5.1.0",
++        "pupa": "^2.1.1",
++        "semver": "^7.3.4",
++        "semver-diff": "^3.1.1",
++        "xdg-basedir": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/yeoman/update-notifier?sponsor=1"
++      }
++    },
++    "node_modules/update-notifier/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==",
++      "dependencies": {
++        "color-convert": "^2.0.1"
++      },
++      "engines": {
++        "node": ">=8"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
++      }
++    },
++    "node_modules/update-notifier/node_modules/chalk": {
++      "version": "4.1.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++      "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/update-notifier/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==",
++      "dependencies": {
++        "color-name": "~1.1.4"
++      },
++      "engines": {
++        "node": ">=7.0.0"
++      }
++    },
++    "node_modules/update-notifier/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=="
++    },
++    "node_modules/update-notifier/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==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/update-notifier/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==",
++      "dependencies": {
++        "has-flag": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/upper-case": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
++      "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA=="
++    },
++    "node_modules/uri-js": {
++      "version": "4.4.1",
++      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
++      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
++      "dependencies": {
++        "punycode": "^2.1.0"
++      }
++    },
++    "node_modules/uri-js/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/url": {
++      "version": "0.11.0",
++      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
++      "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
++      "dependencies": {
++        "punycode": "1.3.2",
++        "querystring": "0.2.0"
++      }
++    },
++    "node_modules/url-parse-lax": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
++      "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
++      "dependencies": {
++        "prepend-http": "^2.0.0"
++      },
++      "engines": {
++        "node": ">=4"
++      }
++    },
++    "node_modules/url/node_modules/punycode": {
++      "version": "1.3.2",
++      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
++      "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
++    },
++    "node_modules/util": {
++      "version": "0.12.5",
++      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
++      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
++      "dependencies": {
++        "inherits": "^2.0.3",
++        "is-arguments": "^1.0.4",
++        "is-generator-function": "^1.0.7",
++        "is-typed-array": "^1.1.3",
++        "which-typed-array": "^1.1.2"
++      }
++    },
++    "node_modules/util-deprecate": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
++      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
++    },
++    "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==",
++      "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=="
++    },
++    "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==",
++      "dependencies": {
++        "spdx-correct": "^3.0.0",
++        "spdx-expression-parse": "^3.0.0"
++      }
++    },
++    "node_modules/verror": {
++      "version": "1.10.0",
++      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
++      "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
++      "engines": [
++        "node >=0.6.0"
++      ],
++      "dependencies": {
++        "assert-plus": "^1.0.0",
++        "core-util-is": "1.0.2",
++        "extsprintf": "^1.2.0"
++      }
++    },
++    "node_modules/verror/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": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
++    },
++    "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=="
++    },
++    "node_modules/watchify": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz",
++      "integrity": "sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA==",
++      "dev": true,
++      "dependencies": {
++        "anymatch": "^3.1.0",
++        "browserify": "^17.0.0",
++        "chokidar": "^3.4.0",
++        "defined": "^1.0.0",
++        "outpipe": "^1.1.0",
++        "through2": "^4.0.2",
++        "xtend": "^4.0.2"
++      },
++      "bin": {
++        "watchify": "bin/cmd.js"
++      },
++      "engines": {
++        "node": ">= 8.10.0"
++      }
++    },
++    "node_modules/watchify/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/watchify/node_modules/through2": {
++      "version": "4.0.2",
++      "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
++      "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
++      "dev": true,
++      "dependencies": {
++        "readable-stream": "3"
++      }
++    },
++    "node_modules/webworkify": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
++      "integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
++    },
++    "node_modules/which": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
++      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
++      "dependencies": {
++        "isexe": "^2.0.0"
++      },
++      "bin": {
++        "node-which": "bin/node-which"
++      },
++      "engines": {
++        "node": ">= 8"
++      }
++    },
++    "node_modules/which-typed-array": {
++      "version": "1.1.9",
++      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
++      "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
++      "dependencies": {
++        "available-typed-arrays": "^1.0.5",
++        "call-bind": "^1.0.2",
++        "for-each": "^0.3.3",
++        "gopd": "^1.0.1",
++        "has-tostringtag": "^1.0.0",
++        "is-typed-array": "^1.1.10"
++      },
++      "engines": {
++        "node": ">= 0.4"
++      },
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
++      }
++    },
++    "node_modules/wide-align": {
++      "version": "1.1.5",
++      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
++      "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
++      "dependencies": {
++        "string-width": "^1.0.2 || 2 || 3 || 4"
++      }
++    },
++    "node_modules/widest-line": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
++      "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
++      "dependencies": {
++        "string-width": "^4.0.0"
++      },
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/wolfy87-eventemitter": {
++      "version": "5.2.9",
++      "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.9.tgz",
++      "integrity": "sha512-P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw=="
++    },
++    "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/wrap-ansi": {
++      "version": "7.0.0",
++      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
++      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
++      "dependencies": {
++        "ansi-styles": "^4.0.0",
++        "string-width": "^4.1.0",
++        "strip-ansi": "^6.0.0"
++      },
++      "engines": {
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
++      }
++    },
++    "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==",
++      "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==",
++      "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=="
++    },
++    "node_modules/wrappy": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
++      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
++    },
++    "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==",
++      "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": "8.6.0",
++      "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
++      "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
++      "engines": {
++        "node": ">=10.0.0"
++      },
++      "peerDependencies": {
++        "bufferutil": "^4.0.1",
++        "utf-8-validate": "^5.0.2"
++      },
++      "peerDependenciesMeta": {
++        "bufferutil": {
++          "optional": true
++        },
++        "utf-8-validate": {
++          "optional": true
++        }
++      }
++    },
++    "node_modules/xdg-basedir": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
++      "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
++      "engines": {
++        "node": ">=8"
++      }
++    },
++    "node_modules/xmlbuilder": {
++      "version": "15.1.1",
++      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
++      "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==",
++      "engines": {
++        "node": ">=8.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==",
++      "engines": {
++        "node": ">=0.4"
++      }
++    },
++    "node_modules/y18n": {
++      "version": "5.0.8",
++      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
++      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "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": "17.5.1",
++      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
++      "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
++      "dependencies": {
++        "cliui": "^7.0.2",
++        "escalade": "^3.1.1",
++        "get-caller-file": "^2.0.5",
++        "require-directory": "^2.1.1",
++        "string-width": "^4.2.3",
++        "y18n": "^5.0.5",
++        "yargs-parser": "^21.0.0"
++      },
++      "engines": {
++        "node": ">=12"
++      }
++    },
++    "node_modules/yargs-parser": {
++      "version": "20.2.9",
++      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
++      "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
++      "engines": {
++        "node": ">=10"
++      }
++    },
++    "node_modules/yargs/node_modules/yargs-parser": {
++      "version": "21.1.1",
++      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
++      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
++      "engines": {
++        "node": ">=12"
++      }
++    },
++    "node_modules/yauzl": {
++      "version": "2.10.0",
++      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
++      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
++      "dependencies": {
++        "buffer-crc32": "~0.2.3",
++        "fd-slicer": "~1.1.0"
++      }
++    }
++  },
++  "dependencies": {
++    "@ampproject/remapping": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
++      "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
++      "requires": {
++        "@jridgewell/gen-mapping": "^0.1.0",
++        "@jridgewell/trace-mapping": "^0.3.9"
++      }
++    },
++    "@babel/code-frame": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
++      "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
++      "requires": {
++        "@babel/highlight": "^7.18.6"
++      }
++    },
++    "@babel/compat-data": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz",
++      "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ=="
++    },
++    "@babel/core": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.0.tgz",
++      "integrity": "sha512-Xyw74OlJwDijToNi0+6BBI5mLLR5+5R3bcSH80LXzjzEGEUlvNzujEE71BaD/ApEZHAvFI/Mlmp4M5lIkdeeWw==",
++      "requires": {
++        "@ampproject/remapping": "^2.1.0",
++        "@babel/code-frame": "^7.16.7",
++        "@babel/generator": "^7.18.0",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-module-transforms": "^7.18.0",
++        "@babel/helpers": "^7.18.0",
++        "@babel/parser": "^7.18.0",
++        "@babel/template": "^7.16.7",
++        "@babel/traverse": "^7.18.0",
++        "@babel/types": "^7.18.0",
++        "convert-source-map": "^1.7.0",
++        "debug": "^4.1.0",
++        "gensync": "^1.0.0-beta.2",
++        "json5": "^2.2.1",
++        "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=="
++        }
++      }
++    },
++    "@babel/eslint-parser": {
++      "version": "7.17.0",
++      "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz",
++      "integrity": "sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==",
++      "requires": {
++        "eslint-scope": "^5.1.1",
++        "eslint-visitor-keys": "^2.1.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=="
++        }
++      }
++    },
++    "@babel/generator": {
++      "version": "7.20.4",
++      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz",
++      "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==",
++      "requires": {
++        "@babel/types": "^7.20.2",
++        "@jridgewell/gen-mapping": "^0.3.2",
++        "jsesc": "^2.5.1"
++      },
++      "dependencies": {
++        "@jridgewell/gen-mapping": {
++          "version": "0.3.2",
++          "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
++          "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
++          "requires": {
++            "@jridgewell/set-array": "^1.0.1",
++            "@jridgewell/sourcemap-codec": "^1.4.10",
++            "@jridgewell/trace-mapping": "^0.3.9"
++          }
++        }
++      }
++    },
++    "@babel/helper-annotate-as-pure": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
++      "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-builder-binary-assignment-operator-visitor": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
++      "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
++      "requires": {
++        "@babel/helper-explode-assignable-expression": "^7.18.6",
++        "@babel/types": "^7.18.9"
++      }
++    },
++    "@babel/helper-compilation-targets": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz",
++      "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==",
++      "requires": {
++        "@babel/compat-data": "^7.20.0",
++        "@babel/helper-validator-option": "^7.18.6",
++        "browserslist": "^4.21.3",
++        "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=="
++        }
++      }
++    },
++    "@babel/helper-create-class-features-plugin": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz",
++      "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-member-expression-to-functions": "^7.18.9",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/helper-replace-supers": "^7.19.1",
++        "@babel/helper-split-export-declaration": "^7.18.6"
++      }
++    },
++    "@babel/helper-create-regexp-features-plugin": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz",
++      "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "regexpu-core": "^5.1.0"
++      }
++    },
++    "@babel/helper-define-polyfill-provider": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
++      "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
++      "requires": {
++        "@babel/helper-compilation-targets": "^7.17.7",
++        "@babel/helper-plugin-utils": "^7.16.7",
++        "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=="
++        }
++      }
++    },
++    "@babel/helper-environment-visitor": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
++      "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg=="
++    },
++    "@babel/helper-explode-assignable-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
++      "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-function-name": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
++      "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
++      "requires": {
++        "@babel/template": "^7.18.10",
++        "@babel/types": "^7.19.0"
++      }
++    },
++    "@babel/helper-hoist-variables": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
++      "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-member-expression-to-functions": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
++      "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==",
++      "requires": {
++        "@babel/types": "^7.18.9"
++      }
++    },
++    "@babel/helper-module-imports": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
++      "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-module-transforms": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz",
++      "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==",
++      "requires": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-module-imports": "^7.18.6",
++        "@babel/helper-simple-access": "^7.20.2",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "@babel/helper-validator-identifier": "^7.19.1",
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.20.1",
++        "@babel/types": "^7.20.2"
++      }
++    },
++    "@babel/helper-optimise-call-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
++      "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-plugin-utils": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
++      "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ=="
++    },
++    "@babel/helper-remap-async-to-generator": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
++      "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-wrap-function": "^7.18.9",
++        "@babel/types": "^7.18.9"
++      }
++    },
++    "@babel/helper-replace-supers": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
++      "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==",
++      "requires": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-member-expression-to-functions": "^7.18.9",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/traverse": "^7.19.1",
++        "@babel/types": "^7.19.0"
++      }
++    },
++    "@babel/helper-simple-access": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
++      "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
++      "requires": {
++        "@babel/types": "^7.20.2"
++      }
++    },
++    "@babel/helper-skip-transparent-expression-wrappers": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
++      "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
++      "requires": {
++        "@babel/types": "^7.20.0"
++      }
++    },
++    "@babel/helper-split-export-declaration": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
++      "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
++      "requires": {
++        "@babel/types": "^7.18.6"
++      }
++    },
++    "@babel/helper-string-parser": {
++      "version": "7.19.4",
++      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
++      "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw=="
++    },
++    "@babel/helper-validator-identifier": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
++      "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
++    },
++    "@babel/helper-validator-option": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
++      "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw=="
++    },
++    "@babel/helper-wrap-function": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz",
++      "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==",
++      "requires": {
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.19.0",
++        "@babel/types": "^7.19.0"
++      }
++    },
++    "@babel/helpers": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz",
++      "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==",
++      "requires": {
++        "@babel/template": "^7.18.10",
++        "@babel/traverse": "^7.20.1",
++        "@babel/types": "^7.20.0"
++      }
++    },
++    "@babel/highlight": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
++      "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
++      "requires": {
++        "@babel/helper-validator-identifier": "^7.18.6",
++        "chalk": "^2.0.0",
++        "js-tokens": "^4.0.0"
++      }
++    },
++    "@babel/parser": {
++      "version": "7.20.3",
++      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz",
++      "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg=="
++    },
++    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz",
++      "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz",
++      "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
++        "@babel/plugin-proposal-optional-chaining": "^7.18.9"
++      }
++    },
++    "@babel/plugin-proposal-async-generator-functions": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz",
++      "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==",
++      "requires": {
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-remap-async-to-generator": "^7.18.9",
++        "@babel/plugin-syntax-async-generators": "^7.8.4"
++      }
++    },
++    "@babel/plugin-proposal-class-properties": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
++      "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
++      "requires": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-proposal-class-static-block": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz",
++      "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==",
++      "requires": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-class-static-block": "^7.14.5"
++      }
++    },
++    "@babel/plugin-proposal-dynamic-import": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
++      "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-export-namespace-from": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
++      "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-json-strings": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
++      "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-json-strings": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-logical-assignment-operators": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz",
++      "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
++      }
++    },
++    "@babel/plugin-proposal-nullish-coalescing-operator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
++      "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-numeric-separator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
++      "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
++      }
++    },
++    "@babel/plugin-proposal-object-rest-spread": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz",
++      "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==",
++      "requires": {
++        "@babel/compat-data": "^7.17.10",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-plugin-utils": "^7.17.12",
++        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
++        "@babel/plugin-transform-parameters": "^7.17.12"
++      }
++    },
++    "@babel/plugin-proposal-optional-catch-binding": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
++      "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-optional-chaining": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz",
++      "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9",
++        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
++      }
++    },
++    "@babel/plugin-proposal-private-methods": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
++      "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
++      "requires": {
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-proposal-private-property-in-object": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
++      "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-create-class-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
++      }
++    },
++    "@babel/plugin-proposal-unicode-property-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
++      "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
++      "requires": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.3"
++      }
++    },
++    "@babel/plugin-syntax-import-assertions": {
++      "version": "7.20.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
++      "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.19.0"
++      }
++    },
++    "@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==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.8.0"
++      }
++    },
++    "@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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.14.5"
++      }
++    },
++    "@babel/plugin-transform-arrow-functions": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
++      "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-async-to-generator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
++      "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==",
++      "requires": {
++        "@babel/helper-module-imports": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/helper-remap-async-to-generator": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-block-scoped-functions": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
++      "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-block-scoping": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz",
++      "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      }
++    },
++    "@babel/plugin-transform-classes": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz",
++      "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==",
++      "requires": {
++        "@babel/helper-annotate-as-pure": "^7.18.6",
++        "@babel/helper-compilation-targets": "^7.20.0",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-optimise-call-expression": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.20.2",
++        "@babel/helper-replace-supers": "^7.19.1",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "globals": "^11.1.0"
++      }
++    },
++    "@babel/plugin-transform-computed-properties": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz",
++      "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-destructuring": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz",
++      "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      }
++    },
++    "@babel/plugin-transform-dotall-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
++      "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
++      "requires": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-duplicate-keys": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
++      "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-exponentiation-operator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
++      "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
++      "requires": {
++        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-for-of": {
++      "version": "7.18.8",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz",
++      "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-function-name": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
++      "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
++      "requires": {
++        "@babel/helper-compilation-targets": "^7.18.9",
++        "@babel/helper-function-name": "^7.18.9",
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-literals": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
++      "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-member-expression-literals": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
++      "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-modules-amd": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz",
++      "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==",
++      "requires": {
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0"
++      }
++    },
++    "@babel/plugin-transform-modules-commonjs": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz",
++      "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==",
++      "requires": {
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-simple-access": "^7.19.4"
++      }
++    },
++    "@babel/plugin-transform-modules-systemjs": {
++      "version": "7.19.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz",
++      "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==",
++      "requires": {
++        "@babel/helper-hoist-variables": "^7.18.6",
++        "@babel/helper-module-transforms": "^7.19.6",
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-validator-identifier": "^7.19.1"
++      }
++    },
++    "@babel/plugin-transform-modules-umd": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
++      "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
++      "requires": {
++        "@babel/helper-module-transforms": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-named-capturing-groups-regex": {
++      "version": "7.19.1",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz",
++      "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==",
++      "requires": {
++        "@babel/helper-create-regexp-features-plugin": "^7.19.0",
++        "@babel/helper-plugin-utils": "^7.19.0"
++      }
++    },
++    "@babel/plugin-transform-new-target": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
++      "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-object-super": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
++      "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "@babel/helper-replace-supers": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-parameters": {
++      "version": "7.20.3",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz",
++      "integrity": "sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.20.2"
++      }
++    },
++    "@babel/plugin-transform-property-literals": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
++      "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-regenerator": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz",
++      "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6",
++        "regenerator-transform": "^0.15.0"
++      }
++    },
++    "@babel/plugin-transform-reserved-words": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
++      "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-shorthand-properties": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
++      "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-spread": {
++      "version": "7.19.0",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz",
++      "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.19.0",
++        "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-sticky-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
++      "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/plugin-transform-template-literals": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
++      "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-typeof-symbol": {
++      "version": "7.18.9",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
++      "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-unicode-escapes": {
++      "version": "7.18.10",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
++      "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
++      "requires": {
++        "@babel/helper-plugin-utils": "^7.18.9"
++      }
++    },
++    "@babel/plugin-transform-unicode-regex": {
++      "version": "7.18.6",
++      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
++      "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
++      "requires": {
++        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
++        "@babel/helper-plugin-utils": "^7.18.6"
++      }
++    },
++    "@babel/polyfill": {
++      "version": "7.12.1",
++      "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
++      "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
++      "requires": {
++        "core-js": "^2.6.5",
++        "regenerator-runtime": "^0.13.4"
++      },
++      "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=="
++        }
++      }
++    },
++    "@babel/preset-env": {
++      "version": "7.18.0",
++      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.0.tgz",
++      "integrity": "sha512-cP74OMs7ECLPeG1reiCQ/D/ypyOxgfm8uR6HRYV23vTJ7Lu1nbgj9DQDo/vH59gnn7GOAwtTDPPYV4aXzsMKHA==",
++      "requires": {
++        "@babel/compat-data": "^7.17.10",
++        "@babel/helper-compilation-targets": "^7.17.10",
++        "@babel/helper-plugin-utils": "^7.17.12",
++        "@babel/helper-validator-option": "^7.16.7",
++        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12",
++        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12",
++        "@babel/plugin-proposal-async-generator-functions": "^7.17.12",
++        "@babel/plugin-proposal-class-properties": "^7.17.12",
++        "@babel/plugin-proposal-class-static-block": "^7.18.0",
++        "@babel/plugin-proposal-dynamic-import": "^7.16.7",
++        "@babel/plugin-proposal-export-namespace-from": "^7.17.12",
++        "@babel/plugin-proposal-json-strings": "^7.17.12",
++        "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12",
++        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12",
++        "@babel/plugin-proposal-numeric-separator": "^7.16.7",
++        "@babel/plugin-proposal-object-rest-spread": "^7.18.0",
++        "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
++        "@babel/plugin-proposal-optional-chaining": "^7.17.12",
++        "@babel/plugin-proposal-private-methods": "^7.17.12",
++        "@babel/plugin-proposal-private-property-in-object": "^7.17.12",
++        "@babel/plugin-proposal-unicode-property-regex": "^7.17.12",
++        "@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-import-assertions": "^7.17.12",
++        "@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.17.12",
++        "@babel/plugin-transform-async-to-generator": "^7.17.12",
++        "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
++        "@babel/plugin-transform-block-scoping": "^7.17.12",
++        "@babel/plugin-transform-classes": "^7.17.12",
++        "@babel/plugin-transform-computed-properties": "^7.17.12",
++        "@babel/plugin-transform-destructuring": "^7.18.0",
++        "@babel/plugin-transform-dotall-regex": "^7.16.7",
++        "@babel/plugin-transform-duplicate-keys": "^7.17.12",
++        "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
++        "@babel/plugin-transform-for-of": "^7.17.12",
++        "@babel/plugin-transform-function-name": "^7.16.7",
++        "@babel/plugin-transform-literals": "^7.17.12",
++        "@babel/plugin-transform-member-expression-literals": "^7.16.7",
++        "@babel/plugin-transform-modules-amd": "^7.18.0",
++        "@babel/plugin-transform-modules-commonjs": "^7.18.0",
++        "@babel/plugin-transform-modules-systemjs": "^7.18.0",
++        "@babel/plugin-transform-modules-umd": "^7.18.0",
++        "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12",
++        "@babel/plugin-transform-new-target": "^7.17.12",
++        "@babel/plugin-transform-object-super": "^7.16.7",
++        "@babel/plugin-transform-parameters": "^7.17.12",
++        "@babel/plugin-transform-property-literals": "^7.16.7",
++        "@babel/plugin-transform-regenerator": "^7.18.0",
++        "@babel/plugin-transform-reserved-words": "^7.17.12",
++        "@babel/plugin-transform-shorthand-properties": "^7.16.7",
++        "@babel/plugin-transform-spread": "^7.17.12",
++        "@babel/plugin-transform-sticky-regex": "^7.16.7",
++        "@babel/plugin-transform-template-literals": "^7.17.12",
++        "@babel/plugin-transform-typeof-symbol": "^7.17.12",
++        "@babel/plugin-transform-unicode-escapes": "^7.16.7",
++        "@babel/plugin-transform-unicode-regex": "^7.16.7",
++        "@babel/preset-modules": "^0.1.5",
++        "@babel/types": "^7.18.0",
++        "babel-plugin-polyfill-corejs2": "^0.3.0",
++        "babel-plugin-polyfill-corejs3": "^0.5.0",
++        "babel-plugin-polyfill-regenerator": "^0.3.0",
++        "core-js-compat": "^3.22.1",
++        "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=="
++        }
++      }
++    },
++    "@babel/preset-modules": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
++      "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
++      "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/runtime": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz",
++      "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==",
++      "requires": {
++        "regenerator-runtime": "^0.13.10"
++      }
++    },
++    "@babel/template": {
++      "version": "7.18.10",
++      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
++      "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
++      "requires": {
++        "@babel/code-frame": "^7.18.6",
++        "@babel/parser": "^7.18.10",
++        "@babel/types": "^7.18.10"
++      }
++    },
++    "@babel/traverse": {
++      "version": "7.20.1",
++      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz",
++      "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==",
++      "requires": {
++        "@babel/code-frame": "^7.18.6",
++        "@babel/generator": "^7.20.1",
++        "@babel/helper-environment-visitor": "^7.18.9",
++        "@babel/helper-function-name": "^7.19.0",
++        "@babel/helper-hoist-variables": "^7.18.6",
++        "@babel/helper-split-export-declaration": "^7.18.6",
++        "@babel/parser": "^7.20.1",
++        "@babel/types": "^7.20.0",
++        "debug": "^4.1.0",
++        "globals": "^11.1.0"
++      }
++    },
++    "@babel/types": {
++      "version": "7.20.2",
++      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz",
++      "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==",
++      "requires": {
++        "@babel/helper-string-parser": "^7.19.4",
++        "@babel/helper-validator-identifier": "^7.19.1",
++        "to-fast-properties": "^2.0.0"
++      }
++    },
++    "@electron/get": {
++      "version": "1.14.1",
++      "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
++      "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
++      "requires": {
++        "debug": "^4.1.1",
++        "env-paths": "^2.2.0",
++        "fs-extra": "^8.1.0",
++        "global-agent": "^3.0.0",
++        "global-tunnel-ng": "^2.7.1",
++        "got": "^9.6.0",
++        "progress": "^2.0.3",
++        "semver": "^6.2.0",
++        "sumchecker": "^3.0.1"
++      },
++      "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==",
++          "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": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++          "requires": {
++            "graceful-fs": "^4.1.6"
++          }
++        },
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        },
++        "universalify": {
++          "version": "0.1.2",
++          "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
++          "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
++        }
++      }
++    },
++    "@electron/remote": {
++      "version": "2.0.8",
++      "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
++      "integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw=="
++    },
++    "@eslint/eslintrc": {
++      "version": "1.3.3",
++      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
++      "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
++      "requires": {
++        "ajv": "^6.12.4",
++        "debug": "^4.3.2",
++        "espree": "^9.4.0",
++        "globals": "^13.15.0",
++        "ignore": "^5.2.0",
++        "import-fresh": "^3.2.1",
++        "js-yaml": "^4.1.0",
++        "minimatch": "^3.1.2",
++        "strip-json-comments": "^3.1.1"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "globals": {
++          "version": "13.17.0",
++          "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
++          "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
++          "requires": {
++            "type-fest": "^0.20.2"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        },
++        "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=="
++        }
++      }
++    },
++    "@gar/promisify": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
++      "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw=="
++    },
++    "@humanwhocodes/config-array": {
++      "version": "0.9.5",
++      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
++      "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
++      "requires": {
++        "@humanwhocodes/object-schema": "^1.2.1",
++        "debug": "^4.1.1",
++        "minimatch": "^3.0.4"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "@humanwhocodes/object-schema": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
++      "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
++    },
++    "@jridgewell/gen-mapping": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
++      "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
++      "requires": {
++        "@jridgewell/set-array": "^1.0.0",
++        "@jridgewell/sourcemap-codec": "^1.4.10"
++      }
++    },
++    "@jridgewell/resolve-uri": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
++      "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
++    },
++    "@jridgewell/set-array": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
++      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
++    },
++    "@jridgewell/sourcemap-codec": {
++      "version": "1.4.14",
++      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
++      "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
++    },
++    "@jridgewell/trace-mapping": {
++      "version": "0.3.17",
++      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
++      "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
++      "requires": {
++        "@jridgewell/resolve-uri": "3.1.0",
++        "@jridgewell/sourcemap-codec": "1.4.14"
++      }
++    },
++    "@npmcli/fs": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
++      "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
++      "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==",
++      "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=="
++        },
++        "rimraf": {
++          "version": "3.0.2",
++          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++          "requires": {
++            "glob": "^7.1.3"
++          }
++        }
++      }
++    },
++    "@serialport/binding-abstract": {
++      "version": "9.2.4",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.2.4.tgz",
++      "integrity": "sha512-UESvncat2oQKnAp29eDVJ2jB9sADatCgoojPPB4RVvp3+3Wqu5QVEh/UCjHRUeDJ20fkSFnKAw9D0vNoBQ+5Kw==",
++      "optional": true,
++      "requires": {
++        "debug": "^4.3.2"
++      }
++    },
++    "@serialport/binding-mock": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-9.0.7.tgz",
++      "integrity": "sha512-aR8H+htZwwZZkVb1MdbnNvGWw8eXVRqQ2qPhkbKyx0N/LY5aVIgCgT98Kt1YylLsG7SzNG+Jbhd4wzwEuPVT5Q==",
++      "optional": true,
++      "requires": {
++        "@serialport/binding-abstract": "^9.0.7",
++        "debug": "^4.3.1"
++      }
++    },
++    "@serialport/bindings": {
++      "version": "9.2.9",
++      "resolved": "https://registry.npmjs.org/@serialport/bindings/-/bindings-9.2.9.tgz",
++      "integrity": "sha512-An7PiVlyNMx/0RDnSBxFHIsd4kt0/zPlDALlTjhVQKXbG6e0xRqLKbkoZVzHMS8rg7HzCu8G1nplifoAwNm5Lg==",
++      "optional": true,
++      "requires": {
++        "@serialport/binding-abstract": "9.2.3",
++        "@serialport/parser-readline": "9.2.4",
++        "bindings": "^1.5.0",
++        "debug": "^4.3.2",
++        "nan": "^2.15.0",
++        "prebuild-install": "^7.0.0"
++      },
++      "dependencies": {
++        "@serialport/binding-abstract": {
++          "version": "9.2.3",
++          "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.2.3.tgz",
++          "integrity": "sha512-cQs9tbIlG3P0IrOWyVirqlhWuJ7Ms2Zh9m2108z6Y5UW/iVj6wEOiW8EmK9QX9jmJXYllE7wgGgvVozP5oCj3w==",
++          "optional": true,
++          "requires": {
++            "debug": "^4.3.2"
++          }
++        },
++        "@serialport/parser-delimiter": {
++          "version": "9.2.4",
++          "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.2.4.tgz",
++          "integrity": "sha512-4nvTAoYAgkxFiXrkI+3CA49Yd43CODjeszh89EK+I9c8wOZ+etZduRCzINYPiy26g7zO+GRAb9FoPCsY+sYcbQ==",
++          "optional": true
++        },
++        "@serialport/parser-readline": {
++          "version": "9.2.4",
++          "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.2.4.tgz",
++          "integrity": "sha512-Z1/qrZTQUVhNSJP1hd9YfDvq0o7d87rNwAjjRKbVpa7Qi51tG5BnKt43IV3NFMyBlVcRe0rnIb3tJu57E0SOwg==",
++          "optional": true,
++          "requires": {
++            "@serialport/parser-delimiter": "9.2.4"
++          }
++        }
++      }
++    },
++    "@serialport/parser-byte-length": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-9.0.7.tgz",
++      "integrity": "sha512-evf7oOOSBMBn2AZZbgBFMRIyEzlsyQkhqaPm7IBCPTxMDXRf4tKkFYJHYZB0/6d1W4eI0meH079UqmSsh/uoDA==",
++      "optional": true
++    },
++    "@serialport/parser-cctalk": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-9.0.7.tgz",
++      "integrity": "sha512-ert5jhMkeiTfr44TkbdySC09J8UwAsf/RxBucVN5Mz5enG509RggnkfFi4mfj3UCG2vZ7qsmM6gtZ62DshY02Q==",
++      "optional": true
++    },
++    "@serialport/parser-delimiter": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.0.7.tgz",
++      "integrity": "sha512-Vb2NPeXPZ/28M4m5x4OAHFd8jRAeddNCgvL+Q+H/hqFPY1w47JcMLchC7pigRW8Cnt1fklmzfwdNQ8Fb+kMkxQ==",
++      "optional": true
++    },
++    "@serialport/parser-inter-byte-timeout": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-9.0.7.tgz",
++      "integrity": "sha512-lUZ3cwgUluBvJ1jf+0LQsqoiPYAokDO6+fRCw9HCfnrF/OS60Gm4rxuyo2uQIueqZkJ7NIFP+ibKsULrA47AEA==",
++      "optional": true
++    },
++    "@serialport/parser-readline": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.0.7.tgz",
++      "integrity": "sha512-ydoLbgVQQPxWrwbe3Fhh4XnZexbkEQAC6M/qgRTzjnKvTjrD61CJNxLc3vyDaAPI9bJIhTiI7eTX3JB5jJv8Hg==",
++      "optional": true,
++      "requires": {
++        "@serialport/parser-delimiter": "^9.0.7"
++      }
++    },
++    "@serialport/parser-ready": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-9.0.7.tgz",
++      "integrity": "sha512-3qYhI4cNUPAYqVYvdwV57Y+PVRl4dJf1fPBtMoWtwDgwopsAXTR93WCs49WuUq9JCyNW+8Hrfqv8x8eNAD5Dqg==",
++      "optional": true
++    },
++    "@serialport/parser-regex": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-9.0.7.tgz",
++      "integrity": "sha512-5XF+FXbhqQ/5bVKM4NaGs1m+E9KjfmeCx/obwsKaUZognQF67jwoTfjJJWNP/21jKfxdl8XoCYjZjASl3XKRAw==",
++      "optional": true
++    },
++    "@serialport/stream": {
++      "version": "9.0.7",
++      "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-9.0.7.tgz",
++      "integrity": "sha512-c/h7HPAeFiryD9iTGlaSvPqHFHSZ0NMQHxC4rcmKS2Vu3qJuEtkBdTLABwsMp7iWEiSnI4KC3s7bHapaXP06FQ==",
++      "optional": true,
++      "requires": {
++        "debug": "^4.3.1"
++      }
++    },
++    "@sindresorhus/is": {
++      "version": "0.14.0",
++      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
++      "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ=="
++    },
++    "@szmarczak/http-timer": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
++      "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
++      "requires": {
++        "defer-to-connect": "^1.0.1"
++      }
++    },
++    "@tootallnate/once": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
++      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
++    },
++    "@types/glob": {
++      "version": "7.2.0",
++      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
++      "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
++      "optional": true,
++      "requires": {
++        "@types/minimatch": "*",
++        "@types/node": "*"
++      }
++    },
++    "@types/minimatch": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
++      "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
++      "optional": true
++    },
++    "@types/minimist": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
++      "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ=="
++    },
++    "@types/node": {
++      "version": "18.11.9",
++      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
++      "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==",
++      "optional": 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=="
++    },
++    "@types/yauzl": {
++      "version": "2.10.0",
++      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
++      "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
++      "optional": true,
++      "requires": {
++        "@types/node": "*"
++      }
++    },
++    "7zip": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/7zip/-/7zip-0.0.6.tgz",
++      "integrity": "sha512-ns8vKbKhIQm338AeWo/YdDSWil3pldwCMoyR2npoM2qDAzF8Vuko8BtDxpNt/wE15SXOh5K5WbjSLR4kTOAHLA=="
++    },
++    "abbrev": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
++      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
++    },
++    "acorn": {
++      "version": "8.8.1",
++      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
++      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
++    },
++    "acorn-jsx": {
++      "version": "5.3.2",
++      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
++      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
++    },
++    "acorn-node": {
++      "version": "1.8.2",
++      "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
++      "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
++      "requires": {
++        "acorn": "^7.0.0",
++        "acorn-walk": "^7.0.0",
++        "xtend": "^4.0.2"
++      },
++      "dependencies": {
++        "acorn": {
++          "version": "7.4.1",
++          "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
++          "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
++        }
++      }
++    },
++    "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=="
++    },
++    "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"
++      }
++    },
++    "agentkeepalive": {
++      "version": "4.2.1",
++      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
++      "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
++      "requires": {
++        "debug": "^4.1.0",
++        "depd": "^1.1.2",
++        "humanize-ms": "^1.2.1"
++      }
++    },
++    "aggregate-error": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
++      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
++      "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==",
++      "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"
++      }
++    },
++    "ansi-align": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
++      "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
++      "requires": {
++        "string-width": "^4.1.0"
++      }
++    },
++    "ansi-html": {
++      "version": "0.0.9",
++      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz",
++      "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg=="
++    },
++    "ansi-regex": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
++      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
++    },
++    "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==",
++      "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"
++      }
++    },
++    "apache-crypt": {
++      "version": "1.2.6",
++      "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.6.tgz",
++      "integrity": "sha512-072WetlM4blL8PREJVeY+WHiUh1R5VNt2HfceGS8aKqttPHcmqE5pkKuXPz/ULmJOFkc8Hw3kfKl6vy7Qka6DA==",
++      "requires": {
++        "unix-crypt-td-js": "^1.1.4"
++      }
++    },
++    "apache-md5": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.8.tgz",
++      "integrity": "sha512-FCAJojipPn0bXjuEpjOOOMN8FZDkxfWWp4JGN9mifU2IhxvKyXZYqpzPHdnTSUpmPDy+tsslB6Z1g+Vg6nVbYA=="
++    },
++    "aproba": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
++      "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
++    },
++    "are-we-there-yet": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
++      "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
++      "requires": {
++        "delegates": "^1.0.0",
++        "readable-stream": "^3.6.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==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "argparse": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
++      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
++    },
++    "array-flatten": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
++      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
++    },
++    "arrify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
++      "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA=="
++    },
++    "asar": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz",
++      "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==",
++      "requires": {
++        "@types/glob": "^7.1.1",
++        "chromium-pickle-js": "^0.2.0",
++        "commander": "^5.0.0",
++        "glob": "^7.1.6",
++        "minimatch": "^3.0.4"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "asn1": {
++      "version": "0.2.6",
++      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
++      "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
++      "requires": {
++        "safer-buffer": "~2.1.0"
++      }
++    },
++    "asn1.js": {
++      "version": "5.4.1",
++      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
++      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
++      "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=="
++        }
++      }
++    },
++    "assert": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
++      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
++      "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": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA=="
++        },
++        "util": {
++          "version": "0.10.3",
++          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
++          "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
++          "requires": {
++            "inherits": "2.0.1"
++          }
++        }
++      }
++    },
++    "assert-plus": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
++      "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="
++    },
++    "async-foreach": {
++      "version": "0.1.3",
++      "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
++      "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA=="
++    },
++    "asynckit": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
++      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
++    },
++    "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=="
++    },
++    "author-regex": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz",
++      "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g=="
++    },
++    "available-typed-arrays": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
++      "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
++    },
++    "aws-sign2": {
++      "version": "0.7.0",
++      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
++      "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA=="
++    },
++    "aws4": {
++      "version": "1.11.0",
++      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
++      "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
++    },
++    "babel-plugin-polyfill-corejs2": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
++      "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
++      "requires": {
++        "@babel/compat-data": "^7.17.7",
++        "@babel/helper-define-polyfill-provider": "^0.3.3",
++        "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=="
++        }
++      }
++    },
++    "babel-plugin-polyfill-corejs3": {
++      "version": "0.5.3",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
++      "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
++      "requires": {
++        "@babel/helper-define-polyfill-provider": "^0.3.2",
++        "core-js-compat": "^3.21.0"
++      }
++    },
++    "babel-plugin-polyfill-regenerator": {
++      "version": "0.3.1",
++      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
++      "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
++      "requires": {
++        "@babel/helper-define-polyfill-provider": "^0.3.1"
++      }
++    },
++    "babelify": {
++      "version": "10.0.0",
++      "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz",
++      "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg=="
++    },
++    "balanced-match": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
++      "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA=="
++    },
++    "base64-js": {
++      "version": "1.5.1",
++      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
++      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
++    },
++    "bcrypt-pbkdf": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
++      "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
++      "requires": {
++        "tweetnacl": "^0.14.3"
++      }
++    },
++    "bcryptjs": {
++      "version": "2.4.3",
++      "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
++      "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
++    },
++    "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==",
++      "optional": true,
++      "requires": {
++        "file-uri-to-path": "1.0.0"
++      }
++    },
++    "bl": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
++      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
++      "optional": true,
++      "requires": {
++        "buffer": "^5.5.0",
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.4.0"
++      },
++      "dependencies": {
++        "buffer": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
++          "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
++          "optional": true,
++          "requires": {
++            "base64-js": "^1.3.1",
++            "ieee754": "^1.1.13"
++          }
++        },
++        "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==",
++          "optional": true,
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "bluebird": {
++      "version": "3.7.2",
++      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
++      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
++    },
++    "bn.js": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
++      "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
++    },
++    "bonjour": {
++      "version": "git+ssh://git@github.com/jean-emmanuel/bonjour.git#33d7fa28c568d05cb7ffda1fd2b20f4cc364e273",
++      "from": "bonjour@github:jean-emmanuel/bonjour",
++      "requires": {
++        "array-flatten": "^2.1.0",
++        "deep-equal": "^1.0.1",
++        "dns-equal": "^1.0.0",
++        "dns-txt": "github:jean-emmanuel/dns-txt#v2.0.3",
++        "multicast-dns": "github:jean-emmanuel/multicast-dns",
++        "multicast-dns-service-types": "^1.1.0"
++      }
++    },
++    "boolean": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
++      "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
++      "optional": true
++    },
++    "boxen": {
++      "version": "5.1.2",
++      "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
++      "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
++      "requires": {
++        "ansi-align": "^3.0.0",
++        "camelcase": "^6.2.0",
++        "chalk": "^4.1.0",
++        "cli-boxes": "^2.2.1",
++        "string-width": "^4.2.2",
++        "type-fest": "^0.20.2",
++        "widest-line": "^3.1.0",
++        "wrap-ansi": "^7.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==",
++          "requires": {
++            "color-convert": "^2.0.1"
++          }
++        },
++        "camelcase": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
++          "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
++        },
++        "chalk": {
++          "version": "4.1.2",
++          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++          "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==",
++          "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=="
++        },
++        "has-flag": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
++        },
++        "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==",
++          "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=="
++        }
++      }
++    },
++    "brace": {
++      "version": "0.11.1",
++      "resolved": "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz",
++      "integrity": "sha512-Fc8Ne62jJlKHiG/ajlonC4Sd66Pq68fFwK4ihJGNZpGqboc324SQk+lRvMzpPRuJOmfrJefdG8/7JdWX4bzJ2Q=="
++    },
++    "brace-expansion": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
++      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
++      "requires": {
++        "balanced-match": "^1.0.0"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        }
++      }
++    },
++    "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": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
++    },
++    "browser-pack": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
++      "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
++      "requires": {
++        "combine-source-map": "~0.8.0",
++        "defined": "^1.0.0",
++        "JSONStream": "^1.0.3",
++        "safe-buffer": "^5.1.1",
++        "through2": "^2.0.0",
++        "umd": "^3.0.0"
++      }
++    },
++    "browser-process-hrtime": {
++      "version": "0.1.3",
++      "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
++      "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
++    },
++    "browser-resolve": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
++      "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
++      "requires": {
++        "resolve": "^1.17.0"
++      }
++    },
++    "browserify": {
++      "version": "17.0.0",
++      "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz",
++      "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==",
++      "requires": {
++        "assert": "^1.4.0",
++        "browser-pack": "^6.0.1",
++        "browser-resolve": "^2.0.0",
++        "browserify-zlib": "~0.2.0",
++        "buffer": "~5.2.1",
++        "cached-path-relative": "^1.0.0",
++        "concat-stream": "^1.6.0",
++        "console-browserify": "^1.1.0",
++        "constants-browserify": "~1.0.0",
++        "crypto-browserify": "^3.0.0",
++        "defined": "^1.0.0",
++        "deps-sort": "^2.0.1",
++        "domain-browser": "^1.2.0",
++        "duplexer2": "~0.1.2",
++        "events": "^3.0.0",
++        "glob": "^7.1.0",
++        "has": "^1.0.0",
++        "htmlescape": "^1.1.0",
++        "https-browserify": "^1.0.0",
++        "inherits": "~2.0.1",
++        "insert-module-globals": "^7.2.1",
++        "JSONStream": "^1.0.3",
++        "labeled-stream-splicer": "^2.0.0",
++        "mkdirp-classic": "^0.5.2",
++        "module-deps": "^6.2.3",
++        "os-browserify": "~0.3.0",
++        "parents": "^1.0.1",
++        "path-browserify": "^1.0.0",
++        "process": "~0.11.0",
++        "punycode": "^1.3.2",
++        "querystring-es3": "~0.2.0",
++        "read-only-stream": "^2.0.0",
++        "readable-stream": "^2.0.2",
++        "resolve": "^1.1.4",
++        "shasum-object": "^1.0.0",
++        "shell-quote": "^1.6.1",
++        "stream-browserify": "^3.0.0",
++        "stream-http": "^3.0.0",
++        "string_decoder": "^1.1.1",
++        "subarg": "^1.0.0",
++        "syntax-error": "^1.1.1",
++        "through2": "^2.0.0",
++        "timers-browserify": "^1.0.1",
++        "tty-browserify": "0.0.1",
++        "url": "~0.11.0",
++        "util": "~0.12.0",
++        "vm-browserify": "^1.0.0",
++        "xtend": "^4.0.0"
++      }
++    },
++    "browserify-aes": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
++      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++      "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==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "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==",
++      "requires": {
++        "pako": "~1.0.5"
++      }
++    },
++    "browserslist": {
++      "version": "4.21.4",
++      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
++      "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
++      "requires": {
++        "caniuse-lite": "^1.0.30001400",
++        "electron-to-chromium": "^1.4.251",
++        "node-releases": "^2.0.6",
++        "update-browserslist-db": "^1.0.9"
++      }
++    },
++    "buffer": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
++      "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
++      "requires": {
++        "base64-js": "^1.0.2",
++        "ieee754": "^1.1.4"
++      }
++    },
++    "buffer-alloc": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
++      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
++      "requires": {
++        "buffer-alloc-unsafe": "^1.1.0",
++        "buffer-fill": "^1.0.0"
++      }
++    },
++    "buffer-alloc-unsafe": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
++      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
++    },
++    "buffer-crc32": {
++      "version": "0.2.13",
++      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
++      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
++    },
++    "buffer-fill": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
++      "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ=="
++    },
++    "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=="
++    },
++    "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=="
++    },
++    "buffer-xor": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
++      "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ=="
++    },
++    "builtin-status-codes": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
++      "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ=="
++    },
++    "cacache": {
++      "version": "15.3.0",
++      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
++      "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
++      "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=="
++        },
++        "rimraf": {
++          "version": "3.0.2",
++          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++          "requires": {
++            "glob": "^7.1.3"
++          }
++        }
++      }
++    },
++    "cacheable-request": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
++      "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
++      "requires": {
++        "clone-response": "^1.0.2",
++        "get-stream": "^5.1.0",
++        "http-cache-semantics": "^4.0.0",
++        "keyv": "^3.0.0",
++        "lowercase-keys": "^2.0.0",
++        "normalize-url": "^4.1.0",
++        "responselike": "^1.0.2"
++      },
++      "dependencies": {
++        "lowercase-keys": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
++          "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
++        }
++      }
++    },
++    "cached-path-relative": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz",
++      "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA=="
++    },
++    "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"
++      }
++    },
++    "callsites": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
++      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
++    },
++    "camel-case": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
++      "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==",
++      "requires": {
++        "no-case": "^2.2.0",
++        "upper-case": "^1.1.1"
++      }
++    },
++    "camelcase": {
++      "version": "5.3.1",
++      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
++      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
++    },
++    "camelcase-keys": {
++      "version": "6.2.2",
++      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
++      "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
++      "requires": {
++        "camelcase": "^5.3.1",
++        "map-obj": "^4.0.0",
++        "quick-lru": "^4.0.1"
++      }
++    },
++    "caniuse-lite": {
++      "version": "1.0.30001431",
++      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz",
++      "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ=="
++    },
++    "caseless": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
++      "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
++    },
++    "chalk": {
++      "version": "2.4.2",
++      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
++      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
++      "requires": {
++        "ansi-styles": "^3.2.1",
++        "escape-string-regexp": "^1.0.5",
++        "supports-color": "^5.3.0"
++      }
++    },
++    "chokidar": {
++      "version": "3.5.3",
++      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
++      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
++      "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=="
++    },
++    "chroma-js": {
++      "version": "2.4.2",
++      "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz",
++      "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A=="
++    },
++    "chromium-pickle-js": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
++      "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw=="
++    },
++    "ci-info": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
++      "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
++    },
++    "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==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "clean-stack": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
++      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
++    },
++    "cli-boxes": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
++      "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw=="
++    },
++    "cliui": {
++      "version": "7.0.4",
++      "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
++      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
++      "requires": {
++        "string-width": "^4.2.0",
++        "strip-ansi": "^6.0.0",
++        "wrap-ansi": "^7.0.0"
++      }
++    },
++    "clone-response": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
++      "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
++      "requires": {
++        "mimic-response": "^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==",
++      "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
++    },
++    "color-support": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
++      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
++    },
++    "combine-source-map": {
++      "version": "0.8.0",
++      "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
++      "integrity": "sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==",
++      "requires": {
++        "convert-source-map": "~1.1.0",
++        "inline-source-map": "~0.6.0",
++        "lodash.memoize": "~3.0.3",
++        "source-map": "~0.5.3"
++      },
++      "dependencies": {
++        "convert-source-map": {
++          "version": "1.1.3",
++          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
++          "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg=="
++        }
++      }
++    },
++    "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": "5.1.0",
++      "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
++      "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg=="
++    },
++    "compare-version": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
++      "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A=="
++    },
++    "concat-map": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
++      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
++    },
++    "concat-stream": {
++      "version": "1.6.2",
++      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
++      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
++      "requires": {
++        "buffer-from": "^1.0.0",
++        "inherits": "^2.0.3",
++        "readable-stream": "^2.2.2",
++        "typedarray": "^0.0.6"
++      }
++    },
++    "config-chain": {
++      "version": "1.1.13",
++      "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
++      "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
++      "optional": true,
++      "requires": {
++        "ini": "^1.3.4",
++        "proto-list": "~1.2.1"
++      }
++    },
++    "configstore": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
++      "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
++      "requires": {
++        "dot-prop": "^5.2.0",
++        "graceful-fs": "^4.1.2",
++        "make-dir": "^3.0.0",
++        "unique-string": "^2.0.0",
++        "write-file-atomic": "^3.0.0",
++        "xdg-basedir": "^4.0.0"
++      }
++    },
++    "console-browserify": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
++      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
++    },
++    "console-control-strings": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
++      "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
++    },
++    "constants-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
++      "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ=="
++    },
++    "convert-source-map": {
++      "version": "1.9.0",
++      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
++      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
++    },
++    "core-js": {
++      "version": "3.22.5",
++      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz",
++      "integrity": "sha512-VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA=="
++    },
++    "core-js-compat": {
++      "version": "3.26.0",
++      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz",
++      "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==",
++      "requires": {
++        "browserslist": "^4.21.4"
++      }
++    },
++    "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=="
++    },
++    "cpr": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/cpr/-/cpr-3.0.1.tgz",
++      "integrity": "sha512-Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==",
++      "requires": {
++        "graceful-fs": "^4.1.5",
++        "minimist": "^1.2.0",
++        "mkdirp": "~0.5.1",
++        "rimraf": "^2.5.4"
++      }
++    },
++    "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==",
++      "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=="
++        }
++      }
++    },
++    "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==",
++      "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==",
++      "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"
++      }
++    },
++    "cross-spawn": {
++      "version": "7.0.3",
++      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
++      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
++      "requires": {
++        "path-key": "^3.1.0",
++        "shebang-command": "^2.0.0",
++        "which": "^2.0.1"
++      }
++    },
++    "cross-unzip": {
++      "version": "0.0.2",
++      "resolved": "https://registry.npmjs.org/cross-unzip/-/cross-unzip-0.0.2.tgz",
++      "integrity": "sha512-nRJ5c+aqHz0OJVU4V1bqoaDggydfauK/Gha/H/ScBvuIjhZvl8YIpdWVzSR3vUhzCloqB1tvBdQ4V7J8qK7HzQ=="
++    },
++    "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==",
++      "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": "2.0.0",
++      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
++      "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
++    },
++    "dash-ast": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
++      "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA=="
++    },
++    "dashdash": {
++      "version": "1.14.1",
++      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
++      "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
++      "requires": {
++        "assert-plus": "^1.0.0"
++      }
++    },
++    "debug": {
++      "version": "4.3.4",
++      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
++      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
++      "requires": {
++        "ms": "2.1.2"
++      }
++    },
++    "decamelize": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
++      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
++    },
++    "decamelize-keys": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
++      "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
++      "requires": {
++        "decamelize": "^1.1.0",
++        "map-obj": "^1.0.0"
++      },
++      "dependencies": {
++        "map-obj": {
++          "version": "1.0.1",
++          "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
++          "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg=="
++        }
++      }
++    },
++    "decompress-response": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
++      "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
++      "requires": {
++        "mimic-response": "^1.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==",
++      "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-extend": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
++      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
++    },
++    "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=="
++    },
++    "defer-to-connect": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
++      "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
++    },
++    "define-lazy-prop": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
++      "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="
++    },
++    "define-properties": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
++      "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
++      "requires": {
++        "has-property-descriptors": "^1.0.0",
++        "object-keys": "^1.1.1"
++      }
++    },
++    "defined": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
++      "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q=="
++    },
++    "delayed-stream": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
++      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
++    },
++    "delegates": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
++      "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
++    },
++    "depd": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
++      "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="
++    },
++    "deps-sort": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz",
++      "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==",
++      "requires": {
++        "JSONStream": "^1.0.3",
++        "shasum-object": "^1.0.0",
++        "subarg": "^1.0.0",
++        "through2": "^2.0.0"
++      }
++    },
++    "des.js": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
++      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "minimalistic-assert": "^1.0.0"
++      }
++    },
++    "destroy": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
++      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
++    },
++    "detect-libc": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
++      "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
++      "optional": 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==",
++      "optional": true
++    },
++    "detective": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
++      "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
++      "requires": {
++        "acorn-node": "^1.8.2",
++        "defined": "^1.0.0",
++        "minimist": "^1.2.6"
++      }
++    },
++    "diff-match-patch": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
++      "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="
++    },
++    "diffie-hellman": {
++      "version": "5.0.3",
++      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
++      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
++      "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=="
++        }
++      }
++    },
++    "dns-equal": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
++      "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg=="
++    },
++    "dns-packet": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz",
++      "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
++      "requires": {
++        "ip": "^1.1.0",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "dns-txt": {
++      "version": "git+ssh://git@github.com/jean-emmanuel/dns-txt.git#3bee7785c32d8bc71230d5e01383c61fb72a4b4f",
++      "from": "dns-txt@github:jean-emmanuel/dns-txt#v2.0.3",
++      "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==",
++      "requires": {
++        "esutils": "^2.0.2"
++      }
++    },
++    "dom-serializer": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
++      "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
++      "requires": {
++        "domelementtype": "^2.0.1",
++        "domhandler": "^4.2.0",
++        "entities": "^2.0.0"
++      },
++      "dependencies": {
++        "domhandler": {
++          "version": "4.3.1",
++          "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
++          "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
++          "requires": {
++            "domelementtype": "^2.2.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=="
++    },
++    "domelementtype": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
++      "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
++    },
++    "domhandler": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
++      "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
++      "requires": {
++        "domelementtype": "^2.0.1"
++      }
++    },
++    "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"
++      },
++      "dependencies": {
++        "domhandler": {
++          "version": "4.3.1",
++          "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
++          "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
++          "requires": {
++            "domelementtype": "^2.2.0"
++          }
++        }
++      }
++    },
++    "dot-prop": {
++      "version": "5.3.0",
++      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
++      "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
++      "requires": {
++        "is-obj": "^2.0.0"
++      }
++    },
++    "duplexer2": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
++      "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
++      "requires": {
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "duplexer3": {
++      "version": "0.1.5",
++      "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
++      "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA=="
++    },
++    "ecc-jsbn": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
++      "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
++      "requires": {
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.1.0"
++      }
++    },
++    "ee-first": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
++      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
++    },
++    "electron-is-accelerator": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz",
++      "integrity": "sha512-fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA=="
++    },
++    "electron-localshortcut": {
++      "version": "3.2.1",
++      "resolved": "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.2.1.tgz",
++      "integrity": "sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==",
++      "requires": {
++        "debug": "^4.0.1",
++        "electron-is-accelerator": "^0.1.0",
++        "keyboardevent-from-electron-accelerator": "^2.0.0",
++        "keyboardevents-areequal": "^0.2.1"
++      }
++    },
++    "electron-notarize": {
++      "version": "1.2.2",
++      "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.2.2.tgz",
++      "integrity": "sha512-ZStVWYcWI7g87/PgjPJSIIhwQXOaw4/XeXU+pWqMMktSLHaGMLHdyPPN7Cmao7+Cr7fYufA16npdtMndYciHNw==",
++      "requires": {
++        "debug": "^4.1.1",
++        "fs-extra": "^9.0.1"
++      }
++    },
++    "electron-osx-sign": {
++      "version": "0.5.0",
++      "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz",
++      "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==",
++      "requires": {
++        "bluebird": "^3.5.0",
++        "compare-version": "^0.1.2",
++        "debug": "^2.6.8",
++        "isbinaryfile": "^3.0.2",
++        "minimist": "^1.2.0",
++        "plist": "^3.0.1"
++      },
++      "dependencies": {
++        "debug": {
++          "version": "2.6.9",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++          "requires": {
++            "ms": "2.0.0"
++          }
++        },
++        "ms": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++        }
++      }
++    },
++    "electron-packager": {
++      "version": "15.2.0",
++      "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.2.0.tgz",
++      "integrity": "sha512-BaklTBRQy1JTijR3hi8XxHf/uo76rHbDCNM/eQHSblzE9C0NoNfOe86nPxB7y1u2jwlqoEJ4zFiHpTFioKGGRA==",
++      "requires": {
++        "@electron/get": "^1.6.0",
++        "asar": "^3.0.0",
++        "debug": "^4.0.1",
++        "electron-notarize": "^1.0.0",
++        "electron-osx-sign": "^0.5.0",
++        "extract-zip": "^2.0.0",
++        "filenamify": "^4.1.0",
++        "fs-extra": "^9.0.0",
++        "galactus": "^0.2.1",
++        "get-package-info": "^1.0.0",
++        "junk": "^3.1.0",
++        "parse-author": "^2.0.0",
++        "plist": "^3.0.0",
++        "rcedit": "^2.0.0",
++        "resolve": "^1.1.6",
++        "semver": "^7.1.3",
++        "yargs-parser": "^20.0.0"
++      }
++    },
++    "electron-packager-plugin-non-proprietary-codecs-ffmpeg": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/electron-packager-plugin-non-proprietary-codecs-ffmpeg/-/electron-packager-plugin-non-proprietary-codecs-ffmpeg-1.0.2.tgz",
++      "integrity": "sha512-xPkbzndg2KODqmNe9yIx0dhNOfaOqrdNZ1ZSSZN4h1wT0T5SV/YES0tNyN932jQd+c5cFPv6AWYYjuPWKvcITg==",
++      "requires": {
++        "7zip": "0.0.6",
++        "cross-unzip": "0.0.2",
++        "mkdirp": "^0.5.1",
++        "request": "^2.73.0",
++        "semver": "^5.2.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
++        }
++      }
++    },
++    "electron-to-chromium": {
++      "version": "1.4.284",
++      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
++      "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
++    },
++    "elliptic": {
++      "version": "6.5.4",
++      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
++      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
++      "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=="
++        }
++      }
++    },
++    "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=="
++    },
++    "encodeurl": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
++      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
++    },
++    "encoding": {
++      "version": "0.1.13",
++      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
++      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
++      "optional": true,
++      "requires": {
++        "iconv-lite": "^0.6.2"
++      }
++    },
++    "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==",
++      "requires": {
++        "once": "^1.4.0"
++      }
++    },
++    "entities": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
++      "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
++    },
++    "env-paths": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
++      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="
++    },
++    "err-code": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
++      "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="
++    },
++    "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==",
++      "requires": {
++        "is-arrayish": "^0.2.1"
++      }
++    },
++    "error-stack-parser": {
++      "version": "2.1.4",
++      "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz",
++      "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==",
++      "requires": {
++        "stackframe": "^1.3.4"
++      }
++    },
++    "es6-error": {
++      "version": "4.1.1",
++      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
++      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
++      "optional": true
++    },
++    "escalade": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
++      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
++    },
++    "escape-goat": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
++      "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q=="
++    },
++    "escape-html": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
++      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
++    },
++    "escape-string-regexp": {
++      "version": "1.0.5",
++      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
++      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
++    },
++    "escaper": {
++      "version": "2.5.3",
++      "resolved": "https://registry.npmjs.org/escaper/-/escaper-2.5.3.tgz",
++      "integrity": "sha512-QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ=="
++    },
++    "eslint": {
++      "version": "8.16.0",
++      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz",
++      "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==",
++      "requires": {
++        "@eslint/eslintrc": "^1.3.0",
++        "@humanwhocodes/config-array": "^0.9.2",
++        "ajv": "^6.10.0",
++        "chalk": "^4.0.0",
++        "cross-spawn": "^7.0.2",
++        "debug": "^4.3.2",
++        "doctrine": "^3.0.0",
++        "escape-string-regexp": "^4.0.0",
++        "eslint-scope": "^7.1.1",
++        "eslint-utils": "^3.0.0",
++        "eslint-visitor-keys": "^3.3.0",
++        "espree": "^9.3.2",
++        "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": "^6.0.1",
++        "globals": "^13.15.0",
++        "ignore": "^5.2.0",
++        "import-fresh": "^3.0.0",
++        "imurmurhash": "^0.1.4",
++        "is-glob": "^4.0.0",
++        "js-yaml": "^4.1.0",
++        "json-stable-stringify-without-jsonify": "^1.0.1",
++        "levn": "^0.4.1",
++        "lodash.merge": "^4.6.2",
++        "minimatch": "^3.1.2",
++        "natural-compare": "^1.4.0",
++        "optionator": "^0.9.1",
++        "regexpp": "^3.2.0",
++        "strip-ansi": "^6.0.1",
++        "strip-json-comments": "^3.1.0",
++        "text-table": "^0.2.0",
++        "v8-compile-cache": "^2.0.3"
++      },
++      "dependencies": {
++        "ansi-styles": {
++          "version": "4.3.0",
++          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
++          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
++          "requires": {
++            "color-convert": "^2.0.1"
++          }
++        },
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "chalk": {
++          "version": "4.1.2",
++          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
++          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
++          "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==",
++          "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=="
++        },
++        "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=="
++        },
++        "eslint-scope": {
++          "version": "7.1.1",
++          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
++          "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
++          "requires": {
++            "esrecurse": "^4.3.0",
++            "estraverse": "^5.2.0"
++          }
++        },
++        "eslint-visitor-keys": {
++          "version": "3.3.0",
++          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
++          "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
++        },
++        "estraverse": {
++          "version": "5.3.0",
++          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
++        },
++        "glob-parent": {
++          "version": "6.0.2",
++          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
++          "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
++          "requires": {
++            "is-glob": "^4.0.3"
++          }
++        },
++        "globals": {
++          "version": "13.17.0",
++          "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
++          "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
++          "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=="
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        },
++        "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==",
++          "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=="
++        }
++      }
++    },
++    "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==",
++      "requires": {
++        "esrecurse": "^4.3.0",
++        "estraverse": "^4.1.1"
++      }
++    },
++    "eslint-utils": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
++      "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
++      "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=="
++    },
++    "espree": {
++      "version": "9.4.1",
++      "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
++      "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
++      "requires": {
++        "acorn": "^8.8.0",
++        "acorn-jsx": "^5.3.2",
++        "eslint-visitor-keys": "^3.3.0"
++      },
++      "dependencies": {
++        "eslint-visitor-keys": {
++          "version": "3.3.0",
++          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
++          "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
++        }
++      }
++    },
++    "esquery": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
++      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
++      "requires": {
++        "estraverse": "^5.1.0"
++      },
++      "dependencies": {
++        "estraverse": {
++          "version": "5.3.0",
++          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
++        }
++      }
++    },
++    "esrecurse": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
++      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
++      "requires": {
++        "estraverse": "^5.2.0"
++      },
++      "dependencies": {
++        "estraverse": {
++          "version": "5.3.0",
++          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
++          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
++        }
++      }
++    },
++    "estraverse": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
++      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
++    },
++    "estree-is-member-expression": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz",
++      "integrity": "sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg=="
++    },
++    "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": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
++    },
++    "events": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
++      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
++    },
++    "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==",
++      "requires": {
++        "md5.js": "^1.3.4",
++        "safe-buffer": "^5.1.1"
++      }
++    },
++    "exorcist": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/exorcist/-/exorcist-2.0.0.tgz",
++      "integrity": "sha512-+c63SvhBq/HjmbV9cu9vkDkjXFiuI4lpqOZU5Y3t5GSV2l4TQCqVli9c7nIASHxkUL4THaOZDUcb6XNBI/eYjw==",
++      "requires": {
++        "is-stream": "^2.0.0",
++        "minimist": "^1.2.5",
++        "mkdirp": "^1.0.4",
++        "mold-source-map": "^0.4.0"
++      },
++      "dependencies": {
++        "mkdirp": {
++          "version": "1.0.4",
++          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
++          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
++        }
++      }
++    },
++    "expand-template": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
++      "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
++      "optional": true
++    },
++    "extend": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
++      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
++    },
++    "extract-zip": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
++      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
++      "requires": {
++        "@types/yauzl": "^2.9.1",
++        "debug": "^4.1.1",
++        "get-stream": "^5.1.0",
++        "yauzl": "^2.10.0"
++      }
++    },
++    "extsprintf": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
++      "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g=="
++    },
++    "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=="
++    },
++    "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=="
++    },
++    "fast-levenshtein": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
++      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
++    },
++    "fast-safe-stringify": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
++      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
++    },
++    "fastdom": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/fastdom/-/fastdom-1.0.10.tgz",
++      "integrity": "sha512-sbL4h358IlZn8VsTvA5TYnKVLYif46XhPEll+HTSxVtDSpqZEO/17D/QqlxE9V2K7AQ82GXeYeQLU2HWwKgk1A==",
++      "requires": {
++        "strictdom": "^1.0.1"
++      }
++    },
++    "fd-slicer": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
++      "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
++      "requires": {
++        "pend": "~1.2.0"
++      }
++    },
++    "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==",
++      "requires": {
++        "flat-cache": "^3.0.4"
++      }
++    },
++    "file-saver": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
++      "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
++    },
++    "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==",
++      "optional": true
++    },
++    "filename-reserved-regex": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
++      "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ=="
++    },
++    "filenamify": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
++      "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
++      "requires": {
++        "filename-reserved-regex": "^2.0.0",
++        "strip-outer": "^1.0.1",
++        "trim-repeated": "^1.0.0"
++      }
++    },
++    "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"
++      }
++    },
++    "find-up": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
++      "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
++      "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==",
++      "requires": {
++        "flatted": "^3.1.0",
++        "rimraf": "^3.0.2"
++      },
++      "dependencies": {
++        "rimraf": {
++          "version": "3.0.2",
++          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++          "requires": {
++            "glob": "^7.1.3"
++          }
++        }
++      }
++    },
++    "flatted": {
++      "version": "3.2.7",
++      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
++      "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
++    },
++    "flora-colossus": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz",
++      "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==",
++      "requires": {
++        "debug": "^4.1.1",
++        "fs-extra": "^7.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==",
++          "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": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++          "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=="
++        }
++      }
++    },
++    "for-each": {
++      "version": "0.3.3",
++      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
++      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
++      "requires": {
++        "is-callable": "^1.1.3"
++      }
++    },
++    "forever-agent": {
++      "version": "0.6.1",
++      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
++      "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw=="
++    },
++    "form-data": {
++      "version": "2.3.3",
++      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
++      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
++      "requires": {
++        "asynckit": "^0.4.0",
++        "combined-stream": "^1.0.6",
++        "mime-types": "^2.1.12"
++      }
++    },
++    "fresh": {
++      "version": "0.5.2",
++      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
++      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
++    },
++    "fs-constants": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
++      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
++      "optional": true
++    },
++    "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==",
++      "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==",
++      "requires": {
++        "minipass": "^3.0.0"
++      }
++    },
++    "fs.realpath": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
++      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
++    },
++    "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=="
++    },
++    "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": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
++    },
++    "functions-have-names": {
++      "version": "1.2.3",
++      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
++      "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
++    },
++    "galactus": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz",
++      "integrity": "sha512-mDc8EQJKtxjp9PMYS3PbpjjbX3oXhBTxoGaPahw620XZBIHJ4+nvw5KN/tRtmmSDR9dypstGNvqQ3C29QGoGHQ==",
++      "requires": {
++        "debug": "^3.1.0",
++        "flora-colossus": "^1.0.0",
++        "fs-extra": "^4.0.0"
++      },
++      "dependencies": {
++        "debug": {
++          "version": "3.2.7",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
++          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
++          "requires": {
++            "ms": "^2.1.1"
++          }
++        },
++        "fs-extra": {
++          "version": "4.0.3",
++          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
++          "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
++          "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": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
++          "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=="
++        }
++      }
++    },
++    "gauge": {
++      "version": "3.0.2",
++      "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
++      "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
++      "requires": {
++        "aproba": "^1.0.3 || ^2.0.0",
++        "color-support": "^1.1.2",
++        "console-control-strings": "^1.0.0",
++        "has-unicode": "^2.0.1",
++        "object-assign": "^4.1.1",
++        "signal-exit": "^3.0.0",
++        "string-width": "^4.2.3",
++        "strip-ansi": "^6.0.1",
++        "wide-align": "^1.1.2"
++      }
++    },
++    "gaze": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
++      "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
++      "requires": {
++        "globule": "^1.0.0"
++      }
++    },
++    "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=="
++    },
++    "get-assigned-identifiers": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
++      "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ=="
++    },
++    "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=="
++    },
++    "get-intrinsic": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
++      "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
++      "requires": {
++        "function-bind": "^1.1.1",
++        "has": "^1.0.3",
++        "has-symbols": "^1.0.3"
++      }
++    },
++    "get-package-info": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz",
++      "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==",
++      "requires": {
++        "bluebird": "^3.1.1",
++        "debug": "^2.2.0",
++        "lodash.get": "^4.0.0",
++        "read-pkg-up": "^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==",
++          "requires": {
++            "ms": "2.0.0"
++          }
++        },
++        "ms": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++        }
++      }
++    },
++    "get-stdin": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
++      "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw=="
++    },
++    "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==",
++      "requires": {
++        "pump": "^3.0.0"
++      }
++    },
++    "getpass": {
++      "version": "0.1.7",
++      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
++      "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
++      "requires": {
++        "assert-plus": "^1.0.0"
++      }
++    },
++    "github-from-package": {
++      "version": "0.0.0",
++      "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
++      "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
++      "optional": true
++    },
++    "glob": {
++      "version": "7.2.3",
++      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
++      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
++      "requires": {
++        "fs.realpath": "^1.0.0",
++        "inflight": "^1.0.4",
++        "inherits": "2",
++        "minimatch": "^3.1.1",
++        "once": "^1.3.0",
++        "path-is-absolute": "^1.0.0"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "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-agent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
++      "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
++      "optional": true,
++      "requires": {
++        "boolean": "^3.0.1",
++        "es6-error": "^4.1.1",
++        "matcher": "^3.0.0",
++        "roarr": "^2.15.3",
++        "semver": "^7.3.2",
++        "serialize-error": "^7.0.1"
++      }
++    },
++    "global-dirs": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
++      "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
++      "requires": {
++        "ini": "2.0.0"
++      },
++      "dependencies": {
++        "ini": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
++          "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA=="
++        }
++      }
++    },
++    "global-tunnel-ng": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz",
++      "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==",
++      "optional": true,
++      "requires": {
++        "encodeurl": "^1.0.2",
++        "lodash": "^4.17.10",
++        "npm-conf": "^1.1.3",
++        "tunnel": "^0.0.6"
++      }
++    },
++    "globals": {
++      "version": "11.12.0",
++      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
++      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
++    },
++    "globalthis": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
++      "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
++      "optional": true,
++      "requires": {
++        "define-properties": "^1.1.3"
++      }
++    },
++    "globule": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
++      "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
++      "requires": {
++        "glob": "~7.1.1",
++        "lodash": "^4.17.21",
++        "minimatch": "~3.0.2"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "glob": {
++          "version": "7.1.7",
++          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
++          "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
++          "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"
++          }
++        },
++        "minimatch": {
++          "version": "3.0.8",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
++          "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "gopd": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
++      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
++      "requires": {
++        "get-intrinsic": "^1.1.3"
++      }
++    },
++    "got": {
++      "version": "9.6.0",
++      "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
++      "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
++      "requires": {
++        "@sindresorhus/is": "^0.14.0",
++        "@szmarczak/http-timer": "^1.1.2",
++        "cacheable-request": "^6.0.0",
++        "decompress-response": "^3.3.0",
++        "duplexer3": "^0.1.4",
++        "get-stream": "^4.1.0",
++        "lowercase-keys": "^1.0.1",
++        "mimic-response": "^1.0.1",
++        "p-cancelable": "^1.0.0",
++        "to-readable-stream": "^1.0.0",
++        "url-parse-lax": "^3.0.0"
++      },
++      "dependencies": {
++        "get-stream": {
++          "version": "4.1.0",
++          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
++          "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
++          "requires": {
++            "pump": "^3.0.0"
++          }
++        }
++      }
++    },
++    "graceful-fs": {
++      "version": "4.2.10",
++      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
++      "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
++    },
++    "gyronorm": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/gyronorm/-/gyronorm-2.0.6.tgz",
++      "integrity": "sha512-pE66zEK/3G9t1dpikTKIjNuY1JauXgtNiulgPKc28IKwMJ5NuJ03mOQ5ArqnkOyQxhlJSY71i3YdFcHhzx4TOg=="
++    },
++    "har-schema": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
++      "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q=="
++    },
++    "har-validator": {
++      "version": "5.1.5",
++      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
++      "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
++      "requires": {
++        "ajv": "^6.12.3",
++        "har-schema": "^2.0.0"
++      }
++    },
++    "hard-rejection": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
++      "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA=="
++    },
++    "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-ansi": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
++      "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
++      "requires": {
++        "ansi-regex": "^2.0.0"
++      },
++      "dependencies": {
++        "ansi-regex": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++          "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA=="
++        }
++      }
++    },
++    "has-flag": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
++      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
++    },
++    "has-property-descriptors": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
++      "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
++      "requires": {
++        "get-intrinsic": "^1.1.1"
++      }
++    },
++    "has-symbols": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
++      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
++    },
++    "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-unicode": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
++      "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
++    },
++    "has-yarn": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
++      "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw=="
++    },
++    "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==",
++      "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==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "hash.js": {
++      "version": "1.1.7",
++      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
++      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
++      "requires": {
++        "inherits": "^2.0.3",
++        "minimalistic-assert": "^1.0.1"
++      }
++    },
++    "hmac-drbg": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
++      "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
++      "requires": {
++        "hash.js": "^1.0.3",
++        "minimalistic-assert": "^1.0.0",
++        "minimalistic-crypto-utils": "^1.0.1"
++      }
++    },
++    "hosted-git-info": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
++      "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
++      "requires": {
++        "lru-cache": "^6.0.0"
++      }
++    },
++    "htmlescape": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
++      "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg=="
++    },
++    "htmlparser2": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
++      "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==",
++      "requires": {
++        "domelementtype": "^2.0.1",
++        "domhandler": "^3.0.0",
++        "domutils": "^2.0.0",
++        "entities": "^2.0.0"
++      }
++    },
++    "http-auth": {
++      "version": "4.1.9",
++      "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-4.1.9.tgz",
++      "integrity": "sha512-kvPYxNGc9EKGTXvOMnTBQw2RZfuiSihK/mLw/a4pbtRueTE45S55Lw/3k5CktIf7Ak0veMKEIteDj4YkNmCzmQ==",
++      "requires": {
++        "apache-crypt": "^1.1.2",
++        "apache-md5": "^1.0.6",
++        "bcryptjs": "^2.4.3",
++        "uuid": "^8.3.2"
++      }
++    },
++    "http-cache-semantics": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
++      "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
++    },
++    "http-errors": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
++      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
++      "requires": {
++        "depd": "2.0.0",
++        "inherits": "2.0.4",
++        "setprototypeof": "1.2.0",
++        "statuses": "2.0.1",
++        "toidentifier": "1.0.1"
++      },
++      "dependencies": {
++        "depd": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
++          "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
++        }
++      }
++    },
++    "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-signature": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
++      "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
++      "requires": {
++        "assert-plus": "^1.0.0",
++        "jsprim": "^1.2.2",
++        "sshpk": "^1.7.0"
++      }
++    },
++    "https-browserify": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
++      "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="
++    },
++    "https-proxy-agent": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
++      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
++      "requires": {
++        "agent-base": "6",
++        "debug": "4"
++      }
++    },
++    "humanize-ms": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
++      "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
++      "requires": {
++        "ms": "^2.0.0"
++      }
++    },
++    "hyperscript-attribute-to-property": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/hyperscript-attribute-to-property/-/hyperscript-attribute-to-property-1.0.2.tgz",
++      "integrity": "sha512-oerMul16jZCmrbNsUw8QgrtDzF8lKgFri1bKQjReLw1IhiiNkI59CWuzZjJDGT79UQ1YiWqXhJMv/tRMVqgtkA=="
++    },
++    "hyperx": {
++      "version": "2.5.4",
++      "resolved": "https://registry.npmjs.org/hyperx/-/hyperx-2.5.4.tgz",
++      "integrity": "sha512-iOkSh7Yse7lsN/B9y7OsevLWjeXPqGuHQ5SbwaiJM5xAhWFqhoN6erpK1dQsS12OFU36lyai1pnx1mmzWLQqcA==",
++      "requires": {
++        "hyperscript-attribute-to-property": "^1.0.0"
++      }
++    },
++    "iconv-lite": {
++      "version": "0.6.3",
++      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
++      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
++      "optional": true,
++      "requires": {
++        "safer-buffer": ">= 2.1.2 < 3.0.0"
++      }
++    },
++    "ieee754": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
++      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
++    },
++    "ignore": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
++      "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ=="
++    },
++    "ignore-by-default": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
++      "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
++    },
++    "import-fresh": {
++      "version": "3.3.0",
++      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
++      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
++      "requires": {
++        "parent-module": "^1.0.0",
++        "resolve-from": "^4.0.0"
++      }
++    },
++    "import-lazy": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
++      "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A=="
++    },
++    "imurmurhash": {
++      "version": "0.1.4",
++      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
++      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
++    },
++    "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=="
++    },
++    "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=="
++    },
++    "inflight": {
++      "version": "1.0.6",
++      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
++      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
++      "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=="
++    },
++    "ini": {
++      "version": "1.3.8",
++      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
++      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
++    },
++    "inline-source-map": {
++      "version": "0.6.2",
++      "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
++      "integrity": "sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==",
++      "requires": {
++        "source-map": "~0.5.3"
++      }
++    },
++    "insert-module-globals": {
++      "version": "7.2.1",
++      "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz",
++      "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
++      "requires": {
++        "acorn-node": "^1.5.2",
++        "combine-source-map": "^0.8.0",
++        "concat-stream": "^1.6.1",
++        "is-buffer": "^1.1.0",
++        "JSONStream": "^1.0.3",
++        "path-is-absolute": "^1.0.1",
++        "process": "~0.11.0",
++        "through2": "^2.0.0",
++        "undeclared-identifiers": "^1.1.2",
++        "xtend": "^4.0.0"
++      }
++    },
++    "ip": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
++      "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg=="
++    },
++    "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": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
++    },
++    "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-attribute": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/is-boolean-attribute/-/is-boolean-attribute-0.0.1.tgz",
++      "integrity": "sha512-0kXT52Scokg2Miscvsn5UVqg6y1691vcLJcagie1YHJB4zOEuAhMERLX992jtvaStGy2xQTqOtJhvmG/MK1T5w=="
++    },
++    "is-buffer": {
++      "version": "1.1.6",
++      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
++      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
++    },
++    "is-callable": {
++      "version": "1.2.7",
++      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
++      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
++    },
++    "is-ci": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
++      "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
++      "requires": {
++        "ci-info": "^2.0.0"
++      }
++    },
++    "is-core-module": {
++      "version": "2.11.0",
++      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
++      "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
++      "requires": {
++        "has": "^1.0.3"
++      }
++    },
++    "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-docker": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
++      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="
++    },
++    "is-extglob": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
++      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
++    },
++    "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=="
++    },
++    "is-generator-function": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
++      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
++      "requires": {
++        "has-tostringtag": "^1.0.0"
++      }
++    },
++    "is-glob": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
++      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
++      "requires": {
++        "is-extglob": "^2.1.1"
++      }
++    },
++    "is-installed-globally": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
++      "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
++      "requires": {
++        "global-dirs": "^3.0.0",
++        "is-path-inside": "^3.0.2"
++      }
++    },
++    "is-lambda": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
++      "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ=="
++    },
++    "is-npm": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
++      "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA=="
++    },
++    "is-number": {
++      "version": "7.0.0",
++      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
++      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
++    },
++    "is-obj": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
++      "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
++    },
++    "is-path-inside": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
++      "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
++    },
++    "is-plain-obj": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
++      "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg=="
++    },
++    "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": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA=="
++    },
++    "is-stream": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
++      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
++    },
++    "is-typed-array": {
++      "version": "1.1.10",
++      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
++      "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
++      "requires": {
++        "available-typed-arrays": "^1.0.5",
++        "call-bind": "^1.0.2",
++        "for-each": "^0.3.3",
++        "gopd": "^1.0.1",
++        "has-tostringtag": "^1.0.0"
++      }
++    },
++    "is-typedarray": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
++      "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
++    },
++    "is-wsl": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
++      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
++      "requires": {
++        "is-docker": "^2.0.0"
++      }
++    },
++    "is-yarn-global": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
++      "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw=="
++    },
++    "isarray": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
++      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
++    },
++    "isbinaryfile": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
++      "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
++      "requires": {
++        "buffer-alloc": "^1.2.0"
++      }
++    },
++    "isexe": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
++      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
++    },
++    "isstream": {
++      "version": "0.1.2",
++      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
++      "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
++    },
++    "js-base64": {
++      "version": "2.6.4",
++      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
++      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
++    },
++    "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": "4.1.0",
++      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
++      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
++      "requires": {
++        "argparse": "^2.0.1"
++      }
++    },
++    "jsbn": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
++      "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
++    },
++    "jsesc": {
++      "version": "2.5.2",
++      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
++      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
++    },
++    "json-buffer": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
++      "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ=="
++    },
++    "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=="
++    },
++    "json-schema": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
++      "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
++    },
++    "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=="
++    },
++    "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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
++    },
++    "json-stringify-safe": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
++      "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
++    },
++    "json5": {
++      "version": "2.2.1",
++      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
++      "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
++    },
++    "jsondiffpatch": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.4.1.tgz",
++      "integrity": "sha512-t0etAxTUk1w5MYdNOkZBZ8rvYYN5iL+2dHCCx/DpkFm/bW28M6y5nUS83D4XdZiHy35Fpaw6LBb+F88fHZnVCw==",
++      "requires": {
++        "chalk": "^2.3.0",
++        "diff-match-patch": "^1.0.0"
++      }
++    },
++    "jsonfile": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
++      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
++      "requires": {
++        "graceful-fs": "^4.1.6",
++        "universalify": "^2.0.0"
++      }
++    },
++    "jsonparse": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
++      "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg=="
++    },
++    "JSONStream": {
++      "version": "1.3.5",
++      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
++      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
++      "requires": {
++        "jsonparse": "^1.2.0",
++        "through": ">=2.2.7 <3"
++      }
++    },
++    "jsprim": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
++      "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
++      "requires": {
++        "assert-plus": "1.0.0",
++        "extsprintf": "1.3.0",
++        "json-schema": "0.4.0",
++        "verror": "1.10.0"
++      }
++    },
++    "junk": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
++      "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ=="
++    },
++    "keyboardevent-from-electron-accelerator": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz",
++      "integrity": "sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA=="
++    },
++    "keyboardevents-areequal": {
++      "version": "0.2.2",
++      "resolved": "https://registry.npmjs.org/keyboardevents-areequal/-/keyboardevents-areequal-0.2.2.tgz",
++      "integrity": "sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw=="
++    },
++    "keyboardjs": {
++      "version": "2.6.4",
++      "resolved": "https://registry.npmjs.org/keyboardjs/-/keyboardjs-2.6.4.tgz",
++      "integrity": "sha512-xDiNwiwH3KUqap++RFJiLAXzbvRB5Yw08xliuceOgLhM1o7g1puKKR9vWy6wp9H/Bi4VP0+SQMpiWXMWWmR6rA=="
++    },
++    "keyv": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
++      "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
++      "requires": {
++        "json-buffer": "3.0.0"
++      }
++    },
++    "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=="
++    },
++    "labeled-stream-splicer": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz",
++      "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "stream-splicer": "^2.0.0"
++      }
++    },
++    "latest-version": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
++      "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
++      "requires": {
++        "package-json": "^6.3.0"
++      }
++    },
++    "levn": {
++      "version": "0.4.1",
++      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
++      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
++      "requires": {
++        "prelude-ls": "^1.2.1",
++        "type-check": "~0.4.0"
++      }
++    },
++    "licensify": {
++      "version": "3.1.3",
++      "resolved": "https://registry.npmjs.org/licensify/-/licensify-3.1.3.tgz",
++      "integrity": "sha512-3sEEBR0Cxq8yeSrV1KGZwpjm4KJKp8Cx/WHZxBnG/YX319ZTvxGtL+NCF+A9pcXwh8KwKB4BmVrc6eRrfk/Raw==",
++      "requires": {
++        "convert-source-map": "^1.1.3",
++        "offset-sourcemap-lines": "^1.0.0",
++        "oss-license-name-to-url": "^1.2.1",
++        "through2": "^2.0.0",
++        "type-name": "^2.0.0"
++      }
++    },
++    "lines-and-columns": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
++      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
++    },
++    "load-json-file": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
++      "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==",
++      "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": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
++        }
++      }
++    },
++    "locate-path": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
++      "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
++      "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.debounce": {
++      "version": "4.0.8",
++      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
++      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
++    },
++    "lodash.get": {
++      "version": "4.4.2",
++      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
++      "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
++    },
++    "lodash.memoize": {
++      "version": "3.0.4",
++      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
++      "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A=="
++    },
++    "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=="
++    },
++    "long": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
++      "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
++    },
++    "loop-protect": {
++      "version": "git+ssh://git@github.com/jean-emmanuel/loop-protect.git#335856f37ee4a805704bfcd1d7429ab94620bf6d",
++      "from": "loop-protect@github:jean-emmanuel/loop-protect#v1.0.1"
++    },
++    "lower-case": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
++      "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA=="
++    },
++    "lowercase-keys": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
++      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
++    },
++    "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.23.2",
++      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz",
++      "integrity": "sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==",
++      "requires": {
++        "sourcemap-codec": "^1.4.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==",
++      "requires": {
++        "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=="
++        }
++      }
++    },
++    "make-fetch-happen": {
++      "version": "9.1.0",
++      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
++      "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
++      "requires": {
++        "agentkeepalive": "^4.1.3",
++        "cacache": "^15.2.0",
++        "http-cache-semantics": "^4.1.0",
++        "http-proxy-agent": "^4.0.1",
++        "https-proxy-agent": "^5.0.0",
++        "is-lambda": "^1.0.1",
++        "lru-cache": "^6.0.0",
++        "minipass": "^3.1.3",
++        "minipass-collect": "^1.0.2",
++        "minipass-fetch": "^1.3.2",
++        "minipass-flush": "^1.0.5",
++        "minipass-pipeline": "^1.2.4",
++        "negotiator": "^0.6.2",
++        "promise-retry": "^2.0.1",
++        "socks-proxy-agent": "^6.0.0",
++        "ssri": "^8.0.0"
++      }
++    },
++    "map-obj": {
++      "version": "4.3.0",
++      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
++      "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ=="
++    },
++    "matcher": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
++      "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
++      "optional": true,
++      "requires": {
++        "escape-string-regexp": "^4.0.0"
++      },
++      "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==",
++          "optional": true
++        }
++      }
++    },
++    "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==",
++      "requires": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.1.2"
++      }
++    },
++    "meow": {
++      "version": "9.0.0",
++      "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
++      "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
++      "requires": {
++        "@types/minimist": "^1.2.0",
++        "camelcase-keys": "^6.2.2",
++        "decamelize": "^1.2.0",
++        "decamelize-keys": "^1.1.0",
++        "hard-rejection": "^2.1.0",
++        "minimist-options": "4.1.0",
++        "normalize-package-data": "^3.0.0",
++        "read-pkg-up": "^7.0.1",
++        "redent": "^3.0.0",
++        "trim-newlines": "^3.0.0",
++        "type-fest": "^0.18.0",
++        "yargs-parser": "^20.2.3"
++      },
++      "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==",
++          "requires": {
++            "locate-path": "^5.0.0",
++            "path-exists": "^4.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=="
++        },
++        "locate-path": {
++          "version": "5.0.0",
++          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
++          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
++          "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==",
++          "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==",
++          "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=="
++        },
++        "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==",
++          "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"
++          }
++        },
++        "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=="
++        },
++        "read-pkg": {
++          "version": "5.2.0",
++          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
++          "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
++          "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": {
++            "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==",
++              "requires": {
++                "hosted-git-info": "^2.1.4",
++                "resolve": "^1.10.0",
++                "semver": "2 || 3 || 4 || 5",
++                "validate-npm-package-license": "^3.0.1"
++              }
++            },
++            "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=="
++            }
++          }
++        },
++        "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==",
++          "requires": {
++            "find-up": "^4.1.0",
++            "read-pkg": "^5.2.0",
++            "type-fest": "^0.8.1"
++          },
++          "dependencies": {
++            "type-fest": {
++              "version": "0.8.1",
++              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
++              "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="
++            }
++          }
++        },
++        "semver": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
++        }
++      }
++    },
++    "merge-source-map": {
++      "version": "1.0.4",
++      "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
++      "integrity": "sha512-PGSmS0kfnTnMJCzJ16BLLCEe6oeYCamKFFdQKshi4BmM6FUwipjVOcBFGxqtQtirtAG4iZvHlqST9CpZKqlRjA==",
++      "requires": {
++        "source-map": "^0.5.6"
++      }
++    },
++    "miller-rabin": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
++      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
++      "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=="
++        }
++      }
++    },
++    "mime": {
++      "version": "1.6.0",
++      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
++      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
++    },
++    "mime-db": {
++      "version": "1.52.0",
++      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
++      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
++    },
++    "mime-types": {
++      "version": "2.1.35",
++      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
++      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
++      "requires": {
++        "mime-db": "1.52.0"
++      }
++    },
++    "mimic-response": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
++      "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
++    },
++    "min-indent": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
++      "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg=="
++    },
++    "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=="
++    },
++    "minimalistic-crypto-utils": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
++      "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="
++    },
++    "minimatch": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
++      "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
++      "requires": {
++        "brace-expansion": "^2.0.1"
++      }
++    },
++    "minimist": {
++      "version": "1.2.7",
++      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
++      "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g=="
++    },
++    "minimist-options": {
++      "version": "4.1.0",
++      "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
++      "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
++      "requires": {
++        "arrify": "^1.0.1",
++        "is-plain-obj": "^1.1.0",
++        "kind-of": "^6.0.3"
++      }
++    },
++    "minipass": {
++      "version": "3.3.4",
++      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
++      "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
++      "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==",
++      "requires": {
++        "minipass": "^3.0.0"
++      }
++    },
++    "minipass-fetch": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
++      "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
++      "requires": {
++        "encoding": "^0.1.12",
++        "minipass": "^3.1.0",
++        "minipass-sized": "^1.0.3",
++        "minizlib": "^2.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==",
++      "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==",
++      "requires": {
++        "minipass": "^3.0.0"
++      }
++    },
++    "minipass-sized": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
++      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
++      "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==",
++      "requires": {
++        "minipass": "^3.0.0",
++        "yallist": "^4.0.0"
++      }
++    },
++    "mkdirp": {
++      "version": "0.5.6",
++      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
++      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
++      "requires": {
++        "minimist": "^1.2.6"
++      }
++    },
++    "mkdirp-classic": {
++      "version": "0.5.3",
++      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
++      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
++    },
++    "module-deps": {
++      "version": "6.2.3",
++      "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz",
++      "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
++      "requires": {
++        "browser-resolve": "^2.0.0",
++        "cached-path-relative": "^1.0.2",
++        "concat-stream": "~1.6.0",
++        "defined": "^1.0.0",
++        "detective": "^5.2.0",
++        "duplexer2": "^0.1.2",
++        "inherits": "^2.0.1",
++        "JSONStream": "^1.0.3",
++        "parents": "^1.0.0",
++        "readable-stream": "^2.0.2",
++        "resolve": "^1.4.0",
++        "stream-combiner2": "^1.1.1",
++        "subarg": "^1.0.0",
++        "through2": "^2.0.0",
++        "xtend": "^4.0.0"
++      }
++    },
++    "mold-source-map": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/mold-source-map/-/mold-source-map-0.4.0.tgz",
++      "integrity": "sha512-Y0uA/sDKVuPgLd7BmaJOai+fqzjrOlR6vZgx5cJIvturI/xOPQPgbf3X7ZbzJd6MvqQ6ucIfK8dSteFyc2Mw2w==",
++      "requires": {
++        "convert-source-map": "^1.1.0",
++        "through": "~2.2.7"
++      },
++      "dependencies": {
++        "through": {
++          "version": "2.2.7",
++          "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz",
++          "integrity": "sha512-JIR0m0ybkmTcR8URann+HbwKmodP+OE8UCbsifQDYMLD5J3em1Cdn3MYPpbEd5elGDwmP98T+WbqP/tvzA5Mjg=="
++        }
++      }
++    },
++    "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": "git+ssh://git@github.com/jean-emmanuel/multicast-dns.git#1bb9f6ba892eba88f2cb12ca96a1c1b3088413c0",
++      "from": "multicast-dns@github:jean-emmanuel/multicast-dns",
++      "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": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ=="
++    },
++    "mutexify": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.4.0.tgz",
++      "integrity": "sha512-pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==",
++      "requires": {
++        "queue-tick": "^1.0.0"
++      }
++    },
++    "nan": {
++      "version": "2.17.0",
++      "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
++      "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ=="
++    },
++    "nanoassert": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz",
++      "integrity": "sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ=="
++    },
++    "nanobench": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz",
++      "integrity": "sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==",
++      "requires": {
++        "browser-process-hrtime": "^0.1.2",
++        "chalk": "^1.1.3",
++        "mutexify": "^1.1.0",
++        "pretty-hrtime": "^1.0.2"
++      },
++      "dependencies": {
++        "ansi-regex": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
++          "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA=="
++        },
++        "ansi-styles": {
++          "version": "2.2.1",
++          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
++          "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA=="
++        },
++        "chalk": {
++          "version": "1.1.3",
++          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
++          "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
++          "requires": {
++            "ansi-styles": "^2.2.1",
++            "escape-string-regexp": "^1.0.2",
++            "has-ansi": "^2.0.0",
++            "strip-ansi": "^3.0.0",
++            "supports-color": "^2.0.0"
++          }
++        },
++        "strip-ansi": {
++          "version": "3.0.1",
++          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
++          "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
++          "requires": {
++            "ansi-regex": "^2.0.0"
++          }
++        },
++        "supports-color": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
++          "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g=="
++        }
++      }
++    },
++    "nanohtml": {
++      "version": "1.10.0",
++      "resolved": "https://registry.npmjs.org/nanohtml/-/nanohtml-1.10.0.tgz",
++      "integrity": "sha512-r/3AQl+jxAxUIJRiKExUjBtFcE1cm4yTOsTIdVqqlxPNtBxJh522ANrcQYzdNHhPzbPgb7j6qujq6eGehBX0kg==",
++      "requires": {
++        "acorn-node": "^1.8.2",
++        "camel-case": "^3.0.0",
++        "convert-source-map": "^1.5.1",
++        "estree-is-member-expression": "^1.0.0",
++        "hyperx": "^2.5.0",
++        "is-boolean-attribute": "0.0.1",
++        "nanoassert": "^1.1.0",
++        "nanobench": "^2.1.0",
++        "normalize-html-whitespace": "^0.2.0",
++        "through2": "^2.0.3",
++        "transform-ast": "^2.4.0"
++      }
++    },
++    "nanoid": {
++      "version": "3.3.4",
++      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
++      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
++    },
++    "nanomorph": {
++      "version": "5.4.3",
++      "resolved": "https://registry.npmjs.org/nanomorph/-/nanomorph-5.4.3.tgz",
++      "integrity": "sha512-uPP5y0x21KISffZCKHh1A0QW0RHZFQS0BR7LetlHBlay6UWAbjwhjiJTxOO6JeMHko5Cigl617zFoGrYFJ8ZLg==",
++      "requires": {
++        "nanoassert": "^1.1.0"
++      }
++    },
++    "napi-build-utils": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
++      "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
++      "optional": true
++    },
++    "natural-compare": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
++      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
++    },
++    "negotiator": {
++      "version": "0.6.3",
++      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
++      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
++    },
++    "no-case": {
++      "version": "2.3.2",
++      "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
++      "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
++      "requires": {
++        "lower-case": "^1.1.1"
++      }
++    },
++    "node-abi": {
++      "version": "3.28.0",
++      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.28.0.tgz",
++      "integrity": "sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==",
++      "optional": true,
++      "requires": {
++        "semver": "^7.3.5"
++      }
++    },
++    "node-forge": {
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
++      "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
++    },
++    "node-gyp": {
++      "version": "8.4.1",
++      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
++      "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
++      "requires": {
++        "env-paths": "^2.2.0",
++        "glob": "^7.1.4",
++        "graceful-fs": "^4.2.6",
++        "make-fetch-happen": "^9.1.0",
++        "nopt": "^5.0.0",
++        "npmlog": "^6.0.0",
++        "rimraf": "^3.0.2",
++        "semver": "^7.3.5",
++        "tar": "^6.1.2",
++        "which": "^2.0.2"
++      },
++      "dependencies": {
++        "are-we-there-yet": {
++          "version": "3.0.1",
++          "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
++          "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
++          "requires": {
++            "delegates": "^1.0.0",
++            "readable-stream": "^3.6.0"
++          }
++        },
++        "gauge": {
++          "version": "4.0.4",
++          "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
++          "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
++          "requires": {
++            "aproba": "^1.0.3 || ^2.0.0",
++            "color-support": "^1.1.3",
++            "console-control-strings": "^1.1.0",
++            "has-unicode": "^2.0.1",
++            "signal-exit": "^3.0.7",
++            "string-width": "^4.2.3",
++            "strip-ansi": "^6.0.1",
++            "wide-align": "^1.1.5"
++          }
++        },
++        "npmlog": {
++          "version": "6.0.2",
++          "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
++          "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
++          "requires": {
++            "are-we-there-yet": "^3.0.0",
++            "console-control-strings": "^1.1.0",
++            "gauge": "^4.0.3",
++            "set-blocking": "^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==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        },
++        "rimraf": {
++          "version": "3.0.2",
++          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
++          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
++          "requires": {
++            "glob": "^7.1.3"
++          }
++        }
++      }
++    },
++    "node-mouse": {
++      "version": "0.0.2",
++      "resolved": "https://registry.npmjs.org/node-mouse/-/node-mouse-0.0.2.tgz",
++      "integrity": "sha512-qqm+c/uKB1ceGMrKW+mxAxPKFTu0HD1DWoCElJHA0VQDloudzZD4bI++Z18mSDA3n5lix+RTXiOiu3XAOSYVHA=="
++    },
++    "node-releases": {
++      "version": "2.0.6",
++      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
++      "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
++    },
++    "node-sass": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.1.tgz",
++      "integrity": "sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ==",
++      "requires": {
++        "async-foreach": "^0.1.3",
++        "chalk": "^4.1.2",
++        "cross-spawn": "^7.0.3",
++        "gaze": "^1.0.0",
++        "get-stdin": "^4.0.1",
++        "glob": "^7.0.3",
++        "lodash": "^4.17.15",
++        "meow": "^9.0.0",
++        "nan": "^2.13.2",
++        "node-gyp": "^8.4.1",
++        "npmlog": "^5.0.0",
++        "request": "^2.88.0",
++        "sass-graph": "4.0.0",
++        "stdout-stream": "^1.4.0",
++        "true-case-path": "^1.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==",
++          "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==",
++          "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==",
++          "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=="
++        },
++        "has-flag": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
++        },
++        "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==",
++          "requires": {
++            "has-flag": "^4.0.0"
++          }
++        }
++      }
++    },
++    "nodemon": {
++      "version": "2.0.16",
++      "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.16.tgz",
++      "integrity": "sha512-zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w==",
++      "requires": {
++        "chokidar": "^3.5.2",
++        "debug": "^3.2.7",
++        "ignore-by-default": "^1.0.1",
++        "minimatch": "^3.0.4",
++        "pstree.remy": "^1.1.8",
++        "semver": "^5.7.1",
++        "supports-color": "^5.5.0",
++        "touch": "^3.1.0",
++        "undefsafe": "^2.0.5",
++        "update-notifier": "^5.1.0"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "debug": {
++          "version": "3.2.7",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
++          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
++          "requires": {
++            "ms": "^2.1.1"
++          }
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        },
++        "semver": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
++        }
++      }
++    },
++    "nopt": {
++      "version": "5.0.0",
++      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
++      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
++      "requires": {
++        "abbrev": "1"
++      }
++    },
++    "normalize-html-whitespace": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-0.2.0.tgz",
++      "integrity": "sha512-5CZAEQ4bQi8Msqw0GAT6rrkrjNN4ZKqAG3+jJMwms4O6XoMvh6ekwOueG4mRS1LbPUR1r9EdnhxxfpzMTOdzKw=="
++    },
++    "normalize-package-data": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
++      "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
++      "requires": {
++        "hosted-git-info": "^4.0.1",
++        "is-core-module": "^2.5.0",
++        "semver": "^7.3.4",
++        "validate-npm-package-license": "^3.0.1"
++      }
++    },
++    "normalize-path": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
++      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
++    },
++    "normalize-url": {
++      "version": "4.5.1",
++      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
++      "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA=="
++    },
++    "nosleep.js": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz",
++      "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA=="
++    },
++    "npm-conf": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
++      "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
++      "optional": true,
++      "requires": {
++        "config-chain": "^1.1.11",
++        "pify": "^3.0.0"
++      }
++    },
++    "npmlog": {
++      "version": "5.0.1",
++      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
++      "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
++      "requires": {
++        "are-we-there-yet": "^2.0.0",
++        "console-control-strings": "^1.1.0",
++        "gauge": "^3.0.0",
++        "set-blocking": "^2.0.0"
++      }
++    },
++    "oauth-sign": {
++      "version": "0.9.0",
++      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
++      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
++    },
++    "object-assign": {
++      "version": "4.1.1",
++      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
++      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
++    },
++    "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=="
++    },
++    "offset-sourcemap-lines": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz",
++      "integrity": "sha512-8giJa0GProV9hPLOp9qAobkvi6OiZnzeM6fdubVjhqcrISX8FYMk1jMVzG6R9d7HQWLysG22jyXEIF6sWu4fJw==",
++      "requires": {
++        "source-map": "^0.5.0"
++      }
++    },
++    "on-finished": {
++      "version": "2.4.1",
++      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
++      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
++      "requires": {
++        "ee-first": "1.1.1"
++      }
++    },
++    "once": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
++      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
++      "requires": {
++        "wrappy": "1"
++      }
++    },
++    "open": {
++      "version": "8.4.0",
++      "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
++      "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
++      "requires": {
++        "define-lazy-prop": "^2.0.0",
++        "is-docker": "^2.1.1",
++        "is-wsl": "^2.2.0"
++      }
++    },
++    "optionator": {
++      "version": "0.9.1",
++      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
++      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
++      "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"
++      }
++    },
++    "os-browserify": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
++      "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="
++    },
++    "osc": {
++      "version": "git+ssh://git@github.com/jean-emmanuel/osc.js.git#9197739162f26086e6a72670103c3fa036e9dcd5",
++      "from": "osc@github:jean-emmanuel/osc.js",
++      "requires": {
++        "long": "4.0.0",
++        "serialport": "9.2.0",
++        "slip": "1.0.2",
++        "wolfy87-eventemitter": "5.2.9",
++        "ws": "7.5.3"
++      },
++      "dependencies": {
++        "ws": {
++          "version": "7.5.3",
++          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
++          "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg=="
++        }
++      }
++    },
++    "osi-licenses": {
++      "version": "0.1.1",
++      "resolved": "https://registry.npmjs.org/osi-licenses/-/osi-licenses-0.1.1.tgz",
++      "integrity": "sha512-ZGAGO6dIxTS/mXxEJCpIdYetAoxIOOr7uYpMOoDWo4+b/6rf+2GagOjTbegL+eoMI8aYAiyNgKWUT7vWJRPl9A=="
++    },
++    "oss-license-name-to-url": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/oss-license-name-to-url/-/oss-license-name-to-url-1.2.1.tgz",
++      "integrity": "sha512-apFbKq0EAYi70q0pOpS0tDfSviZYdG3KM6U1GpofZPsRMwgDga0DQiPQ/GHyQx7PDDrLCGvFBNPLMLV/K4Jr4Q==",
++      "requires": {
++        "osi-licenses": "^0.1.0"
++      }
++    },
++    "outpipe": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz",
++      "integrity": "sha512-BnNY/RwnDrkmQdUa9U+OfN/Y7AWmKuUPCCd+hbRclZnnANvYpO72zp/a6Q4n829hPbdqEac31XCcsvlEvb+rtA==",
++      "dev": true,
++      "requires": {
++        "shell-quote": "^1.4.2"
++      }
++    },
++    "p-cancelable": {
++      "version": "1.1.0",
++      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
++      "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw=="
++    },
++    "p-limit": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
++      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
++      "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": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
++      "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==",
++      "requires": {
++        "aggregate-error": "^3.0.0"
++      }
++    },
++    "p-try": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
++      "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww=="
++    },
++    "package-json": {
++      "version": "6.5.0",
++      "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
++      "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
++      "requires": {
++        "got": "^9.6.0",
++        "registry-auth-token": "^4.0.0",
++        "registry-url": "^5.0.0",
++        "semver": "^6.2.0"
++      },
++      "dependencies": {
++        "semver": {
++          "version": "6.3.0",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
++          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
++        }
++      }
++    },
++    "pako": {
++      "version": "1.0.11",
++      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
++      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
++    },
++    "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==",
++      "requires": {
++        "callsites": "^3.0.0"
++      }
++    },
++    "parents": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
++      "integrity": "sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==",
++      "requires": {
++        "path-platform": "~0.11.15"
++      }
++    },
++    "parse-asn1": {
++      "version": "5.1.6",
++      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
++      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
++      "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-author": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz",
++      "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==",
++      "requires": {
++        "author-regex": "^1.0.0"
++      }
++    },
++    "parse-json": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
++      "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==",
++      "requires": {
++        "error-ex": "^1.2.0"
++      }
++    },
++    "parse-srcset": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
++      "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q=="
++    },
++    "path-browserify": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
++      "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
++    },
++    "path-exists": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
++      "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="
++    },
++    "path-is-absolute": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
++      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
++    },
++    "path-key": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
++      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
++    },
++    "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=="
++    },
++    "path-platform": {
++      "version": "0.11.15",
++      "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
++      "integrity": "sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg=="
++    },
++    "path-type": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
++      "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==",
++      "requires": {
++        "pify": "^2.0.0"
++      },
++      "dependencies": {
++        "pify": {
++          "version": "2.3.0",
++          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
++          "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
++        }
++      }
++    },
++    "pbkdf2": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
++      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
++      "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"
++      }
++    },
++    "pend": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
++      "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
++    },
++    "performance-now": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
++      "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
++    },
++    "picocolors": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
++      "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
++    },
++    "picomatch": {
++      "version": "2.3.1",
++      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
++      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
++    },
++    "pify": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
++      "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
++      "optional": true
++    },
++    "plist": {
++      "version": "3.0.6",
++      "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz",
++      "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==",
++      "requires": {
++        "base64-js": "^1.5.1",
++        "xmlbuilder": "^15.1.1"
++      }
++    },
++    "postcss": {
++      "version": "7.0.39",
++      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
++      "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
++      "requires": {
++        "picocolors": "^0.2.1",
++        "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=="
++        }
++      }
++    },
++    "prebuild-install": {
++      "version": "7.1.1",
++      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
++      "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
++      "optional": true,
++      "requires": {
++        "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": "^3.3.0",
++        "pump": "^3.0.0",
++        "rc": "^1.2.7",
++        "simple-get": "^4.0.0",
++        "tar-fs": "^2.0.0",
++        "tunnel-agent": "^0.6.0"
++      }
++    },
++    "prelude-ls": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
++      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
++    },
++    "prepend-http": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
++      "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA=="
++    },
++    "pretty-hrtime": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
++      "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A=="
++    },
++    "process": {
++      "version": "0.11.10",
++      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
++      "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="
++    },
++    "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=="
++    },
++    "progress": {
++      "version": "2.0.3",
++      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
++      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
++    },
++    "promise-inflight": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
++      "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g=="
++    },
++    "promise-retry": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
++      "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
++      "requires": {
++        "err-code": "^2.0.2",
++        "retry": "^0.12.0"
++      }
++    },
++    "proto-list": {
++      "version": "1.2.4",
++      "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
++      "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
++      "optional": true
++    },
++    "psl": {
++      "version": "1.9.0",
++      "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
++      "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
++    },
++    "pstree.remy": {
++      "version": "1.1.8",
++      "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
++      "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
++    },
++    "public-encrypt": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
++      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
++      "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=="
++        }
++      }
++    },
++    "pump": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
++      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
++      "requires": {
++        "end-of-stream": "^1.1.0",
++        "once": "^1.3.1"
++      }
++    },
++    "punycode": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
++      "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
++    },
++    "pupa": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
++      "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
++      "requires": {
++        "escape-goat": "^2.0.0"
++      }
++    },
++    "python-shell": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/python-shell/-/python-shell-3.0.1.tgz",
++      "integrity": "sha512-TWeotuxe1auhXa5bGRScxnc2J+0r41NBntSa6RYZtMBLtAEsvCboKrEbW6DvASosWQepVkhZZlT3B5Ei766G+Q=="
++    },
++    "qs": {
++      "version": "6.5.3",
++      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
++      "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
++    },
++    "querystring": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
++      "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g=="
++    },
++    "querystring-es3": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
++      "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA=="
++    },
++    "queue-tick": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
++      "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="
++    },
++    "quick-lru": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
++      "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g=="
++    },
++    "randombytes": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
++      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
++      "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==",
++      "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=="
++    },
++    "rc": {
++      "version": "1.2.8",
++      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
++      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
++      "requires": {
++        "deep-extend": "^0.6.0",
++        "ini": "~1.3.0",
++        "minimist": "^1.2.0",
++        "strip-json-comments": "~2.0.1"
++      },
++      "dependencies": {
++        "strip-json-comments": {
++          "version": "2.0.1",
++          "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
++          "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="
++        }
++      }
++    },
++    "rcedit": {
++      "version": "2.3.0",
++      "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.3.0.tgz",
++      "integrity": "sha512-h1gNEl9Oai1oijwyJ1WYqYSXTStHnOcv1KYljg/8WM4NAg3H1KBK3azIaKkQ1WQl+d7PoJpcBMscPfLXVKgCLQ=="
++    },
++    "read-only-stream": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
++      "integrity": "sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==",
++      "requires": {
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "read-pkg": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
++      "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==",
++      "requires": {
++        "load-json-file": "^2.0.0",
++        "normalize-package-data": "^2.3.2",
++        "path-type": "^2.0.0"
++      },
++      "dependencies": {
++        "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=="
++        },
++        "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==",
++          "requires": {
++            "hosted-git-info": "^2.1.4",
++            "resolve": "^1.10.0",
++            "semver": "2 || 3 || 4 || 5",
++            "validate-npm-package-license": "^3.0.1"
++          }
++        },
++        "semver": {
++          "version": "5.7.1",
++          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
++          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
++        }
++      }
++    },
++    "read-pkg-up": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
++      "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==",
++      "requires": {
++        "find-up": "^2.0.0",
++        "read-pkg": "^2.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==",
++      "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": {
++        "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=="
++        },
++        "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==",
++          "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"
++      }
++    },
++    "redent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
++      "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
++      "requires": {
++        "indent-string": "^4.0.0",
++        "strip-indent": "^3.0.0"
++      }
++    },
++    "regenerate": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
++      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
++    },
++    "regenerate-unicode-properties": {
++      "version": "10.1.0",
++      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
++      "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
++      "requires": {
++        "regenerate": "^1.4.2"
++      }
++    },
++    "regenerator-runtime": {
++      "version": "0.13.10",
++      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
++      "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw=="
++    },
++    "regenerator-transform": {
++      "version": "0.15.0",
++      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
++      "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
++      "requires": {
++        "@babel/runtime": "^7.8.4"
++      }
++    },
++    "regexp.prototype.flags": {
++      "version": "1.4.3",
++      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz",
++      "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==",
++      "requires": {
++        "call-bind": "^1.0.2",
++        "define-properties": "^1.1.3",
++        "functions-have-names": "^1.2.2"
++      }
++    },
++    "regexpp": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
++      "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg=="
++    },
++    "regexpu-core": {
++      "version": "5.2.1",
++      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz",
++      "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==",
++      "requires": {
++        "regenerate": "^1.4.2",
++        "regenerate-unicode-properties": "^10.1.0",
++        "regjsgen": "^0.7.1",
++        "regjsparser": "^0.9.1",
++        "unicode-match-property-ecmascript": "^2.0.0",
++        "unicode-match-property-value-ecmascript": "^2.0.0"
++      }
++    },
++    "registry-auth-token": {
++      "version": "4.2.2",
++      "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz",
++      "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==",
++      "requires": {
++        "rc": "1.2.8"
++      }
++    },
++    "registry-url": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
++      "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
++      "requires": {
++        "rc": "^1.2.8"
++      }
++    },
++    "regjsgen": {
++      "version": "0.7.1",
++      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
++      "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA=="
++    },
++    "regjsparser": {
++      "version": "0.9.1",
++      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
++      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
++      "requires": {
++        "jsesc": "~0.5.0"
++      },
++      "dependencies": {
++        "jsesc": {
++          "version": "0.5.0",
++          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
++          "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA=="
++        }
++      }
++    },
++    "replacestream": {
++      "version": "4.0.3",
++      "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz",
++      "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==",
++      "requires": {
++        "escape-string-regexp": "^1.0.3",
++        "object-assign": "^4.0.1",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "request": {
++      "version": "2.88.2",
++      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
++      "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
++      "requires": {
++        "aws-sign2": "~0.7.0",
++        "aws4": "^1.8.0",
++        "caseless": "~0.12.0",
++        "combined-stream": "~1.0.6",
++        "extend": "~3.0.2",
++        "forever-agent": "~0.6.1",
++        "form-data": "~2.3.2",
++        "har-validator": "~5.1.3",
++        "http-signature": "~1.2.0",
++        "is-typedarray": "~1.0.0",
++        "isstream": "~0.1.2",
++        "json-stringify-safe": "~5.0.1",
++        "mime-types": "~2.1.19",
++        "oauth-sign": "~0.9.0",
++        "performance-now": "^2.1.0",
++        "qs": "~6.5.2",
++        "safe-buffer": "^5.1.2",
++        "tough-cookie": "~2.5.0",
++        "tunnel-agent": "^0.6.0",
++        "uuid": "^3.3.2"
++      },
++      "dependencies": {
++        "uuid": {
++          "version": "3.4.0",
++          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
++          "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
++        }
++      }
++    },
++    "require-directory": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
++      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
++    },
++    "resolve": {
++      "version": "1.22.1",
++      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
++      "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
++      "requires": {
++        "is-core-module": "^2.9.0",
++        "path-parse": "^1.0.7",
++        "supports-preserve-symlinks-flag": "^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=="
++    },
++    "responselike": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
++      "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
++      "requires": {
++        "lowercase-keys": "^1.0.0"
++      }
++    },
++    "retry": {
++      "version": "0.12.0",
++      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
++      "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="
++    },
++    "rimraf": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
++      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
++      "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==",
++      "requires": {
++        "hash-base": "^3.0.0",
++        "inherits": "^2.0.1"
++      }
++    },
++    "roarr": {
++      "version": "2.15.4",
++      "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
++      "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
++      "optional": true,
++      "requires": {
++        "boolean": "^3.0.1",
++        "detect-node": "^2.0.4",
++        "globalthis": "^1.0.1",
++        "json-stringify-safe": "^5.0.1",
++        "semver-compare": "^1.0.0",
++        "sprintf-js": "^1.1.2"
++      }
++    },
++    "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=="
++    },
++    "safer-buffer": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
++      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
++    },
++    "sanitize-html": {
++      "version": "1.27.5",
++      "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.5.tgz",
++      "integrity": "sha512-M4M5iXDAUEcZKLXkmk90zSYWEtk5NH3JmojQxKxV371fnMh+x9t1rqdmXaGoyEHw3z/X/8vnFhKjGL5xFGOJ3A==",
++      "requires": {
++        "htmlparser2": "^4.1.0",
++        "lodash": "^4.17.15",
++        "parse-srcset": "^1.0.2",
++        "postcss": "^7.0.27"
++      }
++    },
++    "sass-graph": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.0.tgz",
++      "integrity": "sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ==",
++      "requires": {
++        "glob": "^7.0.0",
++        "lodash": "^4.17.11",
++        "scss-tokenizer": "^0.3.0",
++        "yargs": "^17.2.1"
++      }
++    },
++    "scope-css": {
++      "version": "1.2.1",
++      "resolved": "https://registry.npmjs.org/scope-css/-/scope-css-1.2.1.tgz",
++      "integrity": "sha512-UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q==",
++      "requires": {
++        "escaper": "^2.5.3",
++        "slugify": "^1.3.1",
++        "strip-css-comments": "^3.0.0"
++      }
++    },
++    "screenfull": {
++      "version": "5.2.0",
++      "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-5.2.0.tgz",
++      "integrity": "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA=="
++    },
++    "scss-tokenizer": {
++      "version": "0.3.0",
++      "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz",
++      "integrity": "sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ==",
++      "requires": {
++        "js-base64": "^2.4.3",
++        "source-map": "^0.7.1"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.7.4",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
++          "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="
++        }
++      }
++    },
++    "semver": {
++      "version": "7.3.7",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
++      "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
++      "requires": {
++        "lru-cache": "^6.0.0"
++      }
++    },
++    "semver-compare": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
++      "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
++      "optional": true
++    },
++    "semver-diff": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
++      "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
++      "requires": {
++        "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=="
++        }
++      }
++    },
++    "send": {
++      "version": "0.18.0",
++      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
++      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
++      "requires": {
++        "debug": "2.6.9",
++        "depd": "2.0.0",
++        "destroy": "1.2.0",
++        "encodeurl": "~1.0.2",
++        "escape-html": "~1.0.3",
++        "etag": "~1.8.1",
++        "fresh": "0.5.2",
++        "http-errors": "2.0.0",
++        "mime": "1.6.0",
++        "ms": "2.1.3",
++        "on-finished": "2.4.1",
++        "range-parser": "~1.2.1",
++        "statuses": "2.0.1"
++      },
++      "dependencies": {
++        "debug": {
++          "version": "2.6.9",
++          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
++          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
++          "requires": {
++            "ms": "2.0.0"
++          },
++          "dependencies": {
++            "ms": {
++              "version": "2.0.0",
++              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
++              "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
++            }
++          }
++        },
++        "depd": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
++          "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
++        },
++        "ms": {
++          "version": "2.1.3",
++          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
++          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
++        }
++      }
++    },
++    "serialize-error": {
++      "version": "7.0.1",
++      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
++      "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
++      "optional": true,
++      "requires": {
++        "type-fest": "^0.13.1"
++      },
++      "dependencies": {
++        "type-fest": {
++          "version": "0.13.1",
++          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
++          "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
++          "optional": true
++        }
++      }
++    },
++    "serialport": {
++      "version": "9.2.0",
++      "resolved": "https://registry.npmjs.org/serialport/-/serialport-9.2.0.tgz",
++      "integrity": "sha512-C6AQ4jD4mre3tn3QA+atn++mEZDh4r40CIeh1sKhskKE+Q4eiIr/nzVMOiPxHb8gskrSNxujH+Br49tl3i9s9g==",
++      "optional": true,
++      "requires": {
++        "@serialport/binding-mock": "9.0.7",
++        "@serialport/bindings": "^9.2.0",
++        "@serialport/parser-byte-length": "9.0.7",
++        "@serialport/parser-cctalk": "9.0.7",
++        "@serialport/parser-delimiter": "9.0.7",
++        "@serialport/parser-inter-byte-timeout": "9.0.7",
++        "@serialport/parser-readline": "9.0.7",
++        "@serialport/parser-ready": "9.0.7",
++        "@serialport/parser-regex": "9.0.7",
++        "@serialport/stream": "9.0.7",
++        "debug": "^4.3.1"
++      }
++    },
++    "set-blocking": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
++      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
++    },
++    "setprototypeof": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
++      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
++    },
++    "sha.js": {
++      "version": "2.4.11",
++      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
++      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "shasum-object": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz",
++      "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==",
++      "requires": {
++        "fast-safe-stringify": "^2.0.7"
++      }
++    },
++    "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==",
++      "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=="
++    },
++    "shell-quote": {
++      "version": "1.7.4",
++      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz",
++      "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw=="
++    },
++    "signal-exit": {
++      "version": "3.0.7",
++      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
++      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
++    },
++    "simple-concat": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
++      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
++    },
++    "simple-get": {
++      "version": "4.0.1",
++      "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
++      "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
++      "optional": true,
++      "requires": {
++        "decompress-response": "^6.0.0",
++        "once": "^1.3.1",
++        "simple-concat": "^1.0.0"
++      },
++      "dependencies": {
++        "decompress-response": {
++          "version": "6.0.0",
++          "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
++          "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
++          "optional": true,
++          "requires": {
++            "mimic-response": "^3.1.0"
++          }
++        },
++        "mimic-response": {
++          "version": "3.1.0",
++          "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
++          "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
++          "optional": true
++        }
++      }
++    },
++    "slip": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/slip/-/slip-1.0.2.tgz",
++      "integrity": "sha512-XrcHe3NAcyD3wO+O4I13RcS4/3AF+S9RvGNj9JhJeS02HyImwD2E3QWLrmn9hBfL+fB6yapagwxRkeyYzhk98g=="
++    },
++    "slugify": {
++      "version": "1.6.5",
++      "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz",
++      "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ=="
++    },
++    "smart-buffer": {
++      "version": "4.2.0",
++      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
++      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
++    },
++    "socks": {
++      "version": "2.7.1",
++      "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
++      "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
++      "requires": {
++        "ip": "^2.0.0",
++        "smart-buffer": "^4.2.0"
++      },
++      "dependencies": {
++        "ip": {
++          "version": "2.0.0",
++          "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
++          "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
++        }
++      }
++    },
++    "socks-proxy-agent": {
++      "version": "6.2.1",
++      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
++      "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
++      "requires": {
++        "agent-base": "^6.0.2",
++        "debug": "^4.3.3",
++        "socks": "^2.6.2"
++      }
++    },
++    "sortablejs": {
++      "version": "1.15.0",
++      "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz",
++      "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w=="
++    },
++    "source-map": {
++      "version": "0.5.7",
++      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
++      "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
++    },
++    "source-map-support": {
++      "version": "0.5.21",
++      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
++      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
++      "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=="
++        }
++      }
++    },
++    "sourcemap-codec": {
++      "version": "1.4.8",
++      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
++      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
++    },
++    "spdx-correct": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
++      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
++      "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=="
++    },
++    "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==",
++      "requires": {
++        "spdx-exceptions": "^2.1.0",
++        "spdx-license-ids": "^3.0.0"
++      }
++    },
++    "spdx-license-ids": {
++      "version": "3.0.12",
++      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
++      "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA=="
++    },
++    "sprintf-js": {
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
++      "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
++      "optional": true
++    },
++    "sshpk": {
++      "version": "1.17.0",
++      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
++      "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
++      "requires": {
++        "asn1": "~0.2.3",
++        "assert-plus": "^1.0.0",
++        "bcrypt-pbkdf": "^1.0.0",
++        "dashdash": "^1.12.0",
++        "ecc-jsbn": "~0.1.1",
++        "getpass": "^0.1.1",
++        "jsbn": "~0.1.0",
++        "safer-buffer": "^2.0.2",
++        "tweetnacl": "~0.14.0"
++      }
++    },
++    "ssri": {
++      "version": "8.0.1",
++      "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
++      "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
++      "requires": {
++        "minipass": "^3.1.1"
++      }
++    },
++    "stack-generator": {
++      "version": "2.0.10",
++      "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz",
++      "integrity": "sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==",
++      "requires": {
++        "stackframe": "^1.3.4"
++      }
++    },
++    "stackframe": {
++      "version": "1.3.4",
++      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
++      "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="
++    },
++    "stacktrace-gps": {
++      "version": "3.1.2",
++      "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.1.2.tgz",
++      "integrity": "sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==",
++      "requires": {
++        "source-map": "0.5.6",
++        "stackframe": "^1.3.4"
++      },
++      "dependencies": {
++        "source-map": {
++          "version": "0.5.6",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
++          "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA=="
++        }
++      }
++    },
++    "stacktrace-js": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz",
++      "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==",
++      "requires": {
++        "error-stack-parser": "^2.0.6",
++        "stack-generator": "^2.0.5",
++        "stacktrace-gps": "^3.0.4"
++      }
++    },
++    "statuses": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
++      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
++    },
++    "stdout-stream": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
++      "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
++      "requires": {
++        "readable-stream": "^2.0.1"
++      }
++    },
++    "stream-browserify": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
++      "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
++      "requires": {
++        "inherits": "~2.0.4",
++        "readable-stream": "^3.5.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==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "stream-combiner2": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
++      "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==",
++      "requires": {
++        "duplexer2": "~0.1.0",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "stream-http": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
++      "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
++      "requires": {
++        "builtin-status-codes": "^3.0.0",
++        "inherits": "^2.0.4",
++        "readable-stream": "^3.6.0",
++        "xtend": "^4.0.2"
++      },
++      "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==",
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "stream-splicer": {
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz",
++      "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
++      "requires": {
++        "inherits": "^2.0.1",
++        "readable-stream": "^2.0.2"
++      }
++    },
++    "strictdom": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/strictdom/-/strictdom-1.0.1.tgz",
++      "integrity": "sha512-cEmp9QeXXRmjj/rVp9oyiqcvyocWab/HaoN4+bwFeZ7QzykJD6L3yD4v12K1x0tHpqRqVpJevN3gW7kyM39Bqg=="
++    },
++    "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==",
++      "requires": {
++        "safe-buffer": "~5.2.0"
++      }
++    },
++    "string-width": {
++      "version": "4.2.3",
++      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
++      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
++      "requires": {
++        "emoji-regex": "^8.0.0",
++        "is-fullwidth-code-point": "^3.0.0",
++        "strip-ansi": "^6.0.1"
++      }
++    },
++    "strip-ansi": {
++      "version": "6.0.1",
++      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
++      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
++      "requires": {
++        "ansi-regex": "^5.0.1"
++      }
++    },
++    "strip-bom": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
++      "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
++    },
++    "strip-css-comments": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-css-comments/-/strip-css-comments-3.0.0.tgz",
++      "integrity": "sha512-xJwk2yMZ6j+0Clj7ETUfqQ6frsaCIqNGg3zjTVswIt3SbiOsCQgRI1E93hdt/JgGfh5De/sTwxrnrBhhWzMwcg==",
++      "requires": {
++        "is-regexp": "^1.0.0"
++      }
++    },
++    "strip-indent": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
++      "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
++      "requires": {
++        "min-indent": "^1.0.0"
++      }
++    },
++    "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=="
++    },
++    "strip-outer": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
++      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
++      "requires": {
++        "escape-string-regexp": "^1.0.2"
++      }
++    },
++    "subarg": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
++      "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==",
++      "requires": {
++        "minimist": "^1.1.0"
++      }
++    },
++    "sumchecker": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
++      "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==",
++      "requires": {
++        "debug": "^4.1.0"
++      }
++    },
++    "supports-color": {
++      "version": "5.5.0",
++      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
++      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
++      "requires": {
++        "has-flag": "^3.0.0"
++      }
++    },
++    "supports-preserve-symlinks-flag": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
++      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
++    },
++    "syntax-error": {
++      "version": "1.4.0",
++      "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
++      "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
++      "requires": {
++        "acorn-node": "^1.2.0"
++      }
++    },
++    "tar": {
++      "version": "6.1.12",
++      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz",
++      "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==",
++      "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=="
++        }
++      }
++    },
++    "tar-fs": {
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
++      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
++      "optional": true,
++      "requires": {
++        "chownr": "^1.1.1",
++        "mkdirp-classic": "^0.5.2",
++        "pump": "^3.0.0",
++        "tar-stream": "^2.1.4"
++      },
++      "dependencies": {
++        "chownr": {
++          "version": "1.1.4",
++          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
++          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
++          "optional": true
++        }
++      }
++    },
++    "tar-stream": {
++      "version": "2.2.0",
++      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
++      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
++      "optional": true,
++      "requires": {
++        "bl": "^4.0.3",
++        "end-of-stream": "^1.4.1",
++        "fs-constants": "^1.0.0",
++        "inherits": "^2.0.3",
++        "readable-stream": "^3.1.1"
++      },
++      "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==",
++          "optional": true,
++          "requires": {
++            "inherits": "^2.0.3",
++            "string_decoder": "^1.1.1",
++            "util-deprecate": "^1.0.1"
++          }
++        }
++      }
++    },
++    "terser": {
++      "version": "3.17.0",
++      "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
++      "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
++      "requires": {
++        "commander": "^2.19.0",
++        "source-map": "~0.6.1",
++        "source-map-support": "~0.5.10"
++      },
++      "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=="
++        },
++        "source-map": {
++          "version": "0.6.1",
++          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
++          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
++        }
++      }
++    },
++    "text-table": {
++      "version": "0.2.0",
++      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
++      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
++    },
++    "through": {
++      "version": "2.3.8",
++      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
++      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
++    },
++    "through2": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
++      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
++      "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=="
++    },
++    "timers-browserify": {
++      "version": "1.4.2",
++      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
++      "integrity": "sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==",
++      "requires": {
++        "process": "~0.11.0"
++      }
++    },
++    "to-fast-properties": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
++      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
++    },
++    "to-readable-stream": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
++      "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q=="
++    },
++    "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"
++      }
++    },
++    "toidentifier": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
++      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
++    },
++    "touch": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
++      "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
++      "requires": {
++        "nopt": "~1.0.10"
++      },
++      "dependencies": {
++        "nopt": {
++          "version": "1.0.10",
++          "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
++          "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
++          "requires": {
++            "abbrev": "1"
++          }
++        }
++      }
++    },
++    "tough-cookie": {
++      "version": "2.5.0",
++      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
++      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
++      "requires": {
++        "psl": "^1.1.28",
++        "punycode": "^2.1.1"
++      },
++      "dependencies": {
++        "punycode": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
++          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
++        }
++      }
++    },
++    "transform-ast": {
++      "version": "2.4.4",
++      "resolved": "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz",
++      "integrity": "sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==",
++      "requires": {
++        "acorn-node": "^1.3.0",
++        "convert-source-map": "^1.5.1",
++        "dash-ast": "^1.0.0",
++        "is-buffer": "^2.0.0",
++        "magic-string": "^0.23.2",
++        "merge-source-map": "1.0.4",
++        "nanobench": "^2.1.1"
++      },
++      "dependencies": {
++        "is-buffer": {
++          "version": "2.0.5",
++          "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
++          "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
++        }
++      }
++    },
++    "trim-newlines": {
++      "version": "3.0.1",
++      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
++      "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw=="
++    },
++    "trim-repeated": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
++      "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==",
++      "requires": {
++        "escape-string-regexp": "^1.0.2"
++      }
++    },
++    "true-case-path": {
++      "version": "1.0.3",
++      "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
++      "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
++      "requires": {
++        "glob": "^7.1.2"
++      }
++    },
++    "tty-browserify": {
++      "version": "0.0.1",
++      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
++      "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="
++    },
++    "tunnel": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
++      "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
++      "optional": true
++    },
++    "tunnel-agent": {
++      "version": "0.6.0",
++      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
++      "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
++      "requires": {
++        "safe-buffer": "^5.0.1"
++      }
++    },
++    "tweetnacl": {
++      "version": "0.14.5",
++      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
++      "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
++    },
++    "type-check": {
++      "version": "0.4.0",
++      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
++      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
++      "requires": {
++        "prelude-ls": "^1.2.1"
++      }
++    },
++    "type-fest": {
++      "version": "0.18.1",
++      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
++      "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw=="
++    },
++    "type-name": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz",
++      "integrity": "sha512-kkgkuqR/jKdKO5oh/I2SMu2dGbLXoJq0zkdgbxaqYK+hr9S9edwVVGf+tMUFTx2gH9TN2+Zu9JZ/Njonb3cjhA=="
++    },
++    "typedarray": {
++      "version": "0.0.6",
++      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
++      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
++    },
++    "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==",
++      "requires": {
++        "is-typedarray": "^1.0.0"
++      }
++    },
++    "uglifyify": {
++      "version": "5.0.2",
++      "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz",
++      "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==",
++      "requires": {
++        "convert-source-map": "~1.1.0",
++        "minimatch": "^3.0.2",
++        "terser": "^3.7.5",
++        "through": "~2.3.4",
++        "xtend": "^4.0.1"
++      },
++      "dependencies": {
++        "balanced-match": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
++          "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
++        },
++        "brace-expansion": {
++          "version": "1.1.11",
++          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
++          "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
++          "requires": {
++            "balanced-match": "^1.0.0",
++            "concat-map": "0.0.1"
++          }
++        },
++        "convert-source-map": {
++          "version": "1.1.3",
++          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
++          "integrity": "sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg=="
++        },
++        "minimatch": {
++          "version": "3.1.2",
++          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
++          "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
++          "requires": {
++            "brace-expansion": "^1.1.7"
++          }
++        }
++      }
++    },
++    "umd": {
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
++      "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow=="
++    },
++    "undeclared-identifiers": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz",
++      "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
++      "requires": {
++        "acorn-node": "^1.3.0",
++        "dash-ast": "^1.0.0",
++        "get-assigned-identifiers": "^1.2.0",
++        "simple-concat": "^1.0.0",
++        "xtend": "^4.0.1"
++      }
++    },
++    "undefsafe": {
++      "version": "2.0.5",
++      "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
++      "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
++    },
++    "unicode-canonical-property-names-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ=="
++    },
++    "unicode-match-property-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
++      "requires": {
++        "unicode-canonical-property-names-ecmascript": "^2.0.0",
++        "unicode-property-aliases-ecmascript": "^2.0.0"
++      }
++    },
++    "unicode-match-property-value-ecmascript": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
++      "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw=="
++    },
++    "unicode-property-aliases-ecmascript": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
++      "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w=="
++    },
++    "unique-filename": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
++      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
++      "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==",
++      "requires": {
++        "imurmurhash": "^0.1.4"
++      }
++    },
++    "unique-string": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
++      "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
++      "requires": {
++        "crypto-random-string": "^2.0.0"
++      }
++    },
++    "universalify": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
++      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
++    },
++    "unix-crypt-td-js": {
++      "version": "1.1.4",
++      "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz",
++      "integrity": "sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw=="
++    },
++    "update-browserslist-db": {
++      "version": "1.0.10",
++      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
++      "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
++      "requires": {
++        "escalade": "^3.1.1",
++        "picocolors": "^1.0.0"
++      },
++      "dependencies": {
++        "picocolors": {
++          "version": "1.0.0",
++          "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
++          "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
++        }
++      }
++    },
++    "update-notifier": {
++      "version": "5.1.0",
++      "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
++      "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
++      "requires": {
++        "boxen": "^5.0.0",
++        "chalk": "^4.1.0",
++        "configstore": "^5.0.1",
++        "has-yarn": "^2.1.0",
++        "import-lazy": "^2.1.0",
++        "is-ci": "^2.0.0",
++        "is-installed-globally": "^0.4.0",
++        "is-npm": "^5.0.0",
++        "is-yarn-global": "^0.3.0",
++        "latest-version": "^5.1.0",
++        "pupa": "^2.1.1",
++        "semver": "^7.3.4",
++        "semver-diff": "^3.1.1",
++        "xdg-basedir": "^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==",
++          "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==",
++          "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==",
++          "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=="
++        },
++        "has-flag": {
++          "version": "4.0.0",
++          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
++          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
++        },
++        "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==",
++          "requires": {
++            "has-flag": "^4.0.0"
++          }
++        }
++      }
++    },
++    "upper-case": {
++      "version": "1.1.3",
++      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
++      "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA=="
++    },
++    "uri-js": {
++      "version": "4.4.1",
++      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
++      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
++      "requires": {
++        "punycode": "^2.1.0"
++      },
++      "dependencies": {
++        "punycode": {
++          "version": "2.1.1",
++          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
++          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
++        }
++      }
++    },
++    "url": {
++      "version": "0.11.0",
++      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
++      "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
++      "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": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
++        }
++      }
++    },
++    "url-parse-lax": {
++      "version": "3.0.0",
++      "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
++      "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
++      "requires": {
++        "prepend-http": "^2.0.0"
++      }
++    },
++    "util": {
++      "version": "0.12.5",
++      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
++      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
++      "requires": {
++        "inherits": "^2.0.3",
++        "is-arguments": "^1.0.4",
++        "is-generator-function": "^1.0.7",
++        "is-typed-array": "^1.1.3",
++        "which-typed-array": "^1.1.2"
++      }
++    },
++    "util-deprecate": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
++      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
++    },
++    "uuid": {
++      "version": "8.3.2",
++      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
++      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
++    },
++    "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=="
++    },
++    "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==",
++      "requires": {
++        "spdx-correct": "^3.0.0",
++        "spdx-expression-parse": "^3.0.0"
++      }
++    },
++    "verror": {
++      "version": "1.10.0",
++      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
++      "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
++      "requires": {
++        "assert-plus": "^1.0.0",
++        "core-util-is": "1.0.2",
++        "extsprintf": "^1.2.0"
++      },
++      "dependencies": {
++        "core-util-is": {
++          "version": "1.0.2",
++          "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
++          "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
++        }
++      }
++    },
++    "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=="
++    },
++    "watchify": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz",
++      "integrity": "sha512-2Z04dxwoOeNxa11qzWumBTgSAohTC0+ScuY7XMenPnH+W2lhTcpEOJP4g2EIG/SWeLadPk47x++Yh+8BqPM/lA==",
++      "dev": true,
++      "requires": {
++        "anymatch": "^3.1.0",
++        "browserify": "^17.0.0",
++        "chokidar": "^3.4.0",
++        "defined": "^1.0.0",
++        "outpipe": "^1.1.0",
++        "through2": "^4.0.2",
++        "xtend": "^4.0.2"
++      },
++      "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"
++          }
++        },
++        "through2": {
++          "version": "4.0.2",
++          "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
++          "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
++          "dev": true,
++          "requires": {
++            "readable-stream": "3"
++          }
++        }
++      }
++    },
++    "webworkify": {
++      "version": "1.5.0",
++      "resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
++      "integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
++    },
++    "which": {
++      "version": "2.0.2",
++      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
++      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
++      "requires": {
++        "isexe": "^2.0.0"
++      }
++    },
++    "which-typed-array": {
++      "version": "1.1.9",
++      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
++      "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
++      "requires": {
++        "available-typed-arrays": "^1.0.5",
++        "call-bind": "^1.0.2",
++        "for-each": "^0.3.3",
++        "gopd": "^1.0.1",
++        "has-tostringtag": "^1.0.0",
++        "is-typed-array": "^1.1.10"
++      }
++    },
++    "wide-align": {
++      "version": "1.1.5",
++      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
++      "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
++      "requires": {
++        "string-width": "^1.0.2 || 2 || 3 || 4"
++      }
++    },
++    "widest-line": {
++      "version": "3.1.0",
++      "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
++      "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
++      "requires": {
++        "string-width": "^4.0.0"
++      }
++    },
++    "wolfy87-eventemitter": {
++      "version": "5.2.9",
++      "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.9.tgz",
++      "integrity": "sha512-P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw=="
++    },
++    "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=="
++    },
++    "wrap-ansi": {
++      "version": "7.0.0",
++      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
++      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
++      "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==",
++          "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==",
++          "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=="
++        }
++      }
++    },
++    "wrappy": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
++      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
++    },
++    "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==",
++      "requires": {
++        "imurmurhash": "^0.1.4",
++        "is-typedarray": "^1.0.0",
++        "signal-exit": "^3.0.2",
++        "typedarray-to-buffer": "^3.1.5"
++      }
++    },
++    "ws": {
++      "version": "8.6.0",
++      "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
++      "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw=="
++    },
++    "xdg-basedir": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
++      "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="
++    },
++    "xmlbuilder": {
++      "version": "15.1.1",
++      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
++      "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg=="
++    },
++    "xtend": {
++      "version": "4.0.2",
++      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
++      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
++    },
++    "y18n": {
++      "version": "5.0.8",
++      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
++      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
++    },
++    "yallist": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
++      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
++    },
++    "yargs": {
++      "version": "17.5.1",
++      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
++      "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
++      "requires": {
++        "cliui": "^7.0.2",
++        "escalade": "^3.1.1",
++        "get-caller-file": "^2.0.5",
++        "require-directory": "^2.1.1",
++        "string-width": "^4.2.3",
++        "y18n": "^5.0.5",
++        "yargs-parser": "^21.0.0"
++      },
++      "dependencies": {
++        "yargs-parser": {
++          "version": "21.1.1",
++          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
++          "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
++        }
++      }
++    },
++    "yargs-parser": {
++      "version": "20.2.9",
++      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
++      "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="
++    },
++    "yauzl": {
++      "version": "2.10.0",
++      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
++      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
++      "requires": {
++        "buffer-crc32": "~0.2.3",
++        "fd-slicer": "~1.1.0"
++      }
++    }
++  }
++}
diff --git a/pkgs/applications/audio/open-stage-control/update.sh b/pkgs/applications/audio/open-stage-control/update.sh
index a8cd0e04fa685..58b0441438ebe 100755
--- a/pkgs/applications/audio/open-stage-control/update.sh
+++ b/pkgs/applications/audio/open-stage-control/update.sh
@@ -1,25 +1,63 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i bash -p common-updater-scripts jq nodePackages.node2nix
+#! nix-shell -i bash -p common-updater-scripts jq nodejs
 set -euo pipefail
 
 # Find nixpkgs repo
 nixpkgs="$(git rev-parse --show-toplevel || (printf 'Could not find root of nixpkgs repo\nAre we running from within the nixpkgs git repo?\n' >&2; exit 1))"
 
-# Get latest release tag
-tag="$(curl -s https://api.github.com/repos/jean-emmanuel/open-stage-control/releases/latest | jq -r .tag_name)"
+stripwhitespace() {
+    sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
+}
+
+nixeval() {
+    nix --extra-experimental-features nix-command eval --json --impure -f "$nixpkgs" "$1" | jq -r .
+}
+
+vendorhash() {
+    (nix --extra-experimental-features nix-command build --impure -f "$nixpkgs" --no-link "$1" 2>&1 >/dev/null | tail -n3 | grep -F got: | cut -d: -f2- | stripwhitespace) 2>/dev/null || true
+}
+
+findpath() {
+    path="$(nix --extra-experimental-features nix-command eval --json --impure -f "$nixpkgs" "$1.meta.position" | jq -r . | cut -d: -f1)"
+    outpath="$(nix --extra-experimental-features nix-command eval --json --impure --expr "builtins.fetchGit \"$nixpkgs\"")"
+
+    if [ -n "$outpath" ]; then
+        path="${path/$(echo "$outpath" | jq -r .)/$nixpkgs}"
+    fi
+
+    echo "$path"
+}
+
+attr="${UPDATE_NIX_ATTR_PATH:-open-stage-control}"
+version="$(cd "$nixpkgs" && list-git-tags --pname="$(nixeval "$attr".pname)" --attr-path="$attr" | grep '^v' | sed -e 's|^v||' | sort -V | tail -n1)"
+
+pkgpath="$(findpath "$attr")"
+pkgdir="$(dirname "$pkgpath")"
+
+updated="$(cd "$nixpkgs" && update-source-version "$attr" "$version" --file="$pkgpath" --print-changes | jq -r length)"
+
+if [ "$updated" -eq 0 ]; then
+    echo 'update.sh: Package version not updated, nothing to do.'
+    exit 0
+fi
 
 # Download package.json from the latest release
-curl -sSL https://raw.githubusercontent.com/jean-emmanuel/open-stage-control/"$tag"/package.json | grep -v '"electron"\|"electron-installer-debian"' >"$nixpkgs"/pkgs/applications/audio/open-stage-control/package.json
+curl -sSL https://raw.githubusercontent.com/jean-emmanuel/open-stage-control/v"$version"/package.json | grep -v '"electron"\|"electron-installer-debian"' >"$pkgdir"/package.json
+
+# Lock dependencies with npm
+(cd "$pkgdir" && npm install --package-lock-only --ignore-scripts --legacy-peer-deps)
+
+# Turn lock file into patch file
+(cd "$pkgdir" && (diff -u /dev/null ./package-lock.json || [ $? -eq 1 ])) >"$pkgdir"/package-lock.json.patch
 
-# Lock dependencies with node2nix
-node2nix \
-  --node-env "$nixpkgs"/pkgs/development/node-packages/node-env.nix \
-  --nodejs-16 \
-  --input "$nixpkgs"/pkgs/applications/audio/open-stage-control/package.json \
-  --output "$nixpkgs"/pkgs/applications/audio/open-stage-control/node-packages.nix \
-  --composition "$nixpkgs"/pkgs/applications/audio/open-stage-control/node-composition.nix
+rm -f "$pkgdir"/{package.json,package-lock.json}
 
-rm -f "$nixpkgs"/pkgs/applications/audio/open-stage-control/package.json
+# Update FOD hash
+curhash="$(nixeval "$attr.npmDeps.outputHash")"
+newhash="$(vendorhash "$attr.npmDeps")"
 
-# Update hash
-(cd "$nixpkgs" && update-source-version "${UPDATE_NIX_ATTR_PATH:-open-stage-control}" "${tag#v}")
+if [ -n "$newhash" ] && [ "$curhash" != "$newhash" ]; then
+    sed -i -e "s|\"$curhash\"|\"$newhash\"|" "$pkgpath"
+else
+    echo 'update.sh: New npmDepsHash same as old npmDepsHash, nothing to do.'
+fi
diff --git a/pkgs/applications/audio/pocket-casts/default.nix b/pkgs/applications/audio/pocket-casts/default.nix
index 7b7bf50a2f83f..528cc18cbe46c 100644
--- a/pkgs/applications/audio/pocket-casts/default.nix
+++ b/pkgs/applications/audio/pocket-casts/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pocket-casts";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "https://github.com/felicianotech/pocket-casts-desktop-app/releases/download/v${version}/${pname}_${version}_amd64.deb";
-    sha256 = "sha256-frBtIxwRO/6k6j0itqN10t+9AyNadqXm8vC1YP960ts=";
+    sha256 = "sha256-nHdF9RDOkM9HwwmK/axiIPM4nmKrWp/FHNC/EI1vTTc=";
   };
 
   nativeBuildInputs = [
@@ -18,31 +18,32 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ alsa-lib gtk3 libXScrnSaver libXtst mesa nss ];
 
-  dontBuild = true;
-  dontConfigure = true;
-
-  unpackPhase = ''
-    dpkg-deb -x ${src} ./
+  unpackCmd = ''
+    # If unpacking using -x option, there is a permission error
+    dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner;
   '';
 
   installPhase = ''
     runHook preInstall
 
-    mv usr $out
-    mv opt $out
-    mv "$out/opt/Pocket Casts" $out/opt/pocket-casts
-    mv $out/share/icons/hicolor/0x0 $out/share/icons/hicolor/256x256
+    mkdir -p $out
+    mv bin $out
+    mv lib $out
+    mv share $out
+
+    cp $out/lib/pocket-casts/resources/app/icon.png $out/share/pixmaps/pocket-casts.png
 
     runHook postInstall
   '';
 
   postFixup = ''
     substituteInPlace $out/share/applications/pocket-casts.desktop \
-      --replace '"/opt/Pocket Casts/pocket-casts"' $out/bin/pocket-casts \
-      --replace '/usr/share/icons/hicolor/0x0/apps/pocket-casts.png' "pocket-casts"
+      --replace Name=pocket-casts "Name=Pocket Casts" \
+      --replace GenericName=pocket-casts "GenericName=Podcasts App" \
+      --replace Exec=pocket-casts Exec=$out/bin/pocket-casts
     makeWrapper ${electron}/bin/electron \
       $out/bin/pocket-casts \
-      --add-flags $out/opt/pocket-casts/resources/app.asar
+      --add-flags $out/lib/pocket-casts/resources/app/main.js
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/polyphone/default.nix b/pkgs/applications/audio/polyphone/default.nix
index 5e7c3f2b85ce7..568f3b6ba151b 100644
--- a/pkgs/applications/audio/polyphone/default.nix
+++ b/pkgs/applications/audio/polyphone/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, mkDerivation, fetchFromGitHub, qmake, pkg-config, alsa-lib, libjack2, portaudio, libogg, flac, libvorbis, rtmidi, qtsvg }:
+{ stdenv, lib, mkDerivation, fetchFromGitHub, qmake, pkg-config, alsa-lib, libjack2, portaudio, libogg, flac, libvorbis, rtmidi, qtsvg, qttools }:
 
 mkDerivation rec {
-  version = "2.2.0";
+  version = "2.3.0";
   pname = "polyphone";
 
   src = fetchFromGitHub {
     owner = "davy7125";
     repo = "polyphone";
     rev = version;
-    sha256 = "0w5pidzhpwpggjn5la384fvjzkvprvrnidb06068whci11kgpbp7";
+    sha256 = "09habv51pw71wrb39shqi80i2w39dx5a39klzswsald5j9sia0ir";
   };
 
   buildInputs = [
@@ -22,7 +22,7 @@ mkDerivation rec {
     qtsvg
   ];
 
-  nativeBuildInputs = [ qmake pkg-config ];
+  nativeBuildInputs = [ qmake qttools pkg-config ];
 
   preConfigure = ''
     cd ./sources/
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index d05a12ec30af3..5dd17a74f491b 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "praat";
-  version = "6.2.23";
+  version = "6.3";
 
   src = fetchFromGitHub {
     owner = "praat";
     repo = "praat";
     rev = "v${version}";
-    sha256 = "sha256-gl+kT8wXLCWnNmOBx6Vg+FbmJ8kJ8pJKsahpqcYw9Lk=";
+    sha256 = "sha256-/XSBUM6HkANATl1Y9vs8mQFgBTyVeCv8TxcaIdP/Nm8=";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/audio/psst/default.nix b/pkgs/applications/audio/psst/default.nix
index a3d05f97e45e2..9e7795401aa3e 100644
--- a/pkgs/applications/audio/psst/default.nix
+++ b/pkgs/applications/audio/psst/default.nix
@@ -11,19 +11,20 @@ let
     icon = "psst";
     terminal = false;
   };
+
 in
 rustPlatform.buildRustPackage rec {
   pname = "psst";
-  version = "unstable-2022-05-19";
+  version = "unstable-2022-10-13";
 
   src = fetchFromGitHub {
     owner = "jpochyla";
     repo = pname;
-    rev = "e403609e0916fe664fb1f28c7a259d01fa69b0e9";
-    sha256 = "sha256-hpAP/m9aJsfh9FtwLqaKFZllnCQn9OSYLWuNZakZJnk=";
+    rev = "d70ed8104533dc15bc36b989ba8428872c9b578f";
+    hash = "sha256-ZKhHN0ruLb6ZVKkrKv/YawRsVop6SP1QF/nrtkmA8P8=";
   };
 
-  cargoSha256 = "sha256-gQ0iI2wTS5n5pItmQCmFXDs5L8nA2w5ZrZyZtpMlUro=";
+  cargoSha256 = "sha256-TDxoRWQAzrgPElEEDNYkk3XX2i+LnNLMuY/J3pb3Xlk=";
   # specify the subdirectory of the binary crate to build from the workspace
   buildAndTestSubdir = "psst-gui";
 
@@ -41,10 +42,8 @@ rustPlatform.buildRustPackage rec {
   ];
 
   postInstall = ''
-    mkdir -pv $out/share/icons/hicolor/512x512/apps
     install -Dm444 psst-gui/assets/logo_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
-    mkdir -pv $out/share/applications
-    ln -s ${desktopItem}/share/applications/* $out/share/applications
+    install -Dm444 -t $out/share/applications ${desktopItem}/share/applications/*
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/ptcollab/default.nix b/pkgs/applications/audio/ptcollab/default.nix
index 54d3fec5cabb7..842b8f0aa0702 100644
--- a/pkgs/applications/audio/ptcollab/default.nix
+++ b/pkgs/applications/audio/ptcollab/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "ptcollab";
-  version = "0.6.4.1";
+  version = "0.6.4.5";
 
   src = fetchFromGitHub {
     owner = "yuxshao";
     repo = "ptcollab";
     rev = "v${version}";
-    sha256 = "sha256-/Z0UDxZtVnGKVmscNCZAvTGMALq/uMd7/h3r/QvUs0M=";
+    sha256 = "sha256-O7CNPMS0eRcqt2xAtyEFyLSV8U2xbxuV1DpBxZAFwQs=";
   };
 
   nativeBuildInputs = [ qmake pkg-config ];
diff --git a/pkgs/applications/audio/radioboat/default.nix b/pkgs/applications/audio/radioboat/default.nix
index e121527152070..bd73237f79f62 100644
--- a/pkgs/applications/audio/radioboat/default.nix
+++ b/pkgs/applications/audio/radioboat/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "radioboat";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "slashformotion";
     repo = "radioboat";
     rev = "v${version}";
-    sha256 = "sha256-e6SZv5gb7NOpCU3blFsH7A6ETWL8QlxtpDmmk8DKn8I=";
+    sha256 = "sha256-nY8h09SDTQPKLAHgWr3q8yRGtw3bIWvAFVu05rqXPcg=";
   };
 
-  vendorSha256 = "sha256-X3KiqaiOQYQBfVckh50C+4oxIVN6gXyNuQtBwGvjdFQ=";
+  vendorSha256 = "sha256-76Q77BXNe6NGxn6ocYuj58M4aPGCWTekKV5tOyxBv2U=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/audio/tagger/default.nix b/pkgs/applications/audio/tagger/default.nix
index 992934cd8ccd0..d7cfd5d75aaa3 100644
--- a/pkgs/applications/audio/tagger/default.nix
+++ b/pkgs/applications/audio/tagger/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tagger";
-  version = "2022.10.6";
+  version = "2022.11.1-f1";
 
   src = fetchFromGitHub {
     owner = "nlogozzo";
     repo = "NickvisionTagger";
     rev = version;
-    hash = "sha256-eo7H2pNtSChUAqjO0ocFjsGt4I0e8ZOHbZ/GoZgUva8=";
+    hash = "sha256-JeQTWs3TSs3Y+WGRR0bHINQr0OuS95dDxo+MkWte2Qw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix
index 3c54844863ffc..3d14ec40f2383 100644
--- a/pkgs/applications/blockchains/ergo/default.nix
+++ b/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "4.0.104";
+  version = "5.0.3";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "sha256-h6OVeDifYIKyIkwbN/pmJWge4/YGL6cnQQ/sI14LsHQ=";
+    sha256 = "sha256-IDAss4qX39qPyOsPpVg5zU6zq/QV/RTnbHTGVl9UmOA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/blockchains/nearcore/default.nix b/pkgs/applications/blockchains/nearcore/default.nix
index a5c475308b323..058888d965da2 100644
--- a/pkgs/applications/blockchains/nearcore/default.nix
+++ b/pkgs/applications/blockchains/nearcore/default.nix
@@ -4,7 +4,7 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "nearcore";
-  version = "1.29.0";
+  version = "1.29.1";
 
   # https://github.com/near/nearcore/tags
   src = fetchFromGitHub {
@@ -13,10 +13,10 @@ rustPlatform.buildRustPackage rec {
     # there is also a branch for this version number, so we need to be explicit
     rev = "refs/tags/${version}";
 
-    sha256 = "sha256-TOZ6j4CaiOXmNn8kgVGP27SjvLDlGvabAA+PAEyFXIk=";
+    sha256 = "sha256-TmmGLrDpNOfadOIwmG7XRgI89XQjaqIavxCEE2plumc=";
   };
 
-  cargoSha256 = "sha256-LjBgsQynHIfrQP4Z7j1J8+PLqRZWGAOQ5dJaGOqabVk=";
+  cargoSha256 = "sha256-4suoHP6AXhXlt7+sHMX5RW/LGZrbMhNNmzYvFBcnMTs=";
   cargoPatches = [ ./0001-make-near-test-contracts-optional.patch ];
 
   postPatch = ''
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index 17eb1aedb866e..f2acd4be8518e 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -249,10 +249,10 @@
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "13.1.5";
+        version = "13.1.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-13.1.5.tar";
-          sha256 = "00g6js6089637w8alch4dvk140chjkyirsa8inh9ai6a6kkfvc3p";
+          url = "https://elpa.gnu.org/packages/auctex-13.1.6.tar";
+          sha256 = "0pdinnhkv7vqib01a6vxq1iixs7sw72r0sxzryv78c9hxn2k4552";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -414,10 +414,10 @@
       elpaBuild {
         pname = "boxy";
         ename = "boxy";
-        version = "1.1.1";
+        version = "1.1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/boxy-1.1.1.tar";
-          sha256 = "08jb5v93l3y9cx48qhpv20i7kdxvl5dinxj3z0pxkx0ckvml7cvd";
+          url = "https://elpa.gnu.org/packages/boxy-1.1.2.tar";
+          sha256 = "0gqfs8rwqb3clwqgvv9wibl2mfx0njkdcpwl662p4bwnapl4hsi9";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -429,10 +429,10 @@
       elpaBuild {
         pname = "boxy-headings";
         ename = "boxy-headings";
-        version = "2.1.3";
+        version = "2.1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/boxy-headings-2.1.3.tar";
-          sha256 = "09k5x123db19v2k49y8acyk5y3r0fxw0xz61qqqidrgrx8fs3mg9";
+          url = "https://elpa.gnu.org/packages/boxy-headings-2.1.4.tar";
+          sha256 = "101kiw10p0sd8j8px16zsw57my7h2f1anhnwj678z22hxhs8vla7";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -891,10 +891,10 @@
       elpaBuild {
         pname = "crdt";
         ename = "crdt";
-        version = "0.3.4";
+        version = "0.3.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/crdt-0.3.4.tar";
-          sha256 = "1wha43mrllnpc2i7p91dns8iwaxf60mp20h234c07m9jcjvcxrmc";
+          url = "https://elpa.gnu.org/packages/crdt-0.3.5.tar";
+          sha256 = "0pir9ap8lryrw12slgg4v30bzjphc37r6p0fw36larlh9wp8jj5z";
         };
         packageRequires = [];
         meta = {
@@ -2392,6 +2392,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    jarchive = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "jarchive";
+        ename = "jarchive";
+        version = "0.8.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/jarchive-0.8.0.tar";
+          sha256 = "0xfl0gbfqjgbkd28r56j35kc8y6x8nd2zi8xqzxmqvcyv9sd731l";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/jarchive.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     javaimp = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "javaimp";
@@ -3061,10 +3076,10 @@
       elpaBuild {
         pname = "nano-theme";
         ename = "nano-theme";
-        version = "0.3.3";
+        version = "0.3.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nano-theme-0.3.3.tar";
-          sha256 = "0agdvl85ljiawa06x02zj78crq1y1vg0sr7dqxcl36zx8vhzc08v";
+          url = "https://elpa.gnu.org/packages/nano-theme-0.3.4.tar";
+          sha256 = "1hfw6zxnzm4x55iqk1pg6nlp79c86np856bbdac4nv65ff4dkiqq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3350,10 +3365,10 @@
       elpaBuild {
         pname = "org-real";
         ename = "org-real";
-        version = "1.0.5";
+        version = "1.0.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-real-1.0.5.tar";
-          sha256 = "0g70bzhr094fah86cyvd9ci8q28qi9c44g33i4lw7clklgdx7mxl";
+          url = "https://elpa.gnu.org/packages/org-real-1.0.6.tar";
+          sha256 = "1qfzmmv3c1yc14v502x0438pxh2bcwli1r3xmcxibhb7h6p9mr3k";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -3650,10 +3665,10 @@
       elpaBuild {
         pname = "posframe";
         ename = "posframe";
-        version = "1.1.8";
+        version = "1.2.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/posframe-1.1.8.tar";
-          sha256 = "0560f05c2rh6jkdba4yq9qbazfz6qbdrymqm5zcihvz7cy019dzm";
+          url = "https://elpa.gnu.org/packages/posframe-1.2.0.tar";
+          sha256 = "06xk6z3b5mqgcskjiwkl9viccvzriflr8y51aclyfdamh5qb6kqb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3665,10 +3680,10 @@
       elpaBuild {
         pname = "project";
         ename = "project";
-        version = "0.8.2";
+        version = "0.8.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/project-0.8.2.tar";
-          sha256 = "1l5yxw6xqml176vskd5fz2y2dbjh8925g3kyimda4gdprz4y7aci";
+          url = "https://elpa.gnu.org/packages/project-0.8.3.tar";
+          sha256 = "15x6nbvyy592fwn36syxi9719sknvrm4bwnpyc16z9jn2xm62q3p";
         };
         packageRequires = [ emacs xref ];
         meta = {
@@ -4495,10 +4510,10 @@
       elpaBuild {
         pname = "srht";
         ename = "srht";
-        version = "0.1";
+        version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/srht-0.1.tar";
-          sha256 = "1cdylp2hma83iv062nf7qyz21a3r8562gwx2lk6cf45k2kh3hbv8";
+          url = "https://elpa.gnu.org/packages/srht-0.2.tar";
+          sha256 = "1qps9vdsiy5zkz88kh9kl1hnn1wlfz6n5brzcxi28fwx0hb3ksz2";
         };
         packageRequires = [ emacs plz ];
         meta = {
@@ -4999,6 +5014,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    use-package = callPackage ({ bind-key, elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "use-package";
+        ename = "use-package";
+        version = "2.4.4";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/use-package-2.4.4.tar";
+          sha256 = "1hw73006l1xh0padqxyr0l3sjnr3fxyz619csz8ds6am86fdxvfp";
+        };
+        packageRequires = [ bind-key emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/use-package.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     validate = callPackage ({ cl-lib ? null
                             , elpaBuild
                             , emacs
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 98e1b37171fae..22f60c8fd88ad 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -50,8 +50,6 @@ self: with self; {
     _map = self.map;
   };
 
-  nano-theme = callPackage ./manual-packages/nano-theme { };
-
   ott-mode = callPackage ./manual-packages/ott-mode { };
 
   perl-completion = callPackage ./manual-packages/perl-completion { };
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/nano-theme/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/nano-theme/default.nix
deleted file mode 100644
index 735e18f6b68ab..0000000000000
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/nano-theme/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ trivialBuild
-, fetchFromGitHub
-, emacs
-}:
-
-trivialBuild rec {
-  pname = "nano-theme";
-  version = "0.pre+unstable=2021-06-29";
-
-  src = fetchFromGitHub {
-    owner = "rougier";
-    repo  = pname;
-    rev = "4a231787a32b3019f9f0abb3511a112fd54bf685";
-    hash = "sha256-eco9BMKLhPuwFJb5QesbM6g3cZv3FdVvQ9fXq6D3Ifc=";
-  };
-
-  meta = {
-    homepage = "https://github.com/rougier/nano-theme";
-    description = "GNU Emacs / N Λ N O Theme";
-    inherit (emacs.meta) platforms;
-  };
-}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix
index 515254a42a983..ad12c606abb9d 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/perl-completion/default.nix
@@ -1,6 +1,9 @@
-{ lib, stdenv, fetchurl }:
+{ lib
+, trivial-build
+, fetchurl
+}:
 
-stdenv.mkDerivation {
+trivial-build {
   name = "perl-completion";
 
   src = fetchurl {
@@ -10,14 +13,8 @@ stdenv.mkDerivation {
 
   dontUnpack = true;
 
-  installPhase = ''
-    install -d $out/share/emacs/site-lisp
-    install $src $out/share/emacs/site-lisp/perl-completion.el
-  '';
-
   meta = {
     description = "Minor mode provides useful features for editing perl codes";
     homepage = "http://emacswiki.org/emacs/PerlCompletion";
-    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/update.py b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/update.py
index ce2054f909ef3..082602fcc4fde 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/update.py
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/update.py
@@ -80,7 +80,8 @@ def get_cargo_sha256(drv_path: str):
 if __name__ == "__main__":
     cwd = sys.argv[1]
 
-    nixpkgs = abspath(join(cwd, "../../../../../.."))
+    # This should point to the root default.nix of Nixpkgs tree
+    nixpkgs = abspath(join(cwd, "../../../../../../.."))
 
     tag_name = requests.get(
         "https://api.github.com/repos/emacs-tree-sitter/elisp-tree-sitter/releases/latest"
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
index 49003e481c3b8..58d425a825076 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
@@ -1208,10 +1208,10 @@
       elpaBuild {
         pname = "helm";
         ename = "helm";
-        version = "3.8.9";
+        version = "3.9.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-3.8.9.tar";
-          sha256 = "0hikp6g5g7cy290qxd768vxy91gxj92cwrrzp8kicxy3qck1q39v";
+          url = "https://elpa.nongnu.org/nongnu/helm-3.9.0.tar";
+          sha256 = "00lln7g27iipa9lhd9hw3gl6s92d2di4nlfyjz0hgg32v39fnvjd";
         };
         packageRequires = [ helm-core popup ];
         meta = {
@@ -1223,10 +1223,10 @@
       elpaBuild {
         pname = "helm-core";
         ename = "helm-core";
-        version = "3.8.9";
+        version = "3.9.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.9.tar";
-          sha256 = "03fzcc84gjslgsssbpjhdgnj7dn0pdfb5b2x79ss9vfvxamf2k94";
+          url = "https://elpa.nongnu.org/nongnu/helm-core-3.9.0.tar";
+          sha256 = "1fvrxj64qc4976s6af2zc428dnx2p0skxdnkjikz8rpw8kmffcb9";
         };
         packageRequires = [ async emacs ];
         meta = {
@@ -1969,10 +1969,10 @@
       elpaBuild {
         pname = "php-mode";
         ename = "php-mode";
-        version = "1.24.1";
+        version = "1.24.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/php-mode-1.24.1.tar";
-          sha256 = "0ixm7z2bq4aacbwyzx53alfnqwbdn36i5ixdi3qjhr8rh5k48vg1";
+          url = "https://elpa.nongnu.org/nongnu/php-mode-1.24.2.tar";
+          sha256 = "1v84b7mjilr6z1zmjfvwp4mwc68mb298fcn03xcaivnd91gvmvs2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1984,10 +1984,10 @@
       elpaBuild {
         pname = "popon";
         ename = "popon";
-        version = "0.11";
+        version = "0.12";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/popon-0.11.tar";
-          sha256 = "03xxh9w215kmlw6vr3cjs9afkj6vrcip7k954sssx77bs1bpnqhz";
+          url = "https://elpa.nongnu.org/nongnu/popon-0.12.tar";
+          sha256 = "06vsri7dka3qbiwfkl4ml8b99alah24zq8y4n1szh587xy3c7dj0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2055,6 +2055,24 @@
           license = lib.licenses.free;
         };
       }) {};
+    racket-mode = callPackage ({ elpaBuild
+                               , emacs
+                               , fetchurl
+                               , lib }:
+      elpaBuild {
+        pname = "racket-mode";
+        ename = "racket-mode";
+        version = "1.0.20221118.122133";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20221118.122133.tar";
+          sha256 = "0a2lpvkarcw5rlydm3va7ajjsyhfbj023h93n6n94pjvllhn2rp2";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/racket-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     rainbow-delimiters = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "rainbow-delimiters";
@@ -2179,6 +2197,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    scad-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "scad-mode";
+        ename = "scad-mode";
+        version = "93.1";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/scad-mode-93.1.tar";
+          sha256 = "0k9wqz2nd4j0wz2y300nn6rs8a9vpshnaa2hx6f8649k4y87bblp";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/scad-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     scala-mode = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "scala-mode";
@@ -2378,10 +2411,10 @@
       elpaBuild {
         pname = "subed";
         ename = "subed";
-        version = "1.0.19";
+        version = "1.0.24";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/subed-1.0.19.tar";
-          sha256 = "1wgicb0lvnghhr3a1xndkaxhs1c9gc1ac5xwvxcsc9zpgzrlmcda";
+          url = "https://elpa.nongnu.org/nongnu/subed-1.0.24.tar";
+          sha256 = "1x9w858pgyhd7hlvn85h379f8sfvf8ly3a9596q4jkqbcp9riymq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2393,10 +2426,10 @@
       elpaBuild {
         pname = "sweeprolog";
         ename = "sweeprolog";
-        version = "0.8.6";
+        version = "0.8.8";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.8.6.tar";
-          sha256 = "108hjh276xgl0xhn2f7h43725xi49zh6j2xrcc17xw2i0phhhswf";
+          url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.8.8.tar";
+          sha256 = "0h9vn4kc1f1vxvzxv14hbv24skjmishg408s4d8g39bylhj5c5s4";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index 99c329284c14e..b7f0666e20056 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -4169,13 +4169,13 @@
   "unstable": {
    "version": [
     20221112,
-    48
+    2256
    ],
    "deps": [
     "yaml"
    ],
-   "commit": "374d9703afd2976736abe6a73c4d4561a3238211",
-   "sha256": "1lgy0yrvf5cx9cw95kg8w3xdy3fniagny9pv7an1lydhbfh8nn9w"
+   "commit": "0234a9fe3e4bea7717e857f516209fcc00cf85c0",
+   "sha256": "184v0773cxggidk06wnsziib3kxkdhfr1j8hizmi75hnsrn1g2ya"
   },
   "stable": {
    "version": [
@@ -5136,11 +5136,11 @@
   "repo": "LionyxML/auto-dark-emacs",
   "unstable": {
    "version": [
-    20221103,
-    2344
+    20221114,
+    343
    ],
-   "commit": "a4bca75874e79ce62d2cd1dc3d97542e46fe0dfe",
-   "sha256": "0nx0ji1pz5r9yc9djzpd5d728yrsx3m4jchjxkjbb8484annnk6r"
+   "commit": "10a42b015e35e8c6a99a3fb5ceeb1db0f5893cee",
+   "sha256": "0gdmjmdzb1p21mrrsl6kv3fvzwmvmbkx9yydn7rylv19zfgj4iwh"
   }
  },
  {
@@ -6410,26 +6410,26 @@
   "repo": "dykstrom/basic-mode",
   "unstable": {
    "version": [
-    20221105,
-    1616
+    20221112,
+    1533
    ],
    "deps": [
     "seq"
    ],
-   "commit": "3c4104b9789b62a505717e63b61bd0abee012f15",
-   "sha256": "1dqds5k05afs7ai6bk9zjcf0hp2ja5a417j4z35fbk62m7wb07mn"
+   "commit": "1d6cd9a3c400a3609ea2464103bb814b51d3d560",
+   "sha256": "177z5rmh4306zkadnpp0as3w51n972hnzsb15sxc4iccfb3zjap9"
   },
   "stable": {
    "version": [
     0,
     6,
-    1
+    2
    ],
    "deps": [
     "seq"
    ],
-   "commit": "3c4104b9789b62a505717e63b61bd0abee012f15",
-   "sha256": "1dqds5k05afs7ai6bk9zjcf0hp2ja5a417j4z35fbk62m7wb07mn"
+   "commit": "1d6cd9a3c400a3609ea2464103bb814b51d3d560",
+   "sha256": "177z5rmh4306zkadnpp0as3w51n972hnzsb15sxc4iccfb3zjap9"
   }
  },
  {
@@ -6767,6 +6767,21 @@
   }
  },
  {
+  "ename": "beans",
+  "commit": "c458bd38ec9ec1de6717ea634b2d53f9083e3b23",
+  "sha256": "1sp43p1ajjh8zwrwkl09rhkkmxf01cw3i74ibqxn6m3hbdb3ry56",
+  "fetcher": "github",
+  "repo": "TheBlackBeans/emacs-beans",
+  "unstable": {
+   "version": [
+    20221114,
+    1634
+   ],
+   "commit": "0d04b79222812aa4978b6486a9ccac461850fe7a",
+   "sha256": "0b7yywa91saiijx6flsn1s1n5jbb7vqy3my2gxryyrqgrxcq1xx7"
+  }
+ },
+ {
   "ename": "bech32",
   "commit": "b66ddcba09e89d770ea5a828979474be76e7d1d5",
   "sha256": "0c453zjmpyv6rvhis6bnkhmykpvxqf56arqqiwczv0xphpkckx8k",
@@ -7363,28 +7378,28 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20221026,
-    1834
+    20221117,
+    1610
    ],
    "deps": [
     "bind-key",
     "key-chord"
    ],
-   "commit": "5c95dcb1e8690ab5f15342dc9d4bedd599f1650f",
-   "sha256": "16986nlca7qnmk22sq5vn05pmfdhgcww21djyxh9xx7k4hkgwn9g"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
    "deps": [
     "bind-key",
     "key-chord"
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -7395,20 +7410,20 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20221028,
-    1858
+    20221117,
+    1610
    ],
-   "commit": "4095f1bdae7989981803d25a52384383116e6db6",
-   "sha256": "09xqc0gag3f84qa4p72ibmjxwy4c52nhkr3pjqpqkdpj82g9grj9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -8112,8 +8127,8 @@
   "repo": "boogie-org/boogie-friends",
   "unstable": {
    "version": [
-    20221101,
-    650
+    20221115,
+    658
    ],
    "deps": [
     "cl-lib",
@@ -8122,8 +8137,8 @@
     "flycheck",
     "yasnippet"
    ],
-   "commit": "2f7c74ba87945e69d088df1d53249aeba5f0910d",
-   "sha256": "155n93hnbdb028a2dlqyl4sbkzfm6590v3dma0ksqh10d4fdx1p0"
+   "commit": "5b32e4859823ed7f5e70fd5d2eac5d813a8e3e51",
+   "sha256": "1gihjkxnq4mqlcgjhmfbf4i7v7zyqy01ls2ac10pa5k1db2g1nbc"
   }
  },
  {
@@ -13246,12 +13261,10 @@
    "version": [
     3,
     25,
-    0,
-    -1,
-    4
+    0
    ],
-   "commit": "30c42dbbad245e54857b63faaa64c7bbec7da684",
-   "sha256": "09l3i94g8yycn3yscwc80k6qahx1zm2ph7csj439wh852a8i3rwf"
+   "commit": "13e46189c7f3b39a26e9ca689bc029b7061d26a7",
+   "sha256": "0h6fvq4xbb717p0n67afhiwih1zgjphl0wcl3y1wg8bg2cv8zvll"
   }
  },
  {
@@ -15488,15 +15501,15 @@
   "repo": "tumashu/company-posframe",
   "unstable": {
    "version": [
-    20220906,
-    933
+    20221118,
+    824
    ],
    "deps": [
     "company",
     "posframe"
    ],
-   "commit": "b67ec1fa83229187fdf1d3dc5576f81a37a2b369",
-   "sha256": "0ncvrj57w1wa4q6rjkzsd46wjixnqxmcfbm0vi78fcq8avqjry7y"
+   "commit": "ab58972c2cebc5ecf68c4cdd140c3aed2c68f42b",
+   "sha256": "0nqcqs3ngxmb946mg11b2im9sycwdykghzbv3sp4aans8q62ig6k"
   },
   "stable": {
    "version": [
@@ -16465,14 +16478,14 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20221109,
-    836
+    20221117,
+    807
    ],
    "deps": [
     "compat"
    ],
-   "commit": "6d1342002bd82debe46ea88e9f49d15aa9a0bb49",
-   "sha256": "0bf3klk1cva3kii8fl15fi8rdskh36an26fg2z2n5hhzldznyp4q"
+   "commit": "35b57c1996b0887d4940960f1cd7deb7a5f4a2d9",
+   "sha256": "13i6r3910w9i6zaawhxwmkrnck43qxl8j6acrqn6qjd9cyh2j8n5"
   },
   "stable": {
    "version": [
@@ -16810,15 +16823,15 @@
   "repo": "jgru/consult-org-roam",
   "unstable": {
    "version": [
-    20221105,
-    1202
+    20221119,
+    811
    ],
    "deps": [
     "consult",
     "org-roam"
    ],
-   "commit": "b93cc856d1d2dd0719926e51c5a6309bbbf60b19",
-   "sha256": "1k0733kymkf8f3r4xi3fja561sybbkss3p54v7kf6pcz33v6gwc6"
+   "commit": "4f5e77d36fb8256818df9042ee699954566d81d5",
+   "sha256": "06xd014f03z8mzg2a7gln2bhv260rgq4zpcwxmkwn6kg5kcn5x0l"
   }
  },
  {
@@ -17236,6 +17249,25 @@
   }
  },
  {
+  "ename": "corfu-prescient",
+  "commit": "72a84587636e291bee48d7e9ad5723791ad02d7e",
+  "sha256": "1w7w88l43bpybgzdlp4b195y9y0mikp143wlki91s38m1hg0n0rd",
+  "fetcher": "github",
+  "repo": "radian-software/prescient.el",
+  "unstable": {
+   "version": [
+    20221118,
+    1427
+   ],
+   "deps": [
+    "corfu",
+    "prescient"
+   ],
+   "commit": "680fefa4601586dd87d549d33f5ae6fda3212c35",
+   "sha256": "16k34jp07snzknyp2lg0g6vsb7pk96s0fplb9hdjq8w3n4kyirb1"
+  }
+ },
+ {
   "ename": "corral",
   "commit": "7b0d7e326f0401de0488b77d39af7bd7b8e8fdd4",
   "sha256": "1drccqk4qzkgvkgkzlrrfd1dcgj8ziqriijrjihrzjgjsbpzv6da",
@@ -19461,8 +19493,8 @@
   "repo": "jyp/dante",
   "unstable": {
    "version": [
-    20221111,
-    1506
+    20221116,
+    840
    ],
    "deps": [
     "company",
@@ -19473,8 +19505,8 @@
     "lcr",
     "s"
    ],
-   "commit": "cceb89bb218fb69371c41838c94a5c3270bf7448",
-   "sha256": "1jpi0bjh4pplpq3xfmwa61xvcs4km7n6mx9qb7syfd4hr3s5zqvh"
+   "commit": "914d4f21252a66fe526abedebe24703bc73397d9",
+   "sha256": "07qkd90babkdffpxsp2ha0q3ixwp21szyy7c1k8frqsv0gl0dm02"
   },
   "stable": {
    "version": [
@@ -19502,8 +19534,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20221014,
-    1942
+    20221118,
+    1707
    ],
    "deps": [
     "bui",
@@ -19516,8 +19548,8 @@
     "posframe",
     "s"
    ],
-   "commit": "2879578abf72bf734675ce70e8dc977e1f43eca5",
-   "sha256": "0ixnzx2hkg129lxz6dgy6j97blj19zr24604449prwdw29100ha1"
+   "commit": "461f15f920c37ed06a53c1082287c5801a317b52",
+   "sha256": "1ny1agamc5iyh340gwrf59qyl9sp58nn62p6y8z6jsrxl08z4ipy"
   },
   "stable": {
    "version": [
@@ -19852,11 +19884,11 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20220922,
-    509
+    20221118,
+    1318
    ],
-   "commit": "554dc6fac1362dd6b66318c8250eea8bd63aa92f",
-   "sha256": "00jbjryi6m6ah7ylf1w965n4zndm5l54jkfkhjd2y3vxyr706hr8"
+   "commit": "92106c5a39e703bf18efa67a9c7dc92260845788",
+   "sha256": "0vfkm1x8x0azifyafnj7pg6lalvhrhhsizwm9vjb500fkjjhkazr"
   },
   "stable": {
    "version": [
@@ -20904,11 +20936,11 @@
   "repo": "niklaseklund/detached.el",
   "unstable": {
    "version": [
-    20221111,
-    1152
+    20221118,
+    1226
    ],
-   "commit": "b4e3f1933c21878f34dd22efabb7ec2a76cd1096",
-   "sha256": "0aavqkgl8g3vx3941gzhjp2zd0pxpav7hmik9f6xskl2k8fqkgip"
+   "commit": "8c7a2e1129b254946d86a7b7ae1c8378afab7b69",
+   "sha256": "0fcvx4x9yzzl3qac8gh565jzb52w9j2xdbiw60xyqdxihljpqv6m"
   },
   "stable": {
    "version": [
@@ -23777,14 +23809,14 @@
   "repo": "doomemacs/themes",
   "unstable": {
    "version": [
-    20220916,
-    1056
+    20221112,
+    2247
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "535800fd6ca7f5af56f7aa3d0e8f46fef8b7999b",
-   "sha256": "1pqp46dk423j4iiiqx5ddijvinlyp1014amg2s7b57sqya1r19x9"
+   "commit": "b5ff201f4bea4286e9ed015a2043cf2394182232",
+   "sha256": "04xq0v50rhikwfkzhwx2rzismipb2b57niks7s1svfp4jl1sg5fm"
   },
   "stable": {
    "version": [
@@ -24445,11 +24477,11 @@
   "stable": {
    "version": [
     3,
-    5,
+    6,
     0
    ],
-   "commit": "77c1e6f8f27f57fe0c04ec1624a85069b02437cf",
-   "sha256": "10fpybiqqkmm7y9xmhy4qs451dydmffcjg13k7w8g2p9dd09jb6l"
+   "commit": "c3b75bdfd3763b39aaac8baa5104312ac701d501",
+   "sha256": "0kgg5a2y1zxc6av2vmlh4vy46lsgnq2xvxjpv3m5i8pzgv0angsg"
   }
  },
  {
@@ -24543,11 +24575,11 @@
   "repo": "xenodium/dwim-shell-command",
   "unstable": {
    "version": [
-    20221104,
-    734
+    20221115,
+    2354
    ],
-   "commit": "37ae27f55210f35684c1c83fc5a3eda7a0c68872",
-   "sha256": "19pwrm0qzw8i4q1g9s43jb8g7915k56jihcp6ylmhs6rl39lipgk"
+   "commit": "c6a84a93c687b6ada6ea297135125cff232520d9",
+   "sha256": "1krm1pn73wk1s3gvif4vk7q281nx0syh5dfai3lmkd6jwphwhzxj"
   }
  },
  {
@@ -25221,26 +25253,26 @@
   "repo": "joostkremers/ebib",
   "unstable": {
    "version": [
-    20221107,
-    2019
+    20221113,
+    1408
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "6c09bc39b4a7ae70de5c1ce912d693e8b6f5f8d1",
-   "sha256": "1rd7jjr9wlj7b0d2386zvrlgz96316bg7h9zhk81xal5zvjksdmm"
+   "commit": "374400c99f600cfda703da4fb8d16898be48cb74",
+   "sha256": "1azgsjf5j8k6llq74brykidcb2mnq6fghk8jyq7qad5afh7n0mrc"
   },
   "stable": {
    "version": [
     2,
-    38,
-    1
+    39,
+    3
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "43f4e50d8e20c87f279da1a7317977297387bff1",
-   "sha256": "1a2pjnfk3yk7r13avjv4xcmq0ld1lw78ngifn9khpl28kd9fgv74"
+   "commit": "374400c99f600cfda703da4fb8d16898be48cb74",
+   "sha256": "1azgsjf5j8k6llq74brykidcb2mnq6fghk8jyq7qad5afh7n0mrc"
   }
  },
  {
@@ -26922,11 +26954,11 @@
   "repo": "doublep/eldev",
   "unstable": {
    "version": [
-    20221111,
-    1951
+    20221117,
+    2048
    ],
-   "commit": "00b29384e96c49375112613939e333d46565b310",
-   "sha256": "14d9a617qj6yrwfi5gg1prcd9ibmns21m08n78rsv61xg9c2f1iz"
+   "commit": "2ddf8cbe9bb4f973ecfa6012870af23b030ad6f6",
+   "sha256": "1f649vm59kkwiwc3pwzvw6phnc9id8vm6jfyg05j716k2pa4q0n4"
   },
   "stable": {
    "version": [
@@ -26946,11 +26978,11 @@
   "repo": "casouri/eldoc-box",
   "unstable": {
    "version": [
-    20221008,
-    2315
+    20221117,
+    2216
    ],
-   "commit": "5b893437c8594028653d676015bb580574d9f0e1",
-   "sha256": "0byzzbjg4lkma2yn22z2b5267irr4780k53hbhrk970gikxh8fll"
+   "commit": "3021dcd85764b6a918e1689bf649c16918c339da",
+   "sha256": "14blf7as7j6k7g8ry8a45c5zpgjca79axwr4b3yk3hcp9q9rvzfk"
   },
   "stable": {
    "version": [
@@ -27345,8 +27377,8 @@
   "repo": "remyhonig/elfeed-org",
   "unstable": {
    "version": [
-    20220529,
-    1958
+    20221118,
+    852
    ],
    "deps": [
     "cl-lib",
@@ -27355,8 +27387,8 @@
     "org",
     "s"
    ],
-   "commit": "d28c858303e60dcb3a6eb18ea85ee3cb9e3dd623",
-   "sha256": "189hr2pqpm9vpz06frkl6r3k6q6ispx97zj24lczcli44l7d8gsz"
+   "commit": "3242ec0519800a58f20480c8a6e3b3337d137084",
+   "sha256": "1qp5a7gmrf8hy9zvi237shnff2jcrs2s6iln4pd5l6hqb74akdrq"
   }
  },
  {
@@ -27429,15 +27461,15 @@
   "repo": "SqrtMinusOne/elfeed-summary",
   "unstable": {
    "version": [
-    20220906,
-    822
+    20221117,
+    841
    ],
    "deps": [
     "elfeed",
     "magit-section"
    ],
-   "commit": "5006ef64325911785225dc37004f50d4ff51abb4",
-   "sha256": "0z485gf21qvk5k2xd056ja3fm96z8jazy4zf8hzp2hzwhi338vww"
+   "commit": "125e0f059d9f186efa2a04e317b59245963d6f11",
+   "sha256": "1lrzrf759qqa329yi7hx81b12lli530ih10p2jghxbhqgzqndssz"
   },
   "stable": {
    "version": [
@@ -29825,15 +29857,15 @@
   "repo": "purcell/envrc",
   "unstable": {
    "version": [
-    20221106,
-    1133
+    20221118,
+    1647
    ],
    "deps": [
     "inheritenv",
     "seq"
    ],
-   "commit": "d55ee22573c83ccbb55b8df6360ef3c62d1ce244",
-   "sha256": "0pr36nyyz8g9jmvv1h0qa6n51cjc69g0q6ihvxkxk0rqcvm390v5"
+   "commit": "c54bf9e6972c563d345e20571ffd44d7bfb56974",
+   "sha256": "0nfk85qai1nfr7ls2vhrwnvqfrvf69gsfj4py2rk503wgxabchbx"
   },
   "stable": {
    "version": [
@@ -29970,15 +30002,15 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20221025,
-    1206
+    20221118,
+    2249
    ],
    "deps": [
     "closql",
     "compat"
    ],
-   "commit": "dbb2d6556b8d100633b8a8b71914df476279dc13",
-   "sha256": "0imi5fi5wnb0kqpv4j0xa8paldc7i541p9iyprwl7wz5lb5qsxp1"
+   "commit": "40bb1f5e0c4fe155d34dc6f7b002fd2560c51013",
+   "sha256": "1lrpg2xwk8rs8zk125fs78w5nfs210r1qq1gbmi0zvyy2xz4jfrv"
   },
   "stable": {
    "version": [
@@ -32238,15 +32270,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20221109,
-    2247
+    20221115,
+    1255
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "7c3343cef739ae223eb3ca991897d97f2d017462",
-   "sha256": "1wcm5v6rfvql04jkwyc1r87kj0pf683yj10cb5kbg8ijwzyqca4j"
+   "commit": "5ce46a1fc175a8f13507ce2b6ec4c3618923f093",
+   "sha256": "19mkwjnsq04mldc70mimkl7bc9mqigc619rpzc9dl7z65z7fgk8c"
   },
   "stable": {
    "version": [
@@ -34256,10 +34288,10 @@
  },
  {
   "ename": "ewal-evil-cursors",
-  "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
-  "sha256": "1xkjf31ba3ixv7nmxngba9pswpfr1nj4jni5y08rxfjxirwm0vbl",
+  "commit": "a85152f2fe8f4f6508001481615f9b9010fc8fa2",
+  "sha256": "0nsd4w1va85c3y9bch9vah72h9bdy4y5c6gdsqgrc28k7vscx4qq",
   "fetcher": "github",
-  "repo": "wurosh/ewal",
+  "repo": "cyruseuros/ewal",
   "unstable": {
    "version": [
     20190911,
@@ -34286,10 +34318,10 @@
  },
  {
   "ename": "ewal-spacemacs-themes",
-  "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
-  "sha256": "1dliqwmlnl9bdw166xyadlgf3is22qn5bzrm0mv2gqi8p8ib5dl8",
+  "commit": "a85152f2fe8f4f6508001481615f9b9010fc8fa2",
+  "sha256": "0k1jlj1yb8dwdj65k5ck5qxgskmfwy892jqpqpfrnkb1bx519qmx",
   "fetcher": "github",
-  "repo": "wurosh/ewal",
+  "repo": "cyruseuros/ewal",
   "unstable": {
    "version": [
     20190911,
@@ -34689,11 +34721,11 @@
   "url": "https://repo.or.cz/external-dict.el.git",
   "unstable": {
    "version": [
-    20220816,
-    2136
+    20221113,
+    1021
    ],
-   "commit": "680c37f01e5205805dffeef05be00e2196886a8c",
-   "sha256": "01rq6xw86q03br55njh51myzl2v1wfb2z6xpapwfs77rcismx616"
+   "commit": "c790489635a497cdb8f4277a982677c95479ffb0",
+   "sha256": "08sh4j4hd09r9ahrr19g1lky14s7sqqpyjhjwn3lv0mbs971zhgn"
   }
  },
  {
@@ -35334,14 +35366,14 @@
   "repo": "condy0919/fanyi.el",
   "unstable": {
    "version": [
-    20220805,
-    216
+    20221117,
+    1821
    ],
    "deps": [
     "s"
    ],
-   "commit": "031c7ab7a16113bdca2b351781dc95aff9658c9a",
-   "sha256": "0d9v93ll884srr8f6di1iyp396wr0bklip6cv0xydw3mimv2rv3x"
+   "commit": "7181af0d848226ecdb9f517d8e4cf219d00f9000",
+   "sha256": "15i0j6r9wvzs96zys842akzdklrz2yrblc8zm5pcfs6rb56nnk7i"
   }
  },
  {
@@ -37074,8 +37106,8 @@
   "repo": "flycheck/flycheck",
   "unstable": {
    "version": [
-    20221110,
-    824
+    20221112,
+    1552
    ],
    "deps": [
     "dash",
@@ -37083,8 +37115,8 @@
     "pkg-info",
     "seq"
    ],
-   "commit": "15559e8243b81d63c63f62a42d251f2db9e4995d",
-   "sha256": "1pn5mqjd76898n9d60ym1jklswnmficz9d1h5zcfjzs9hnq3np3x"
+   "commit": "ab93e2db1dd8333e86f8aeeafbf1e2a0e5f0be38",
+   "sha256": "10q5jlkbg0hvm96n2xr8k16ykwdvchb04h79bzhhm4x3zd99q4p7"
   },
   "stable": {
    "version": [
@@ -38071,16 +38103,16 @@
   "repo": "emacs-grammarly/flycheck-grammarly",
   "unstable": {
    "version": [
-    20220704,
-    625
+    20221116,
+    1127
    ],
    "deps": [
     "flycheck",
     "grammarly",
     "s"
    ],
-   "commit": "ae6105c353e50aaf3d8056d19a8f9d55bae8e073",
-   "sha256": "1j816rxrzdibw30mhnkh4fqb3lby51203rc97nmcn8qr9vcy1hhg"
+   "commit": "c9ed648745cb94dc3420d622f84456decd0d0aeb",
+   "sha256": "0mggj1jma9r3sg6qc9zjbll7a9yklsyjf8kyg3g2vha7qchwaml3"
   },
   "stable": {
    "version": [
@@ -39759,15 +39791,15 @@
   "repo": "mohkale/flymake-collection",
   "unstable": {
    "version": [
-    20221111,
-    1815
+    20221113,
+    1
    ],
    "deps": [
     "flymake",
     "let-alist"
    ],
-   "commit": "976ac70153a0a18da22e068c740c3394bec28545",
-   "sha256": "1zxbks772vq4pj289n11fm79f7xk4iy69z99wvvmy4mv9mim5hrv"
+   "commit": "274e5ec3e614e73fd0d7c3e1ffc652461bf5b5f3",
+   "sha256": "18mwz6i84y1wdw8zq13rmx8jsax6fkiqvlbngix7sp2vy8mqgv5c"
   },
   "stable": {
    "version": [
@@ -39896,6 +39928,30 @@
   }
  },
  {
+  "ename": "flymake-elisp-config",
+  "commit": "11cf3b5e38a99673f65a9bc410cd6faaa2889396",
+  "sha256": "019r9a30jdyjxk2rghbx7g16gpfdhq555s32cmbh9yxxvc7jz683",
+  "fetcher": "github",
+  "repo": "ROCKTAKEY/flymake-elisp-config",
+  "unstable": {
+   "version": [
+    20221110,
+    1626
+   ],
+   "commit": "e946d9a761a8427dfdd0ae634bcfce4d56111947",
+   "sha256": "1caclvx5k4x7pdd3pzm2kr1vkncwjgq9w15hbhr16y3sr2g8lh7k"
+  },
+  "stable": {
+   "version": [
+    0,
+    4,
+    0
+   ],
+   "commit": "1d6a7d82a89e265f22e0851f3c1d2e78ef74ce0d",
+   "sha256": "14a62l6c7ni5i4wnn18x0wswc0xvyf0lc6mcavdad8v3c9rip66l"
+  }
+ },
+ {
   "ename": "flymake-elixir",
   "commit": "05dae578f0dd6b5185f666431b3f36aad3aeffa1",
   "sha256": "15r3m58hnc75l3j02xdr8yg25fbn2sbz1295ac44widzis82m792",
@@ -40047,15 +40103,15 @@
   "repo": "emacs-grammarly/flymake-grammarly",
   "unstable": {
    "version": [
-    20220704,
-    626
+    20221116,
+    1127
    ],
    "deps": [
     "grammarly",
     "s"
    ],
-   "commit": "4bbf93df6ca31a925417b656eec521f7b2c85681",
-   "sha256": "0vai15xyzyp9hc2pafaa8nwsqs56yvrf1fkkk7mdzr03pfg3qdc7"
+   "commit": "e3ed1a8bcb80a002a29fcc82e205d010bd9f3505",
+   "sha256": "0nf7y37livrhj3dapwzbpal5jclc0arr2hwvhhzyck5mg1q6vi5r"
   },
   "stable": {
    "version": [
@@ -40310,14 +40366,14 @@
   "repo": "emacs-languagetool/flymake-languagetool",
   "unstable": {
    "version": [
-    20220922,
-    1914
+    20221116,
+    1917
    ],
    "deps": [
     "s"
    ],
-   "commit": "f30d3ddb5b27bd700d3965709125940df32217af",
-   "sha256": "1xq4lsqvfwdhszgs7dzvm8rcdp0xpahk0ppjmx46xng3lqq885rv"
+   "commit": "b4b4d9f041dbc887f3adfb61600e9df4e51f9917",
+   "sha256": "0vyqh5h5rc12hk8w801wqi1nrcq5m6r5swak9vca7fh0rihjimz6"
   },
   "stable": {
    "version": [
@@ -40813,11 +40869,11 @@
   "repo": "erickgnavar/flymake-sqlfluff",
   "unstable": {
    "version": [
-    20220925,
-    2144
+    20221116,
+    729
    ],
-   "commit": "b76f335555c9a94ffc3d7281f3dca345de474eed",
-   "sha256": "0snghmn59xcfqb90rgfph8fviapcwhh7d76hls54ixc6lc5za42p"
+   "commit": "8ce6b40ebcb3a90e23621e2e1b85e3d06bed5e76",
+   "sha256": "1jfhwr4a3imi1n8akarxakdxv90d4icx1r1yjfsjj9hvlgxads4s"
   }
  },
  {
@@ -42280,11 +42336,11 @@
   "repo": "pdo/frimacs",
   "unstable": {
    "version": [
-    20220723,
-    1902
+    20221113,
+    1231
    ],
-   "commit": "b35fdefb60ead4d7559131601c43761973762a9a",
-   "sha256": "034x3b471xfn1ih95az59h34ad2qvb9qpav29ng5z0ry2hqcq0za"
+   "commit": "ae3870ebced2fb92f7fac1aa0051f7e46b30d55b",
+   "sha256": "0r18cgi4hycif9r53vn1cakajkbrqpaziz240bq5yw2wnyvmkgfx"
   }
  },
  {
@@ -42334,16 +42390,16 @@
   "repo": "waymondo/frog-jump-buffer",
   "unstable": {
    "version": [
-    20220414,
-    1935
+    20221114,
+    141
    ],
    "deps": [
     "avy",
     "dash",
     "frog-menu"
    ],
-   "commit": "ff0cfe9cb4a60d855f0754b741a9417ee413dee0",
-   "sha256": "0pp0z6zk6lni6pgkrh8is4c99v6npddaarsykwdxai0qxim9q4f3"
+   "commit": "ab830cb7a5af9429866ba88fb37589a0366d8bf2",
+   "sha256": "0996896n7135xzxxhh50phhb1y06rcycj2gxx7p26p7aa72ambc3"
   }
  },
  {
@@ -43100,14 +43156,14 @@
   "repo": "emacs-geiser/geiser",
   "unstable": {
    "version": [
-    20221104,
-    426
+    20221115,
+    2228
    ],
    "deps": [
     "project"
    ],
-   "commit": "04dbdacfeca0190856abad859360da4bb873f9dd",
-   "sha256": "0dd20cq3nz4jjysaqx2aiqqaxvkfkbj2x4zm2mz3pd4rmydckj2y"
+   "commit": "15dfe0fceea4d3508cd22a05fee18b617f84df2f",
+   "sha256": "10f048rkcw0rnn03dq9v5bgg61zclznnsl6hl9sqjanb16vhs5lp"
   },
   "stable": {
    "version": [
@@ -43272,15 +43328,15 @@
   "repo": "emacs-geiser/guile",
   "unstable": {
    "version": [
-    20221104,
-    427
+    20221115,
+    2230
    ],
    "deps": [
     "geiser",
     "transient"
    ],
-   "commit": "f5e82dc0f5a076335f201885a7edbefaa1ad435f",
-   "sha256": "13qxg1npm0pmnml5q268k5xk1clyqldp8v200ihrqwqlc3ga7f36"
+   "commit": "961c9630f90733f517a9124750e72da55b569f10",
+   "sha256": "1hhn4nrhwnkrks1kij27dza0zlj0z6jpw9k9nqqswb3h9qll3nvz"
   },
   "stable": {
    "version": [
@@ -45368,6 +45424,21 @@
   }
  },
  {
+  "ename": "gitstatus",
+  "commit": "65871aadda4b9335f923eea4724b42367c57b5a4",
+  "sha256": "017cgcsiisiapvqvnh22k15m48id6bh2gpxqf6b3l0fps7lwhqib",
+  "fetcher": "github",
+  "repo": "igorepst/gitstatus-el",
+  "unstable": {
+   "version": [
+    20221113,
+    1951
+   ],
+   "commit": "c3e30341d0add9728010e566b9eb031c76414b47",
+   "sha256": "061wy9clb5w25r6g65wv4pdkp9cbhp2z8fv4v1np4gnwcvgjm26y"
+  }
+ },
+ {
   "ename": "gitter",
   "commit": "b8076c3b4d60e4c505bb6f4e426ecc4f69d74684",
   "sha256": "1ad5abqgfh6x2fcqbbdvgbg8xin69j0h93z7bav1hs3jla7mgwnv",
@@ -45499,6 +45570,21 @@
   }
  },
  {
+  "ename": "glue",
+  "commit": "2b15ab947b0fd53c0e425becc42b235a1954a0f8",
+  "sha256": "09y3qhjwv70d16yfb3rrds0k19f191v4790fglshx3gsgdac7mwc",
+  "fetcher": "sourcehut",
+  "repo": "hajovonta/glue",
+  "unstable": {
+   "version": [
+    20221114,
+    1120
+   ],
+   "commit": "abfad405f240d9a89f792aae36efb3c2af43021f",
+   "sha256": "08iyb35mpcdca9raq636m06gdis6p3n67wqhzq612p71gpx9l4bl"
+  }
+ },
+ {
   "ename": "gmail-message-mode",
   "commit": "1e6aed365c42987d64d0cd9a8a6178339b1b39e8",
   "sha256": "0py0i7b893ihb8l1hmk3jfl0xil450znadcd18q7svr3zl2m0gkk",
@@ -45739,11 +45825,11 @@
   "repo": "emacs-gnuplot/gnuplot",
   "unstable": {
    "version": [
-    20221111,
-    821
+    20221112,
+    2049
    ],
-   "commit": "72e70e309978f48cf4724cd99e78d09331f7acee",
-   "sha256": "0ms993dhrdnj1c4y3c02ls21myms43ndyrq3g2abzlr7n6jd60sn"
+   "commit": "fe7ce76d797b34214178ac8e470f2fa9a63b2520",
+   "sha256": "06avd1bpk6n8d3yc2427f6z24f3d6dlbfhw6gg39mja06n4a2jh3"
   },
   "stable": {
    "version": [
@@ -46201,8 +46287,8 @@
  },
  {
   "ename": "go-gen-test",
-  "commit": "0861c126161a2674f0e115eac6f948490b142b44",
-  "sha256": "1pj8n8xj9ccq9ips4wy4v6hdxxgwv11pwi671l6jjrig38v13dzr",
+  "commit": "8948263cf6c99092690a0dc3650700aeba776aa6",
+  "sha256": "1hq7agbl1msdfa9cmmisvphzfdsw2dgkzw0qi6kkzs75c8q3c33s",
   "fetcher": "github",
   "repo": "s-kostyaev/go-gen-test",
   "unstable": {
@@ -46584,11 +46670,11 @@
   "repo": "lorniu/go-translate",
   "unstable": {
    "version": [
-    20221112,
-    616
+    20221119,
+    627
    ],
-   "commit": "6fd5c0a32cfc90df950f6b6921e5de77eb1f0016",
-   "sha256": "1yhdw0qxg01gyw575flm23yhi3r9ixvsc0s32dz3nbggfxzhf0fb"
+   "commit": "8746d229474958dc4456ef9ba4b0a258acff8e56",
+   "sha256": "1znqj87xgb880aqqd10mxq5r3walhasvldmm3mvmvnywg91rrdyj"
   },
   "stable": {
    "version": [
@@ -48998,11 +49084,11 @@
   "repo": "haskell/haskell-mode",
   "unstable": {
    "version": [
-    20221106,
-    1352
+    20221113,
+    1425
    ],
-   "commit": "53d26263dbe2c607471048646d94788c0d232f98",
-   "sha256": "06q63zhms1ckbkryxg2534irrq014rbnwx1kmj92ldbinv4qr7qc"
+   "commit": "a34ccdc54be15043ff0d253c3c20087524255491",
+   "sha256": "1z2jcgdm5bc13zwl4y7fn5rxqqzs3i54qw32wb2hwpa42izwq159"
   },
   "stable": {
    "version": [
@@ -49308,28 +49394,28 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20221111,
-    1942
+    20221117,
+    1800
    ],
    "deps": [
     "helm-core",
     "popup"
    ],
-   "commit": "dd72b3281afb38eaedd1e0015ab3c92d8ab7ef8f",
-   "sha256": "1gk4bq6ilbra85nlvr9hsj0h23bbrks6aryx5wsh8xkgaygw1plr"
+   "commit": "8de5444df2bafd1b3a91acd0e00cf1e0ee81682b",
+   "sha256": "09dk0dz8fkigi3zbinq76310nnnw29z4pca0ypsn2z6l0l3hg7zb"
   },
   "stable": {
    "version": [
     3,
-    8,
-    9
+    9,
+    0
    ],
    "deps": [
     "helm-core",
     "popup"
    ],
-   "commit": "dd72b3281afb38eaedd1e0015ab3c92d8ab7ef8f",
-   "sha256": "1gk4bq6ilbra85nlvr9hsj0h23bbrks6aryx5wsh8xkgaygw1plr"
+   "commit": "371df21b1e73be03b90028e2f5d8554f70a989b7",
+   "sha256": "1i253ani2bl665biha0f071pncr2jh7x5yxp8rg2013sdf4nr74c"
   }
  },
  {
@@ -49600,16 +49686,16 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20210725,
-    1510
+    20221114,
+    1204
    ],
    "deps": [
     "bibtex-completion",
     "cl-lib",
     "helm"
    ],
-   "commit": "63c108a5efc130f037bc1c36cb3ee7d963567c12",
-   "sha256": "0wbfyklpjvv7vlyljki0pi10l4jhgy95jlpmqzblh0lgd34ypr4s"
+   "commit": "8ebf50d5bd368082d0b7ab79d26a52f372cdef98",
+   "sha256": "1x6nfkprj95cp4ldb485v13hrkd7rvzp750d9xz80vk76gpvaw3l"
   },
   "stable": {
    "version": [
@@ -50214,26 +50300,26 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20221111,
-    1942
+    20221113,
+    1706
    ],
    "deps": [
     "async"
    ],
-   "commit": "dd72b3281afb38eaedd1e0015ab3c92d8ab7ef8f",
-   "sha256": "1gk4bq6ilbra85nlvr9hsj0h23bbrks6aryx5wsh8xkgaygw1plr"
+   "commit": "51b28e8c5ba63aa891d5d05aca08ac2688701971",
+   "sha256": "10xicmc6h0qlxahnf7zd70jg40i2mcz9m7vr1b28wpjgi1rmf8ix"
   },
   "stable": {
    "version": [
     3,
-    8,
-    9
+    9,
+    0
    ],
    "deps": [
     "async"
    ],
-   "commit": "dd72b3281afb38eaedd1e0015ab3c92d8ab7ef8f",
-   "sha256": "1gk4bq6ilbra85nlvr9hsj0h23bbrks6aryx5wsh8xkgaygw1plr"
+   "commit": "371df21b1e73be03b90028e2f5d8554f70a989b7",
+   "sha256": "1i253ani2bl665biha0f071pncr2jh7x5yxp8rg2013sdf4nr74c"
   }
  },
  {
@@ -51844,14 +51930,14 @@
   "repo": "emacs-helm/helm-ls-git",
   "unstable": {
    "version": [
-    20221007,
-    1113
+    20221118,
+    503
    ],
    "deps": [
     "helm"
    ],
-   "commit": "dbee5c668c49e5b77907f1d9887e2a44f7b196a3",
-   "sha256": "06bghgrprbxk2svvh20lbi0lb29x8rc7zgm1j8s48zn9w1aqp4hh"
+   "commit": "c5893f0cd92b20dcdcd5dc89d9ba6200a95c3f80",
+   "sha256": "0lh7xm295z6fahymxa16jb49pnb8d4fklilbvza8ckbnh422ga31"
   },
   "stable": {
    "version": [
@@ -53885,14 +53971,14 @@
   "repo": "emacs-helm/helm-wikipedia",
   "unstable": {
    "version": [
-    20210525,
-    717
+    20221113,
+    824
    ],
    "deps": [
     "helm"
    ],
-   "commit": "c242c74efaeda2ffbafd281ee6bceae1a42507bb",
-   "sha256": "17210p61q6g1rx8a3gacbrv69c4n92h5ajh28yw5ya23c275dnkb"
+   "commit": "ab040154f2efab9b5eea36b3bd368a66f62efbfb",
+   "sha256": "091xsyvdsxkvg6rszgqymd8y7yp6v37x1k1022qbf9j66m46y9pj"
   }
  },
  {
@@ -55163,16 +55249,16 @@
   "repo": "narendraj9/hledger-mode",
   "unstable": {
    "version": [
-    20220515,
-    1225
+    20221116,
+    2203
    ],
    "deps": [
     "async",
     "htmlize",
     "popup"
    ],
-   "commit": "400bde42a8d2712af80cd7c773c9cdfbb63a515a",
-   "sha256": "0xmcfpr3rxli1adwypg18npl8hb8ak5rg6a6i26inzzqja6vr897"
+   "commit": "07baa57017e1b7703560363a6e1948b630a5158d",
+   "sha256": "0ps6w2a060662c36nmjh0z9ln1gccgl9cvgynrw8m5811inxw4km"
   }
  },
  {
@@ -55239,16 +55325,16 @@
   "repo": "thanhvg/emacs-hnreader",
   "unstable": {
    "version": [
-    20220928,
-    423
+    20221117,
+    650
    ],
    "deps": [
     "org",
     "promise",
     "request"
    ],
-   "commit": "8481681c9b2f3bd1ddab12a657f5f3827e288ad7",
-   "sha256": "0ls4q79s361bwa89g1iq3mk6a9d5q3f5sldip8ww42dafmd9smbi"
+   "commit": "8444e177035e236e991f9ea73074c053a45426ad",
+   "sha256": "0v49fvc3phvff2scwlvjdy98y91dmkywij9dl8j95i5iahksq2fp"
   }
  },
  {
@@ -57094,15 +57180,15 @@
   "repo": "idris-hackers/idris-mode",
   "unstable": {
    "version": [
-    20221111,
-    1219
+    20221118,
+    1026
    ],
    "deps": [
     "cl-lib",
     "prop-menu"
    ],
-   "commit": "ea83139b3981113f3b2115ea3c3efd3d7af6ca89",
-   "sha256": "0l2n0rypmi10i6vqc7v9m1wrlbxl6valjc9mk15mpf0isrv9x2bn"
+   "commit": "67e06eccbd063078df9671169c60ed5bb941d9cf",
+   "sha256": "1hc6f24l8z8nz0sg5dz14wrxsi40x5dzx9a4plldcfdh743lsvp6"
   },
   "stable": {
    "version": [
@@ -57989,14 +58075,14 @@
   "repo": "clojure-emacs/inf-clojure",
   "unstable": {
    "version": [
-    20220807,
-    2113
+    20221114,
+    616
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "59a9f0695f3d97a593f8d5ea04b51ea5dcb2718a",
-   "sha256": "18kj3ds5sl4dmfqrsbvkd9hpwfyn5qh5nyx1bf7sljbcfjgildw2"
+   "commit": "e5ce3839835b9b561fca5810f43f413c96c197d9",
+   "sha256": "04ggx767a795scidy0f58d577pm7ipgpxpi43rlqc2g9gcgzk9sd"
   },
   "stable": {
    "version": [
@@ -61116,11 +61202,11 @@
   "repo": "Michael-Allan/Java_Mode_Tamed",
   "unstable": {
    "version": [
-    20220825,
-    1612
+    20221117,
+    1441
    ],
-   "commit": "ed80b7d736b2f0909dfa9a40be2bba80ea513d7b",
-   "sha256": "1h4ciihwclvgmgw9z79a9rfxkqyp0p2jh58h6ddpynn4768b7lsk"
+   "commit": "be47c70024dff044322b281ebbcea38de6d5b50b",
+   "sha256": "0n1hhq7vmj9a7lww8vfwq96lmsdsj5hngb18gid2qav7kf32dlw3"
   }
  },
  {
@@ -61143,6 +61229,29 @@
   }
  },
  {
+  "ename": "journalctl-mode",
+  "commit": "aa0b80e1ee16d20c38593650f148783d4f93c822",
+  "sha256": "126gj6rh6j0j6lbygx15lg5qxfaz4bpspbzd1hv3h05nvnnykv3h",
+  "fetcher": "github",
+  "repo": "SebastianMeisel/journalctl-mode",
+  "unstable": {
+   "version": [
+    20221119,
+    901
+   ],
+   "commit": "c902ad94c2d043f620a44e4c9b1bd7f4d6f22229",
+   "sha256": "0xp149ibvjxr04pnlfl75gfcjwa91wxvk59dr6fa6761j6phc98j"
+  },
+  "stable": {
+   "version": [
+    0,
+    8
+   ],
+   "commit": "457e38af67427e92d6217abbb362ca9673b33ed5",
+   "sha256": "1lnjgpbvs3b7h1m1lnd4g3965pjn1sw4vyjd3f4106s10llmkd8x"
+  }
+ },
+ {
   "ename": "jpop",
   "commit": "2a52a3cf909d12201196b92685435f9fa338b7ba",
   "sha256": "00chh1aqnkkkhdp44sapdjx37cbn92g42wapdq7kcl8v1v0xmnjr",
@@ -61841,11 +61950,11 @@
   "repo": "iwahbe/jsonian",
   "unstable": {
    "version": [
-    20220708,
-    1813
+    20221119,
+    518
    ],
-   "commit": "7ad6d73aff49b346dc9f577ba8a450ac0a8d2aa5",
-   "sha256": "03q7d5mc0jlgmwxm0lmlrc5pcbpvdxmmbi8qm5wsk9xazdynn7fk"
+   "commit": "1e8103c281bf7781bf3246d2049165d8966710c6",
+   "sha256": "0xv5lsl21h0jg5iryg89j6qf4c97v2rw7rh5ja8bbch3s21bv69c"
   }
  },
  {
@@ -66039,8 +66148,8 @@
   "repo": "abo-abo/lispy",
   "unstable": {
    "version": [
-    20221106,
-    1304
+    20221114,
+    2013
    ],
    "deps": [
     "ace-window",
@@ -66049,8 +66158,8 @@
     "swiper",
     "zoutline"
    ],
-   "commit": "1a1abcc233b7434bd615221fbcd27f7694bc5391",
-   "sha256": "1kghf5yxmdfz9fikva4a1wxm7yk2mv17y85mfskzganb758l3rfq"
+   "commit": "f35eadf8c1be43a395e196463314b17ea3b4e16f",
+   "sha256": "01k73h33njx01v0rylrrgxw5q4dzkiiygn68gilx1lkndcg17kyx"
   },
   "stable": {
    "version": [
@@ -66499,11 +66608,11 @@
   "repo": "donkirkby/live-py-plugin",
   "unstable": {
    "version": [
-    20220518,
-    204
+    20221118,
+    341
    ],
-   "commit": "e509c806138cbe164c0d655cc7d662f94c386c9b",
-   "sha256": "1hc4zggmvizhbim37l61jk5xmnm0r3vn8d2vzmvzw70kiwiwss53"
+   "commit": "388cb12be5f1e225449cf34bf8c0b18b718d932c",
+   "sha256": "1fbkz6j545sy33xqkg9kgkr83147yg7g1f7brr796hmc474f5h1k"
   },
   "stable": {
    "version": [
@@ -66830,19 +66939,19 @@
   "repo": "dykstrom/log4j-mode",
   "unstable": {
    "version": [
-    20221105,
-    1624
+    20221112,
+    1509
    ],
-   "commit": "c388b555dfea3c837075be769d771bd38656384a",
-   "sha256": "1x43f5qlzbsxv3bwsfk3s5j8b87yk0zzlsg3i73x7cxz47wq454g"
+   "commit": "a878589fbbd291d0aa27f56c582ab900a03ca063",
+   "sha256": "04jw2zfbzw8qblkmxg5c4dm31i5kk8d9r3l1bqa1bld8s7pdxnp4"
   },
   "stable": {
    "version": [
     1,
-    5
+    6
    ],
-   "commit": "c388b555dfea3c837075be769d771bd38656384a",
-   "sha256": "1x43f5qlzbsxv3bwsfk3s5j8b87yk0zzlsg3i73x7cxz47wq454g"
+   "commit": "a878589fbbd291d0aa27f56c582ab900a03ca063",
+   "sha256": "04jw2zfbzw8qblkmxg5c4dm31i5kk8d9r3l1bqa1bld8s7pdxnp4"
   }
  },
  {
@@ -67135,11 +67244,11 @@
   "repo": "0x60df/loophole",
   "unstable": {
    "version": [
-    20221110,
-    1449
+    20221111,
+    1517
    ],
-   "commit": "5fdb2bf6fe04d8e121643638cfccfbe77761cace",
-   "sha256": "1mi15wwpq3v3j6yr6viy1f4x36p73k439qigxrm6039fpbfqsv3y"
+   "commit": "a4f161f9ab582ac7cd92e8621530f3a30a59372e",
+   "sha256": "0kxgkrw7bfk484qa3plh7y0acj8z8byrf2pfq7n8f0k1mcfd71wa"
   },
   "stable": {
    "version": [
@@ -67734,8 +67843,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20221109,
-    1221
+    20221118,
+    815
    ],
    "deps": [
     "dash",
@@ -67745,8 +67854,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "3195c4e0d06e77e9c0185a6251c71c29281c80a9",
-   "sha256": "0zwp38sjrf6ygsyzpzd2xqbyx6kgbfi87rz2z864w6kladq3zw2a"
+   "commit": "b4e8aac32d28dfe0f73e0981387c5b20249f385c",
+   "sha256": "0pim03m7czfy6jphzmw9y38jxhagmffy02d0q95glwxxiz7m6h6r"
   },
   "stable": {
    "version": [
@@ -68194,6 +68303,21 @@
   }
  },
  {
+  "ename": "lurk-mode",
+  "commit": "8249b98a1b3239260f61e67002288803047cbaf6",
+  "sha256": "1pkhfryh00a6d3snmqj4c511bjf8lwydzzal7x0ysfgvaljldfab",
+  "fetcher": "github",
+  "repo": "lurk-lang/lurk-emacs",
+  "unstable": {
+   "version": [
+    20221114,
+    2218
+   ],
+   "commit": "568fdce7b80a3d71d09369318b18f86de2372105",
+   "sha256": "03d2xlyw9bqd9wpxxim63c43jpdnjnxi2xyp16359zhxs2np9src"
+  }
+ },
+ {
   "ename": "lush-theme",
   "commit": "8b29b2f36852e711ce3520d71e83921a1dcb9ccf",
   "sha256": "03kqws8dzm0ay5k86f4v7g2g2ygwk4fzmz2vyzhzhbsj8hrniq9p",
@@ -68471,14 +68595,14 @@
   "repo": "amake/macports.el",
   "unstable": {
    "version": [
-    20221030,
-    1214
+    20221113,
+    1020
    ],
    "deps": [
     "transient"
    ],
-   "commit": "e4e703a8ec8310a42ae45eaf6513f04ba246c9e7",
-   "sha256": "0qimcs8l4hf9b761f4v9hcwz927d38dsvrxzashgwj3xbv2xz1nk"
+   "commit": "78898be20e3fffef67b3f1eb812347df89cd151f",
+   "sha256": "1312gd7f02frc26c899cpdbdsxafqgw459i1lwxnnssck48m30vz"
   }
  },
  {
@@ -68665,8 +68789,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20221101,
-    2214
+    20221113,
+    2221
    ],
    "deps": [
     "compat",
@@ -68676,8 +68800,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "a3d3758b268e40ecb6ee399833a8388dc59a94dd",
-   "sha256": "0zw5q97v5q0vpm56jk35wqhrhai4xllpkk01s7p8w99vcc97jv26"
+   "commit": "05b0d99d714350d51676b86da9f5daa2f6b7fa3e",
+   "sha256": "043y2fzvm7b9626qyaljab5zcgwflalw5vi9sln72q3pyx8zk8rw"
   },
   "stable": {
    "version": [
@@ -70447,16 +70571,16 @@
   "repo": "martianh/mastodon.el",
   "unstable": {
    "version": [
-    20221110,
-    1948
+    20221117,
+    1357
    ],
    "deps": [
     "persist",
     "request",
     "ts"
    ],
-   "commit": "404d2fce2a5a975888a499aa224c81e862f60b82",
-   "sha256": "0mqah8jfi1v97ia408a9750zwhsh95k3vfh1p3fjs2v5lx900vb6"
+   "commit": "98276c45f29d4e45955ad7649758619453423cb4",
+   "sha256": "1sikn8jbq06k2z3qssrgh393hadrvmf667k6w3xd02sbas3zpk5d"
   },
   "stable": {
    "version": [
@@ -71507,20 +71631,20 @@
   "repo": "org2blog/org2blog",
   "unstable": {
    "version": [
-    20220919,
-    2119
+    20221118,
+    536
    ],
-   "commit": "a87e5d665838478dc03416f078e7d6f2100604ea",
-   "sha256": "1zfkny44mvwdlgh0dx0kb7wrlcazfhasbm19yp604adn0nvi9vvm"
+   "commit": "0d435af91c237351f0880536cb3cf21a91041ba4",
+   "sha256": "1h2i63b7615kdn7d8bfhpn8c5ml17vf9lj7cyz4bhgrd8jdsrm71"
   },
   "stable": {
    "version": [
     1,
     1,
-    15
+    16
    ],
-   "commit": "a87e5d665838478dc03416f078e7d6f2100604ea",
-   "sha256": "1zfkny44mvwdlgh0dx0kb7wrlcazfhasbm19yp604adn0nvi9vvm"
+   "commit": "0d435af91c237351f0880536cb3cf21a91041ba4",
+   "sha256": "1h2i63b7615kdn7d8bfhpn8c5ml17vf9lj7cyz4bhgrd8jdsrm71"
   }
  },
  {
@@ -71564,11 +71688,11 @@
   "repo": "kazu-yamamoto/Mew",
   "unstable": {
    "version": [
-    20210625,
-    240
+    20221117,
+    1310
    ],
-   "commit": "fc4bca6d95d8b8d5e169ecf1433d968c2eec299d",
-   "sha256": "0lcy73df204ww4kmbkfz5cbpmdwbsn7z47j5by89izn14dczllvq"
+   "commit": "7e4dd83a1896f44e1b6c820263c850e3b33eec50",
+   "sha256": "0zjnqnrz4gy1rikrgg8smg62wy3m50w0gpsq644606s24hvf7kwc"
   },
   "stable": {
    "version": [
@@ -72342,13 +72466,13 @@
    "version": [
     0,
     5,
-    8
+    9
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8aed53f9aec4bcb9faf5f2b080e863f51d775905",
-   "sha256": "0ds48cfznxcakrfgyyw1valb7ia1sijwlmxs7mcq4787ck9l8hwr"
+   "commit": "8725cfc12bded653d52a6a223c4d34bec2b1d538",
+   "sha256": "12dn3zp17kw1cj3a883mn1g3dgdai5qy9p799zg752ishp3dqan8"
   }
  },
  {
@@ -72745,11 +72869,11 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20221101,
-    424
+    20221117,
+    1155
    ],
-   "commit": "f1149c18005d31638b3701f9a89819b133b4360e",
-   "sha256": "1r1h1vb3yxd9k2m0fyk6rgy6vfaqkb0k6780wgqg6i21r552qi5p"
+   "commit": "30b622807601d3c1722347717f998d6d5a0146f3",
+   "sha256": "0iis4lc2sxbzf5syp23zqpy451avv7k1hwjc5d3y0lrnp4ivchln"
   },
   "stable": {
    "version": [
@@ -74561,11 +74685,11 @@
   "repo": "NinjaTrappeur/my-repo-pins",
   "unstable": {
    "version": [
-    20221111,
-    1020
+    20221115,
+    1729
    ],
-   "commit": "98500ddde2d9c1e19ec319a7bab28bd2eb0dbcab",
-   "sha256": "0gnqb1n1cxrbr3cfgnnjrzkq9pmrnn2zbrpig63p9vgffs3xr2hd"
+   "commit": "e6d7d6c21c53d9120e54d5f68a6277f49acbe3bc",
+   "sha256": "0a1d5z8ma5b8mjkaiibblcf1x2rnlbr5zc0nxjnhv2lw569iv3ql"
   },
   "stable": {
    "version": [
@@ -76336,14 +76460,14 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20221025,
-    2346
+    20221027,
+    346
    ],
    "deps": [
     "compat"
    ],
-   "commit": "8a556ddad8ff58db2d2e2fafd5a495815d23179b",
-   "sha256": "0h041nzdhzkm0bp5q4z0vfqvp808x5l4q0npk29j32yjj7yd2as3"
+   "commit": "cb277b8a84ca5857b607b3ff6132ee3663a57953",
+   "sha256": "1x6jcsndmlxvj9ncrg2nam5zqvcs0a5jjjm7ij3q929rdn5fl3kc"
   },
   "stable": {
    "version": [
@@ -76679,11 +76803,11 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20221105,
-    1730
+    20221115,
+    1134
    ],
-   "commit": "82aa1acc0c6a66eb3b771357e513eb4d16f9f276",
-   "sha256": "0q0zs4yqb6rdhzp7r8xz1291mwcxl36fvlcyg8x13b1mk43p2bbp"
+   "commit": "5ba7684445b9338ab289d502d4688d9aff3d8803",
+   "sha256": "15f6f4wm0k99ipzd7q3iv4w1ch534wyrnm0vhqa25k0sz2skzssr"
   },
   "stable": {
    "version": [
@@ -77411,14 +77535,14 @@
   "repo": "rocher/ob-ada-spark",
   "unstable": {
    "version": [
-    20220715,
-    1824
+    20221114,
+    2007
    ],
    "deps": [
     "f"
    ],
-   "commit": "e2c9b08b62d8cd480f274f548bd97f3a941ae707",
-   "sha256": "0s4w0dqyc9hgwf6xsrz4jwybfpn0bml1laq5bkr0n4w61cs8nf6f"
+   "commit": "92978410ca14aa4e84c229a0920ad40be91c35e1",
+   "sha256": "1ry81c9cqagfk35nrm1m5q3ph23fx9pawy03sldjvjgcy7pgimzw"
   },
   "stable": {
    "version": [
@@ -77893,15 +78017,15 @@
   "repo": "juergenhoetzel/ob-fsharp",
   "unstable": {
    "version": [
-    20221112,
-    1135
+    20221113,
+    1904
    ],
    "deps": [
     "fsharp-mode",
     "seq"
    ],
-   "commit": "fee0042f14edc32c33fb8bfc9599bb7b5c529c29",
-   "sha256": "1bv424y22lssmhv8l6zbibv1zcnasncyjkbhd3mg6x6znkq0c680"
+   "commit": "a5e893a88d47bd8ea01cf456331ce54910321b47",
+   "sha256": "0ag3jib93ncwnmxa90b74alrcqwrr3g8zsw2cc30gb2pgh1hikwb"
   }
  },
  {
@@ -78143,6 +78267,24 @@
   }
  },
  {
+  "ename": "ob-lurk",
+  "commit": "8249b98a1b3239260f61e67002288803047cbaf6",
+  "sha256": "1adw6aip92xmzcgl2zqnpw7pw8nsfjsn5kbpxdq8a70cx04k820m",
+  "fetcher": "github",
+  "repo": "lurk-lang/lurk-emacs",
+  "unstable": {
+   "version": [
+    20221107,
+    1338
+   ],
+   "deps": [
+    "lurk-mode"
+   ],
+   "commit": "b341ffbf5959bbbc7dd33b35e207ce8b7bfbf565",
+   "sha256": "1hs4msdqi1m74ypgqrzag49x868i2vxf6wybb6kcc26kb9f36pwp"
+  }
+ },
+ {
   "ename": "ob-mermaid",
   "commit": "4df483806a4caaeb99fdac42f83bfe648d2e4165",
   "sha256": "0fp57m80ksnb6zs1gndwsqhrphkv9lfysq0h7h8g3parizh2idzs",
@@ -78823,8 +78965,8 @@
   "repo": "licht1stein/obsidian.el",
   "unstable": {
    "version": [
-    20221110,
-    1824
+    20221115,
+    1143
    ],
    "deps": [
     "dash",
@@ -78833,14 +78975,14 @@
     "s",
     "yaml"
    ],
-   "commit": "749583cf04c8e703ff1e1094792c0a52d493c8ed",
-   "sha256": "1574yz9jzs7q4mi0h748wra27i3h82vbsn24gl7nyvzkpiipj8ja"
+   "commit": "95bf7624e26adb29925e4609dd0aeacdb29c5bc5",
+   "sha256": "17ymp9z735cisb7bjdcmqmhv88n2vhzg3l7708jcj6a588i3sbf3"
   },
   "stable": {
    "version": [
     1,
     1,
-    8
+    9
    ],
    "deps": [
     "dash",
@@ -78849,8 +78991,8 @@
     "s",
     "yaml"
    ],
-   "commit": "a8925d3674dd0928895f4dca824e7cba0f031c72",
-   "sha256": "0qzs8n3lp0ab0gfv874px4ki1mym557j81qbgxniw8n3qhcklqnx"
+   "commit": "95bf7624e26adb29925e4609dd0aeacdb29c5bc5",
+   "sha256": "17ymp9z735cisb7bjdcmqmhv88n2vhzg3l7708jcj6a588i3sbf3"
   }
  },
  {
@@ -79866,11 +80008,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20221023,
-    1708
+    20221113,
+    1719
    ],
-   "commit": "b355ef6d386134f16eafe17051e9fafcfbea9cad",
-   "sha256": "1adkcr0s65a73kjgj7fsjks8hhg3w1zm7jiqicn7gj87jlc7nnjm"
+   "commit": "2debd96da6f75703ccbca6d852ad994ce84fa529",
+   "sha256": "0ppwlp6a105m5ic5k2xgxz4c5wwsq025vhclzgvbnk73lmmg2c0v"
   },
   "stable": {
    "version": [
@@ -81142,32 +81284,38 @@
   "repo": "kidd/org-gcal.el",
   "unstable": {
    "version": [
-    20220809,
-    1955
+    20221119,
+    0
    ],
    "deps": [
+    "aio",
     "alert",
+    "elnode",
     "org",
     "persist",
     "request",
     "request-deferred"
    ],
-   "commit": "40291bec0cd0bf8a2f5db656e4d3077b256092ae",
-   "sha256": "00ais9k2qc9ib7ihh38hwz3gmkn9zcb2x5n7x8cllhdq8zmy00a6"
+   "commit": "86faad251d3109a900661d40001f214cf51bc635",
+   "sha256": "1ygl4c6x7h1wlwhh92b75wiqf5hkmi3q5j4q9klvicn2hb1hfgaa"
   },
   "stable": {
    "version": [
     0,
-    2
+    4,
+    0
    ],
    "deps": [
+    "aio",
     "alert",
-    "cl-lib",
+    "elnode",
     "org",
+    "persist",
+    "request",
     "request-deferred"
    ],
-   "commit": "badd3629e6243563c30ff1dd0452b7601f6cc036",
-   "sha256": "1pxfcyf447h18220izi8qlnwdr8rlwn5kds8gr5i1v90s6hpa498"
+   "commit": "86faad251d3109a900661d40001f214cf51bc635",
+   "sha256": "1ygl4c6x7h1wlwhh92b75wiqf5hkmi3q5j4q9klvicn2hb1hfgaa"
   }
  },
  {
@@ -81685,14 +81833,14 @@
   "url": "https://repo.or.cz/org-link-beautify.git",
   "unstable": {
    "version": [
-    20221021,
-    859
+    20221117,
+    1124
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "0e72581a26a23b1fafd4983904f0904496395cd1",
-   "sha256": "1gryqglrb7m3v0ynbjl8365rh2j1x8688dyd34c2xw3c26z87d00"
+   "commit": "f4d9c343c75dc0bbda5375d5315cdee8c819a61e",
+   "sha256": "0vxw5f8fcx6n6gkmzxh0vd0gmpzjaczsa3a9ig1hxz6zw46q1vzi"
   }
  },
  {
@@ -82639,6 +82787,21 @@
   }
  },
  {
+  "ename": "org-rainbow-tags",
+  "commit": "157458f7bec9624418993723ec2a7931f9da2e25",
+  "sha256": "1ph8jrqpvdcv0s8i8n8a6pqnv3bf9jvarmddv1zsrfcf7hbrdhvg",
+  "fetcher": "github",
+  "repo": "KaratasFurkan/org-rainbow-tags",
+  "unstable": {
+   "version": [
+    20221114,
+    1307
+   ],
+   "commit": "6001ec9345bea4e60b2178940ef197c055d5a5d8",
+   "sha256": "1qlpszfvi1zngfi377pxkb9byhw0x8h4wsc70jn2slddq0jryjad"
+  }
+ },
+ {
   "ename": "org-random-todo",
   "commit": "ad320d60e2c95881f31628c19ad3b9ece7e3d165",
   "sha256": "1abhpazwr7gp9bvl83zdg2nvw51mg70myqi18l3hzic033pbhxwz",
@@ -82965,15 +83128,15 @@
   "repo": "akirak/org-reverse-datetree",
   "unstable": {
    "version": [
-    20221101,
-    1828
+    20221119,
+    1134
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "2b6d77f7c5e043b90435c604196d7a551e62bdc3",
-   "sha256": "0fxrd0pdbgw3d8im57s68shyag97raasfgjh3ap4nm2n3708j3gb"
+   "commit": "b6d6b7179019e87b13dfdfeef28037821ed4d01f",
+   "sha256": "0yibkc1mh8z15lpjws92d71d8vxr6svcbdnlxi9rpr1c108vqqkg"
   },
   "stable": {
    "version": [
@@ -84385,8 +84548,8 @@
   "repo": "org2blog/org2blog",
   "unstable": {
    "version": [
-    20221030,
-    1910
+    20221118,
+    536
    ],
    "deps": [
     "htmlize",
@@ -84395,14 +84558,14 @@
     "writegood-mode",
     "xml-rpc"
    ],
-   "commit": "a77a549de75e1f1c8c806b30f7fd2dd0b2ea8593",
-   "sha256": "1c6k3czh54hn3gm8f30l2hmszmpnazph3q0n2qkdf979334h9079"
+   "commit": "0d435af91c237351f0880536cb3cf21a91041ba4",
+   "sha256": "1h2i63b7615kdn7d8bfhpn8c5ml17vf9lj7cyz4bhgrd8jdsrm71"
   },
   "stable": {
    "version": [
     1,
     1,
-    15
+    16
    ],
    "deps": [
     "htmlize",
@@ -84411,8 +84574,8 @@
     "writegood-mode",
     "xml-rpc"
    ],
-   "commit": "a87e5d665838478dc03416f078e7d6f2100604ea",
-   "sha256": "1zfkny44mvwdlgh0dx0kb7wrlcazfhasbm19yp604adn0nvi9vvm"
+   "commit": "0d435af91c237351f0880536cb3cf21a91041ba4",
+   "sha256": "1h2i63b7615kdn7d8bfhpn8c5ml17vf9lj7cyz4bhgrd8jdsrm71"
   }
  },
  {
@@ -86669,19 +86832,19 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20220830,
-    1429
+    20221113,
+    1600
    ],
-   "commit": "c3c535e93d9dc92acd21ebc4b15016b5c3b90e7d",
-   "sha256": "17z0wbqdd6fspbj43yq8biff6wfggk74xgnaf1xx6ynsp1i74is5"
+   "commit": "9190f3d21b7cd1c0e7c26f4c1cf6b4a07f7ab8fa",
+   "sha256": "02r5bs5ifm95j0lcdkaqkn77wdwvdmd2f6r6b4b5ynyx3rlp9003"
   },
   "stable": {
    "version": [
     3,
-    1
+    2
    ],
-   "commit": "1604b3a5f0040c6f487d38561388abab2f3d54c5",
-   "sha256": "1gkqav0ipfk5gsklxrbggqrbphr12qg1qr6dpdi4f0hs0i11fr23"
+   "commit": "b40825a1ff83fb1adfaa61ea91d99a85bc52ea85",
+   "sha256": "02ngllr9lilpjsgdpk4628kdp0nwdlrkxj78bvi4jlhnbk4chh1c"
   }
  },
  {
@@ -89256,20 +89419,20 @@
   "repo": "emacs-php/php-mode",
   "unstable": {
    "version": [
-    20221107,
-    1615
+    20221112,
+    1616
    ],
-   "commit": "bbed922fa9b9ab36aeffcbdb85c434c4a6c41450",
-   "sha256": "195jfmv47hghg5dmzg0csssaiw829z2wcx2awnb3mvy6wiwbv01v"
+   "commit": "d01cfc9cd51706e076bf7e5cbf0cfa7ee885efb4",
+   "sha256": "13lkzvamr86409whr8as4721gx9xrlfkmxvv941775mryliqk6j6"
   },
   "stable": {
    "version": [
     1,
     24,
-    1
+    2
    ],
-   "commit": "2440330456e6b73ba3725d1bebddfe67cb6e6e5c",
-   "sha256": "06xgmlbvqhkrnk6390mdbpjij34msxxwzqmagi6zpwpsf38mn6qf"
+   "commit": "d01cfc9cd51706e076bf7e5cbf0cfa7ee885efb4",
+   "sha256": "13lkzvamr86409whr8as4721gx9xrlfkmxvv941775mryliqk6j6"
   }
  },
  {
@@ -91628,20 +91791,20 @@
   "repo": "tumashu/posframe",
   "unstable": {
    "version": [
-    20221015,
-    727
+    20221118,
+    614
    ],
-   "commit": "3084cb6eb366d26b0f5a4aa9baffb297178be3b8",
-   "sha256": "0y8mm8wpylvnmpfvk56hfs550cd181fwwxpbqip7px1wc0wqfmhl"
+   "commit": "48b7130ca3b5c98bdb21bf99b64a3536acf2b0eb",
+   "sha256": "1v8jkrgfkj2a08m82dz7vrlyjw3wrk3nd33wi4c166agssznlmih"
   },
   "stable": {
    "version": [
     1,
-    1,
-    8
+    2,
+    0
    ],
-   "commit": "0c5e57ac870735cb780936b1efc4bdd17fe87112",
-   "sha256": "15q7igq28z36v0fq31hhdp5xp0fl9cf864i4hhapvh295hf2n8xy"
+   "commit": "48b7130ca3b5c98bdb21bf99b64a3536acf2b0eb",
+   "sha256": "1v8jkrgfkj2a08m82dz7vrlyjw3wrk3nd33wi4c166agssznlmih"
   }
  },
  {
@@ -91991,11 +92154,11 @@
   "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20221112,
-    344
+    20221118,
+    307
    ],
-   "commit": "c28bca2213efd2666b0328c29f2c26e9b603cc9a",
-   "sha256": "0156sbs4b535mcwm44qjr8lx48svmjvdqh8c8hr6d0l709f27yq3"
+   "commit": "a000de747515aa7e7ad1ea0eab711864a4be0ab5",
+   "sha256": "1d1d4msmkc0cvd6vva0pfq72i07p0my9wj2s8zvj60pvah620yl0"
   },
   "stable": {
    "version": [
@@ -92754,11 +92917,11 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20221112,
-    914
+    20221118,
+    1035
    ],
-   "commit": "1ca2303eaa60abc3fda94bd54572a2a5f1ce7c16",
-   "sha256": "0s1biz7wvb3rhfjkm87ga70fly4j7kp0q4n9mqpmmjnq1wnsjkfy"
+   "commit": "5703797bb2a400e962479e670086aca4241a77b7",
+   "sha256": "0xm6792q1z90mjmxrp54vw2yh34hzxisdxz5dl5df78ckkgbxsww"
   },
   "stable": {
    "version": [
@@ -93535,6 +93698,21 @@
   }
  },
  {
+  "ename": "ptree",
+  "commit": "37562efe28a6c4e1c72a57236f80aa734d7144ed",
+  "sha256": "1ycgj0gnl3xh5bjnadfwjlip6f51kbmsvdqykiy2mv7321lrghpc",
+  "fetcher": "github",
+  "repo": "alpha-catharsis/ptree",
+  "unstable": {
+   "version": [
+    20221106,
+    1649
+   ],
+   "commit": "23cb9093f99b9869606f8d54fa5c45ea35fcc789",
+   "sha256": "0vxji487f1yfffjs8vgi8f4l2ssj3n26lr2sx5xzdj70x2w5rz04"
+  }
+ },
+ {
   "ename": "pubmed",
   "commit": "ee84560c15e7389e902fb4a4c548c08be231de82",
   "sha256": "048kh442dnzgwz4wml2a5griav8zyrfzn5b43n9ky84pm7lgcxp3",
@@ -94365,11 +94543,11 @@
   "repo": "it-is-wednesday/pyinspect.el",
   "unstable": {
    "version": [
-    20220805,
-    918
+    20221118,
+    1014
    ],
-   "commit": "df5959e699157d757c16ce11efdf3045a5b58d23",
-   "sha256": "15xbs4g5agp700ajqrfcz6fgmridj55v8hhg1jmhqn1aacvh6zas"
+   "commit": "a6f9a47327b2465dde106307e5dd8e84cb3321d9",
+   "sha256": "1lqgv9xbl3fvgkz60rwq7awmzhkpfd70bhl1fbz8v4cl4fhbl1p7"
   }
  },
  {
@@ -94380,20 +94558,19 @@
   "repo": "emacsorphanage/pylint",
   "unstable": {
    "version": [
-    20221111,
-    2150
+    20221117,
+    1303
    ],
-   "commit": "8958821959b7380ba762a29f607cfcacf3a5ca1f",
-   "sha256": "0zl84fmvk7rm32ljcca70zcn3k2mq1mfl158lf6ypypb33sa4zbv"
+   "commit": "bddb91610b6b6aa1e7fee96b6be3be69dfe3695e",
+   "sha256": "0n7d70l9bjz210dazvn13mr7s0klinnqr36n59fzsrij6xp46kaq"
   },
   "stable": {
    "version": [
-    2,
-    15,
-    5
+    1,
+    3
    ],
-   "commit": "bb17694867b1668db0cd3ae00c8a960d7f4b9868",
-   "sha256": "01p44qlwd3j1fsnkzma81ql7h9mlpn9k26m79rsp114lqv077j3m"
+   "commit": "bddb91610b6b6aa1e7fee96b6be3be69dfe3695e",
+   "sha256": "0n7d70l9bjz210dazvn13mr7s0klinnqr36n59fzsrij6xp46kaq"
   }
  },
  {
@@ -95416,11 +95593,11 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20221107,
-    1846
+    20221118,
+    1721
    ],
-   "commit": "74999273195dfeed98bfbe63114df1002e53eee6",
-   "sha256": "0rsnyg8y5zzhmfpl4qk47jvcrddzxhg0s43d2jhf8x60fjzz17l7"
+   "commit": "28d19dee861354d92108692dd80d9f18b2db0c46",
+   "sha256": "08blxg2ibf9nr2m1hhrw9l232a1zly44sw8xrzbznipv6s9388w1"
   }
  },
  {
@@ -97505,11 +97682,11 @@
   "repo": "tkf/emacs-request",
   "unstable": {
    "version": [
-    20221022,
-    1122
+    20221115,
+    1450
    ],
-   "commit": "2c33e451879c4ea406a4a2e076636188eb4b9920",
-   "sha256": "0jmfjsgvbl0yc7fynppfwbxi0nf09057cr479biiw5an5pd0d8r1"
+   "commit": "eb66f05fe37f22228f470882b04a6362683975e1",
+   "sha256": "0g6n9bajgs7mgw9qlx0kin109br92wfn5py5zby674khxvppxdf8"
   },
   "stable": {
    "version": [
@@ -98209,8 +98386,8 @@
   "repo": "DogLooksGood/emacs-rime",
   "unstable": {
    "version": [
-    20220620,
-    951
+    20221112,
+    1341
    ],
    "deps": [
     "cl-lib",
@@ -98218,8 +98395,8 @@
     "popup",
     "posframe"
    ],
-   "commit": "3eeef9c445fa056a4b32137f9ef72c27ced2d4ab",
-   "sha256": "1sk09z05xvg94pkf4181hvlg9q0m71kinzxv8223ls8df6ymc43k"
+   "commit": "74f3dff40e66c65388a9471eecbc1d9aca5612f7",
+   "sha256": "1bqhn6pvsgs1x882q7y5p372aify2jmyfmgmx99nzakxbfkb0yqp"
   },
   "stable": {
    "version": [
@@ -98424,14 +98601,14 @@
   "repo": "dgutov/robe",
   "unstable": {
    "version": [
-    20221108,
-    40
+    20221115,
+    149
    ],
    "deps": [
     "inf-ruby"
    ],
-   "commit": "9211e329c717a7c63ef1347e583274c1fd1e019a",
-   "sha256": "1d3psvi6x9pizchx39hfnfma9033blns6j06b32109798mqddk8n"
+   "commit": "c29b47f588715b911da4588a59f3a5245f844138",
+   "sha256": "05b60l9pn4hh3fdxlk0q98qi2w283a62x7jw02v958y33p030bqd"
   },
   "stable": {
    "version": [
@@ -99355,8 +99532,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20221025,
-    1131
+    20221119,
+    1151
    ],
    "deps": [
     "dash",
@@ -99370,8 +99547,8 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "4879922524faff116535c9061af6e8a902609f65",
-   "sha256": "14gdgmxzxv31g0bgidqk7jdl1i38h0ybkndp04s8rvja92jzfpsi"
+   "commit": "1dfa9b5dfbab261bda7555e675ab2b6db13d0be2",
+   "sha256": "1lara2q3m2mxfxk8bjhal58gqwkaj1rmh9v2racydzp32hjwk6xg"
   },
   "stable": {
    "version": [
@@ -99904,19 +100081,19 @@
   "repo": "openscad/emacs-scad-mode",
   "unstable": {
    "version": [
-    20221111,
-    1803
+    20221114,
+    559
    ],
-   "commit": "efc5f1cf1485b28ce77c9d83506d98bdca932659",
-   "sha256": "1bg1d42v0id406yqkggylmwfynsj0r0f5fh0f1w28qjiqx8mi0k6"
+   "commit": "188c9708e06f59c580866e4b9ead81513dc92df0",
+   "sha256": "08l9kxxzzm3apfrrwvkqsxyscal8357b7w87c3aagbbwvmxc3zfw"
   },
   "stable": {
    "version": [
     93,
-    0
+    1
    ],
-   "commit": "61f306462ad97981ac8b952b4baba2e31f745a89",
-   "sha256": "1prdc1fdd7n9vgq20wk7q16px8yn6zr26nq8naw8d0ndinsly94m"
+   "commit": "efcc16b1af3c3e2262fe75e9eb0f2ed30547da3f",
+   "sha256": "1785fyahlqs7fshvcsa2vpvdi2q1qza03iii984xc260dc4wqv5v"
   }
  },
  {
@@ -100755,15 +100932,15 @@
   "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20221112,
-    344
+    20221118,
+    307
    ],
    "deps": [
     "prescient",
     "selectrum"
    ],
-   "commit": "c28bca2213efd2666b0328c29f2c26e9b603cc9a",
-   "sha256": "0156sbs4b535mcwm44qjr8lx48svmjvdqh8c8hr6d0l709f27yq3"
+   "commit": "a000de747515aa7e7ad1ea0eab711864a4be0ab5",
+   "sha256": "1d1d4msmkc0cvd6vva0pfq72i07p0my9wj2s8zvj60pvah620yl0"
   },
   "stable": {
    "version": [
@@ -100972,28 +101149,28 @@
   "repo": "twlz0ne/separedit.el",
   "unstable": {
    "version": [
-    20221102,
-    239
+    20221117,
+    642
    ],
    "deps": [
     "dash",
     "edit-indirect"
    ],
-   "commit": "ba61a20b8406c925a9626a0ae7ee5466b00610a5",
-   "sha256": "06d69v78apkm5dg5bzy13x7zb2p5a35cw5wk85mv8yq4rhlngw2d"
+   "commit": "91a41ff8044e7cbeb82159f6c595393606e5e744",
+   "sha256": "0bl6wvw1z5bax4msmdahxi0y4cp85nb4s90j32r8vzn41s3pyabz"
   },
   "stable": {
    "version": [
     0,
     3,
-    0
+    37
    ],
    "deps": [
     "dash",
     "edit-indirect"
    ],
-   "commit": "424b0f260a1bca20cd9359c42a0bc64a1a5e1928",
-   "sha256": "1i85mbnh6ijycsgxiknzvkimxag72cxg8asg3d1g4bakv3gp32rr"
+   "commit": "91a41ff8044e7cbeb82159f6c595393606e5e744",
+   "sha256": "0bl6wvw1z5bax4msmdahxi0y4cp85nb4s90j32r8vzn41s3pyabz"
   }
  },
  {
@@ -102660,15 +102837,15 @@
   "repo": "semenInRussia/simple-indentation.el",
   "unstable": {
    "version": [
-    20221111,
-    1848
+    20221113,
+    1645
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "06c3d16849f011ae492d190b5ddb0d7484967286",
-   "sha256": "1i93v5aq92q81a49rygw1s3vi9vl1f8s2z2ajkq1pc11plknplwk"
+   "commit": "77685b3dd802dade7d60817fc0e24e60c101776b",
+   "sha256": "0dsrqip19pjdbdg039pq56wqynx271h5f25wx13k0y08smgpylnm"
   }
  },
  {
@@ -105430,11 +105607,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20221112,
-    139
+    20221117,
+    127
    ],
-   "commit": "73e7279bb95b2e9640b9dfbe3f6ffea366da90d1",
-   "sha256": "0w1q2bixa061ddgh7a7mlaai4hcazi02avs6blcanckcl4jy3xvc"
+   "commit": "9364053159df98809996f3dce622b192638e40ee",
+   "sha256": "046vfbz6capsymqniclbsyhx6zc1l25z6391709kchyl4as2qlp7"
   }
  },
  {
@@ -106163,11 +106340,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20221110,
-    2251
+    20221116,
+    52
    ],
-   "commit": "d8b801b192debb72c22506e8391bc35ccca822ff",
-   "sha256": "09p9n0nr9464g5xw4kzwvvbyvw5m4pils34i295ca1vnw36r9y8x"
+   "commit": "689d27ed94254e3a3ce5a104057acc525e68a2ff",
+   "sha256": "0d14p5ijhs3aii7bzlbkaj7wwsbky2ar8mw55qqvz247b0zr4061"
   },
   "stable": {
    "version": [
@@ -106608,10 +106785,10 @@
    "version": [
     2,
     0,
-    1
+    2
    ],
-   "commit": "d9e2ce90abd41260cabd99ed85b8b9ce604ec616",
-   "sha256": "01w18w5h5981bbrqh395zn41qzmr7c8a1yaihjxyn386cjqx5bbp"
+   "commit": "7c0fb7928fa691df68107a8473d1970cd6909945",
+   "sha256": "1pr4asqm2ql29jg3z5racp2z7nl56rj13bzy5jx5rd31gyaqi69f"
   }
  },
  {
@@ -107703,14 +107880,14 @@
   "repo": "swift-emacs/swift-mode",
   "unstable": {
    "version": [
-    20220924,
-    648
+    20221119,
+    910
    ],
    "deps": [
     "seq"
    ],
-   "commit": "f4529efa453f2f3051e2c8f772cd9da80147b93d",
-   "sha256": "01dw8azlwfs6x9arl4kd28s03pqvza79g7dhw54v2rg42g3hpdx5"
+   "commit": "6d7093fb4a0b81686ffeff7e39f76027d83b7eb2",
+   "sha256": "0x27wj5kc77qwnvzm905np37w8rn96i1d104pa882z6pd4bx46ps"
   },
   "stable": {
    "version": [
@@ -108088,10 +108265,10 @@
  },
  {
   "ename": "symex",
-  "commit": "bbe4ff01aa8c06093cd0e4ad0cce253c3fb52816",
-  "sha256": "0nx03kl4bwdbidhvb7zba9gr6pc2gplh6zbnlxjb3zsvdm4injh1",
+  "commit": "8d14a6b06d97b36d5d76e418f800d6bc3156700f",
+  "sha256": "0y6nma82mxggp0724axy1fnvi3girnscjygdhl28dd3wx6kk268b",
   "fetcher": "github",
-  "repo": "countvajhula/symex.el",
+  "repo": "drym-org/symex.el",
   "unstable": {
    "version": [
     20221111,
@@ -108326,14 +108503,14 @@
   "repo": "enricoflor/syntree",
   "unstable": {
    "version": [
-    20221010,
-    2122
+    20221114,
+    1804
    ],
    "deps": [
     "org"
    ],
-   "commit": "2aba7298ab865e5242a013b3c7ecae240b5c811e",
-   "sha256": "0i8pdw8icw8gxqyzga8ywg26i288qirqpss3ahwyp77p7mqqs9f2"
+   "commit": "a36e5eeaeef2a179184883fc0a91b63d653d3cd9",
+   "sha256": "09mp6zw1lrzaf5sijq6h2qwcjavyk5zdngvl4jn1hh90l18rn6ld"
   },
   "stable": {
    "version": [
@@ -108532,11 +108709,11 @@
   "repo": "fritzgrabo/tab-bar-echo-area",
   "unstable": {
    "version": [
-    20211013,
-    1942
+    20221115,
+    1953
    ],
-   "commit": "d0d51ecbc5929eb7752b387c5bdfe4d879e78224",
-   "sha256": "1p3ikc776mr18r5py0sw098ahsj9w45ikqns4wbgr2fsjmgcgksr"
+   "commit": "3ab62ca7db3c1d83f96b7971ea4b3b0101b51ae9",
+   "sha256": "0grapqwfqjbi9yzcirgd8gmkg4zkplagwvdyal4jd4aajnnx6sh8"
   }
  },
  {
@@ -108691,14 +108868,14 @@
   "repo": "mclear-tools/tabspaces",
   "unstable": {
    "version": [
-    20221110,
-    133
+    20221114,
+    1744
    ],
    "deps": [
     "project"
    ],
-   "commit": "0f9726ae80384eb51d506cd5bee4c40430bd0439",
-   "sha256": "01vfqkdb4y8gn0xcfic29asx4jzifq8dkgybg51sh53vrwkndhxp"
+   "commit": "f25bb670c0f7b3f7555634d19fcdd3eb979ac7c0",
+   "sha256": "0y32r7p4mh56zjhmd5pfkgic3gx0xlwabay690pxzl9sqjpnai4p"
   }
  },
  {
@@ -109716,15 +109893,15 @@
   "repo": "emacsorphanage/terraform-mode",
   "unstable": {
    "version": [
-    20210621,
-    1953
+    20221117,
+    409
    ],
    "deps": [
     "dash",
     "hcl-mode"
    ],
-   "commit": "e560caaa9d9a11b0868adf6d9dcae5ebb5055730",
-   "sha256": "0r4zw6jwn5v1xzzbc1195jblhcg3ikbmz3wiwy462qzib56bj8d3"
+   "commit": "80f0433358b79ed4ba88c51829c7359baa1af8b1",
+   "sha256": "0gcxsd9zv47hzq1d5xqblyzgcf7vk215743s7x7ciiiwlg5xndnw"
   },
   "stable": {
    "version": [
@@ -110262,7 +110439,7 @@
    "version": [
     2022,
     11,
-    7,
+    14,
     0
    ],
    "commit": "68ba6854cce62923446c15e7f638417a8d7da7c8",
@@ -111480,14 +111657,14 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20221028,
-    1430
+    20221118,
+    1443
    ],
    "deps": [
     "compat"
    ],
-   "commit": "ad953cc3c5b8a066d3da11a8527c035744f1385f",
-   "sha256": "1mv0iaj8y2s617cvpv3jn3xzxkcqvn6hrqgl9f3062qsv8rzh8vi"
+   "commit": "804c27f1f585c05a777c288fbcfa1c16a3c0cd45",
+   "sha256": "1krw6rhgc6qvldb83zg021n13gg22l5afddnzpas5z7c0p154dm9"
   },
   "stable": {
    "version": [
@@ -111902,26 +112079,26 @@
   "repo": "emacs-tree-sitter/tree-sitter-langs",
   "unstable": {
    "version": [
-    20220925,
-    1020
+    20221114,
+    1054
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "00738cb725785cbd42978f944f8661c33b5d3fe5",
-   "sha256": "1nr1k92c0k7q0x7mgm0x23jyysc09mf967bmhyw6m4pdy1myc38x"
+   "commit": "df7d7d1a46b5145d4101f6b313d22e815e4f42b4",
+   "sha256": "0a34032r6vdnyg4akvil559q1jx091sbmzaq5l59a20pz8jxw349"
   },
   "stable": {
    "version": [
     0,
     12,
-    4
+    5
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "00738cb725785cbd42978f944f8661c33b5d3fe5",
-   "sha256": "1nr1k92c0k7q0x7mgm0x23jyysc09mf967bmhyw6m4pdy1myc38x"
+   "commit": "df7d7d1a46b5145d4101f6b313d22e815e4f42b4",
+   "sha256": "0a34032r6vdnyg4akvil559q1jx091sbmzaq5l59a20pz8jxw349"
   }
  },
  {
@@ -114077,26 +114254,26 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20221029,
-    1857
+    20221117,
+    1610
    ],
    "deps": [
     "bind-key"
    ],
-   "commit": "0be480ea77655304a4e6aa9d38d9d9a251b2bd32",
-   "sha256": "1d82j5awma5ckb8l9465i43yvi5ypc142q3r01wqryqj7an1yzky"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
    "deps": [
     "bind-key"
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -114107,8 +114284,8 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20221026,
-    1834
+    20221116,
+    1928
    ],
    "deps": [
     "bind-chord",
@@ -114116,14 +114293,14 @@
     "key-chord",
     "use-package"
    ],
-   "commit": "5c95dcb1e8690ab5f15342dc9d4bedd599f1650f",
-   "sha256": "16986nlca7qnmk22sq5vn05pmfdhgcww21djyxh9xx7k4hkgwn9g"
+   "commit": "41bf2aaf8854973d06f79ef69a638d0ef3ccf2bc",
+   "sha256": "0jji4lydv80dl9brbjhf2vyrsf52564nkvlqdrf0xbgaxjh34bnk"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
    "deps": [
     "bind-chord",
@@ -114131,8 +114308,8 @@
     "key-chord",
     "use-package"
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -114172,28 +114349,28 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20221026,
-    1834
+    20221116,
+    1928
    ],
    "deps": [
     "system-packages",
     "use-package"
    ],
-   "commit": "5c95dcb1e8690ab5f15342dc9d4bedd599f1650f",
-   "sha256": "16986nlca7qnmk22sq5vn05pmfdhgcww21djyxh9xx7k4hkgwn9g"
+   "commit": "41bf2aaf8854973d06f79ef69a638d0ef3ccf2bc",
+   "sha256": "0jji4lydv80dl9brbjhf2vyrsf52564nkvlqdrf0xbgaxjh34bnk"
   },
   "stable": {
    "version": [
     2,
     4,
-    1
+    4
    ],
    "deps": [
     "system-packages",
     "use-package"
    ],
-   "commit": "caa92f1d64fc25480551757d854b4b49981dfa6b",
-   "sha256": "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"
+   "commit": "9090080b15486c3e337be254226efe7e5fde4c99",
+   "sha256": "03mqkv63ink2ysy86slac8ac7a5g22bi0pwvxyncfasm43q9d0sx"
   }
  },
  {
@@ -115083,11 +115260,11 @@
   "repo": "federicotdn/verb",
   "unstable": {
    "version": [
-    20220915,
-    2159
+    20221113,
+    2327
    ],
-   "commit": "f945690276fbf16e65ac97f53ba5da9f8b637546",
-   "sha256": "1zggkw47v3q7r8v66zvpkp60pgidwxypjc373956s0d09ifw3i2p"
+   "commit": "b8ff1a0bbf84920fe26c56b9658bd289f43ad100",
+   "sha256": "0vmrmjfkky17sj8qrvibbnv621dnfksm21wn2h7kn40qi5h5kxb4"
   },
   "stable": {
    "version": [
@@ -115215,6 +115392,25 @@
   }
  },
  {
+  "ename": "vertico-prescient",
+  "commit": "72a84587636e291bee48d7e9ad5723791ad02d7e",
+  "sha256": "13hwp7264x0p2ffkfblx219a8idz351nxvc4y0fjyg9p5l3dswjl",
+  "fetcher": "github",
+  "repo": "radian-software/prescient.el",
+  "unstable": {
+   "version": [
+    20221118,
+    1427
+   ],
+   "deps": [
+    "prescient",
+    "vertico"
+   ],
+   "commit": "680fefa4601586dd87d549d33f5ae6fda3212c35",
+   "sha256": "16k34jp07snzknyp2lg0g6vsb7pk96s0fplb9hdjq8w3n4kyirb1"
+  }
+ },
+ {
   "ename": "vertigo",
   "commit": "f1957e7fa03b6b8eb2f3250bd814d707bce3cfa3",
   "sha256": "0x0wy1z601sk1x96bl2xx18qm4avd77iybq1a3ss8x8ykwqlgf83",
@@ -115899,11 +116095,11 @@
   "repo": "akermu/emacs-libvterm",
   "unstable": {
    "version": [
-    20221102,
-    1407
+    20221118,
+    1354
    ],
-   "commit": "5de2684d22d025a227b7d0d5bab89fa8fb6dbfda",
-   "sha256": "1an38rwg2q7iyrbn7ynfmx7jdb82m59lgm77ggwwq76ipncwvy2a"
+   "commit": "f14d113ee4618f052879509ec378feb9766b871b",
+   "sha256": "0alvh18agp815g5r2cwvyhfpspjfjz5gi84bg1xsi085g1wvgmbl"
   }
  },
  {
@@ -116157,11 +116353,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20221108,
-    22
+    20221116,
+    2331
    ],
-   "commit": "1ee184aab337b662f9725378bd49bf3a29dd984c",
-   "sha256": "017fxa7agwvf0r29mm479f7pppb0rmfix3ynbrja6sr2gjp1mfaz"
+   "commit": "b1642c87fe83700a929aebb774c89071e23c84e0",
+   "sha256": "1qblbxv4zbyv2ax1m42wfh1nx6bpl7snixx0whg8jiiqmk9sy6rb"
   }
  },
  {
@@ -116422,16 +116618,16 @@
   "repo": "wanderlust/wanderlust",
   "unstable": {
    "version": [
-    20220904,
-    1506
+    20221117,
+    1230
    ],
    "deps": [
     "apel",
     "flim",
     "semi"
    ],
-   "commit": "d99ffe08649aa2f7e781e701b39d7aba2bcdc183",
-   "sha256": "0141618ncs203d9009cdky5prnjm86nv9chkhiw8wycyc9dipvdv"
+   "commit": "f5cb2f0cf5e2c893acf2e669fd549836828dfdfc",
+   "sha256": "1ijs57wv1vrh33vn311hgkp42vlmjyi998nc4qdrqi7yy9j8hl1h"
   }
  },
  {
@@ -118325,14 +118521,14 @@
   "repo": "martianh/wordreference.el",
   "unstable": {
    "version": [
-    20221109,
-    1339
+    20221114,
+    1300
    ],
    "deps": [
     "s"
    ],
-   "commit": "02d44e1ef05dc991fd964f70264a2fe362574843",
-   "sha256": "1q7b3w4fsi8hy37h67qfpfslfa3kfghk31ridh3lpl0z7fss7zdn"
+   "commit": "31d5c2c06f07a695d41212760726bd5036297405",
+   "sha256": "1q5g5j63z2j43zfiyr76gq12mkslp194mhnmljsnfv4c0gbgihwj"
   }
  },
  {
@@ -118444,11 +118640,14 @@
   "repo": "akib/emacs-workroom",
   "unstable": {
    "version": [
-    20220608,
-    1718
+    20221114,
+    350
    ],
-   "commit": "e1092127bdf93d8f1ae0c58ec595d0181f606f1e",
-   "sha256": "104ba079b0s63ac6702hx71hp4ky76krki246x55dansvypcsydq"
+   "deps": [
+    "project"
+   ],
+   "commit": "b81e76e0a39937b7544bf77cbff16cc8c239b58f",
+   "sha256": "137nc6zm8fnj1ymvmrmkm7y41132cpfr6i8akzj7sj8jmvayzv98"
   }
  },
  {
@@ -118763,11 +118962,11 @@
   "repo": "jobbflykt/x509-mode",
   "unstable": {
    "version": [
-    20221104,
-    1010
+    20221115,
+    1401
    ],
-   "commit": "297d12c00ccc2c4d0e9082d41d1dfa3b51f84daa",
-   "sha256": "1q7x908f5ga05ww22sn41ic72qqdj00r5j4655s1jsvs83ja5y8w"
+   "commit": "814114b3dfe44ac477831c8ca5da0050a9d0fdf1",
+   "sha256": "0p0l8q1m3mj9lfss2sjbglpcp4dxzf46zjl9c2vzqf2v7hxlps2a"
   }
  },
  {
@@ -120244,11 +120443,11 @@
   "repo": "agzam/youtube-sub-extractor.el",
   "unstable": {
    "version": [
-    20221104,
-    239
+    20221116,
+    653
    ],
-   "commit": "944519b75c9a0cc52bac375c74547c936d835cfa",
-   "sha256": "1c6h1bhwmszpk5mbwq8b5i1y9knhv0vhsmvz06kgs86c5v0xs9zg"
+   "commit": "d69f732299fdf256504e15767c1d7e5de771220e",
+   "sha256": "1wnr7inr5g6q9q11mgsnqchssg2dpnpk1wrynngf9m6z6sg9bjs8"
   }
  },
  {
@@ -120930,6 +121129,25 @@
   }
  },
  {
+  "ename": "zk-desktop",
+  "commit": "70f0f206ab06b3587cb04aa3b11bfbb933d335e9",
+  "sha256": "0dpw4g891g43ajnw3958yn7q9zqwancz00vv4f3iz9rbnkc1wrl9",
+  "fetcher": "github",
+  "repo": "localauthor/zk",
+  "unstable": {
+   "version": [
+    20221107,
+    1204
+   ],
+   "deps": [
+    "zk",
+    "zk-index"
+   ],
+   "commit": "8cc0ca548f8fc1930bbc14b273b8a30df0c6327c",
+   "sha256": "0akqvgvlkfv05dl2d11gkb3ym38l1apsdp3d7l8sli7jdwqrhiaf"
+  }
+ },
+ {
   "ename": "zk-index",
   "commit": "01d387bc059e5d81d59ab5705082c56971a80b34",
   "sha256": "1rd4wpisrjc7ahyv3hinmv7nmma7xnacq1q35bnyyhsc0vv6rxs8",
diff --git a/pkgs/applications/editors/imhex/default.nix b/pkgs/applications/editors/imhex/default.nix
index 3a7463f89f831..b35f9aa06ca43 100644
--- a/pkgs/applications/editors/imhex/default.nix
+++ b/pkgs/applications/editors/imhex/default.nix
@@ -17,7 +17,6 @@
 , curl
 , fmt_8
 , nlohmann_json
-, xlibsWrapper
 , yara
 }:
 
@@ -45,7 +44,7 @@ gcc12Stdenv.mkDerivation rec {
     hash = "sha256-SFv5ulyjm5Yf+3Gpx+A74so2YClCJx1sx0LE5fh5eG4=";
   };
 
-  nativeBuildInputs = [ cmake llvm python3 perl pkg-config xlibsWrapper ];
+  nativeBuildInputs = [ cmake llvm python3 perl pkg-config ];
 
   buildInputs = [
     capstone
diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix
index 10b2b0a54aefe..9b248df95b66b 100644
--- a/pkgs/applications/editors/leo-editor/default.nix
+++ b/pkgs/applications/editors/leo-editor/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "leo-editor";
-  version = "6.6.4";
+  version = "6.7.1";
 
   src = fetchFromGitHub {
     owner = "leo-editor";
     repo = "leo-editor";
     rev = version;
-    sha256 = "sha256-NwqvlDG37OpWaLJHb6NqkRYvWwDzICKqfgIJRTBDnkI=";
+    sha256 = "sha256-4sD/gN9cbgZ9Z5Xiyx2velX5q6J6vOQAeRor10Zamyw=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index e5f1d658b5d73..0a3b5ca421d3f 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -26,13 +26,13 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "neovim-unwrapped";
-    version = "0.8.0";
+    version = "0.8.1";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "sha256-mVeVjkP8JpTi2aW59ZuzQPi5YvEySVAtxko7xxAx/es=";
+      sha256 = "sha256-B2ZpwhdmdvPOnxVyJDfNzUT5rTVuBhJXyMwwzCl9Fac=";
     };
 
     patches = [
diff --git a/pkgs/applications/editors/qemacs/default.nix b/pkgs/applications/editors/qemacs/default.nix
index 065dccb2b2197..9fc91fbe19771 100644
--- a/pkgs/applications/editors/qemacs/default.nix
+++ b/pkgs/applications/editors/qemacs/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, xlibsWrapper, libXv, libpng }:
+{ fetchurl, lib, stdenv, libX11, libXext, libXv, libpng }:
 
 stdenv.mkDerivation rec {
   pname = "qemacs";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "156z4wpj49i6j388yjird5qvrph7hz0grb4r44l4jf3q8imadyrg";
   };
 
-  buildInputs = [ xlibsWrapper libpng libXv ];
+  buildInputs = [ libpng libX11 libXext libXv ];
 
   preInstall = ''
     mkdir -p $out/bin $out/man
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 76762fd927cc5..6a0f498fa5543 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.3.1";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "${pname}-org";
     repo = pname;
     rev = version;
-    hash = "sha256-CwfnRkG8GsRQuE0+l394gMdj5ao3SUKaDnYP2dfUEew=";
+    hash = "sha256-BaTfebLilUeDNtCJZmgAx+hN+L+4MtnuL6t3wQRX/Ns=";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 9b41b1d8ce686..e79797471a8b5 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -185,12 +185,12 @@ final: prev:
 
   Navigator-nvim = buildVimPluginFrom2Nix {
     pname = "Navigator.nvim";
-    version = "2022-04-29";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "numToStr";
       repo = "Navigator.nvim";
-      rev = "0c57f67a34eff7fd20785861926b7fe6bd76e2c2";
-      sha256 = "1f1fh5w2hsf16dcd0zz5x4d5ig089bgr7dial3ir82445g7whwsc";
+      rev = "2ef04f4be7a9ffc648751e8c0d0c7236074c1dc1";
+      sha256 = "0yszjbl4q4pn3f6k90jx2i4bkqm55r4gjl7s6fmf6igcphmslkgm";
     };
     meta.homepage = "https://github.com/numToStr/Navigator.nvim/";
   };
@@ -486,12 +486,12 @@ final: prev:
 
   aerial-nvim = buildVimPluginFrom2Nix {
     pname = "aerial.nvim";
-    version = "2022-11-14";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "6146e0aaea0c42f8cc151827a0ac83408d11b639";
-      sha256 = "1fyvly5z420gxifz683jpxmw0l68bn11qrsg04b1p07g2xhjrvjd";
+      rev = "4b42ddbd453caec3b12541af80e498a02d47cf20";
+      sha256 = "0r3giqdvdpi3066ky4yib4lv36xy7cvsk3ry8j339ghiw00rjfv4";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@@ -811,12 +811,12 @@ final: prev:
 
   barbecue-nvim = buildVimPluginFrom2Nix {
     pname = "barbecue.nvim";
-    version = "2022-11-13";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "utilyre";
       repo = "barbecue.nvim";
-      rev = "7f14b47d8ebb5135724ccb7041f5ce43ec6dc839";
-      sha256 = "0n61764k2lqr59gldqchzhrbh8rgyjbfijfdpxsfp4x1aps35zks";
+      rev = "ce386c58bfce6601ab23f83fe3737e9201443267";
+      sha256 = "1ijybbpvjw3v2fqih8ldgs1ivhy84bbr59q4ipmph2rxxd4dwf8n";
     };
     meta.homepage = "https://github.com/utilyre/barbecue.nvim/";
   };
@@ -919,12 +919,12 @@ final: prev:
 
   bufdelete-nvim = buildVimPluginFrom2Nix {
     pname = "bufdelete.nvim";
-    version = "2022-11-02";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "famiu";
       repo = "bufdelete.nvim";
-      rev = "027d356a5caec51881089886893c197f0c27fb48";
-      sha256 = "1kg671nqjic4dn275ixf3iapj40q96mmpmi4bssz0pdd4gr37klm";
+      rev = "3ebf4a98c380ec27b3066eaa5f1fdda332df1a9d";
+      sha256 = "1cnlhl7kin27v57l2v4yn9v4kvdb9lp4h20ipyw3jh7r13p3y8gv";
     };
     meta.homepage = "https://github.com/famiu/bufdelete.nvim/";
   };
@@ -943,12 +943,12 @@ final: prev:
 
   bufferline-nvim = buildVimPluginFrom2Nix {
     pname = "bufferline.nvim";
-    version = "2022-11-07";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "7c07dee2714778a84a9adda6e676c8e2151085f2";
-      sha256 = "1v8j6zc5r30l9nzpvi2y5mym10cl3injpxarqkkcmww24daqgr74";
+      rev = "4ecfa81e470a589e74adcde3d5bb1727dd407363";
+      sha256 = "0l2d28bh85cv722c25qda74nkwmd19nifyyqmsn5ac2s027pasd8";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -1135,12 +1135,12 @@ final: prev:
 
   cmp-calc = buildVimPluginFrom2Nix {
     pname = "cmp-calc";
-    version = "2022-04-25";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-calc";
-      rev = "f7efc20768603bd9f9ae0ed073b1c129f63eb312";
-      sha256 = "0q5p5s46bh0h1w9p3yzwxd04hlbxg3s4liq42r697gqvna6sq0yg";
+      rev = "50792f34a628ea6eb31d2c90e8df174671e4e7a0";
+      sha256 = "1zl0wrszvwf5h7w2gv02a9py037k173wicipj9i8m4zfygixi90s";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-calc/";
   };
@@ -1375,12 +1375,12 @@ final: prev:
 
   cmp-nvim-lsp = buildVimPluginFrom2Nix {
     pname = "cmp-nvim-lsp";
-    version = "2022-11-15";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-nvim-lsp";
-      rev = "91050df7b3eeb91844bd80cde2ec5993fe91adcc";
-      sha256 = "1ka1bank3mkdgpch2c23i0109dvl48145kwfkyb5w1zy0d4m3rgq";
+      rev = "59224771f91b86d1de12570b4070fe4ad7cd1eeb";
+      sha256 = "1m8xs7fznf4kk6d96f2fxgwd7i5scd04pfy2s4qsb5gzh7q2ka9j";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lsp/";
   };
@@ -1447,12 +1447,12 @@ final: prev:
 
   cmp-omni = buildVimPluginFrom2Nix {
     pname = "cmp-omni";
-    version = "2022-01-08";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-omni";
-      rev = "7a457f0c4f9e0801fee777d955eb841659aa3b84";
-      sha256 = "0f9mk0h3g1gg6lq9qnasi0liv8kvgc6rzfvgc9cflq5kkw97gjpw";
+      rev = "8457e4144ea2fc5efbadb7d22250d5ee8f8862ba";
+      sha256 = "01qqf8b26nrv6wdn99dcvrrbapvnxmf05vaxhjfxl610z86bsxar";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-omni/";
   };
@@ -1697,18 +1697,6 @@ final: prev:
     meta.homepage = "https://github.com/neoclide/coc-neco/";
   };
 
-  coc-spell-checker = buildVimPluginFrom2Nix {
-    pname = "coc-spell-checker";
-    version = "2022-11-14";
-    src = fetchFromGitHub {
-      owner = "iamcco";
-      repo = "coc-spell-checker";
-      rev = "7988d47ad1942808f1a6f0420cda0abf493e1567";
-      sha256 = "0qakmv3c9iaqy6gncjaq3j1vgs42gb5f1nl3p99ddyz5w3vq58jr";
-    };
-    meta.homepage = "https://github.com/iamcco/coc-spell-checker/";
-  };
-
   coc-svelte = buildVimPluginFrom2Nix {
     pname = "coc-svelte";
     version = "2022-03-14";
@@ -2023,24 +2011,24 @@ final: prev:
 
   coq-artifacts = buildVimPluginFrom2Nix {
     pname = "coq.artifacts";
-    version = "2022-11-15";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.artifacts";
-      rev = "b85f88e9383791cd172468cdf2f2453e04e31e7e";
-      sha256 = "1160g2z9pgbhvzrg160mbvbzzhbil1l7373q5ikjf4a5fpyfvp4n";
+      rev = "b8a01364b727cdbc826005852ce69a36311f669e";
+      sha256 = "11ma2b0pv7m1vc3ixmpwjnwng5q3ycysld95j2mh0fhknfls5jq6";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.artifacts/";
   };
 
   coq-thirdparty = buildVimPluginFrom2Nix {
     pname = "coq.thirdparty";
-    version = "2022-11-15";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.thirdparty";
-      rev = "80169234eba842dde43130fe3c67163865318175";
-      sha256 = "0pbs5qyqrz0g49f92f3sy1l2kz5r9av2v1zwkxqnrlbx5j0cs2r3";
+      rev = "80b659a05f9317526d49a459b63cbcaf5dcca4a9";
+      sha256 = "01w03w9f2hiw2q3j8gkwz5g0vl5wvasv2wfkv14hkl1v91pfrz66";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.thirdparty/";
   };
@@ -2059,12 +2047,12 @@ final: prev:
 
   coq_nvim = buildVimPluginFrom2Nix {
     pname = "coq_nvim";
-    version = "2022-11-15";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "452dbcdebbdbe13e8aba348a44031dee37bba740";
-      sha256 = "0b6knphccqd91mj0wg1851li7c7jb9shp75bqrisgi0y4m4kx2iq";
+      rev = "b9ff595175281277e3bdfa3ee059e87c4172f4c5";
+      sha256 = "0i3cmf4cvqdsmyn9w69wglsii9xmynv3521pvfj1xphdg6y3bj22";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
@@ -2095,12 +2083,12 @@ final: prev:
 
   crates-nvim = buildVimPluginFrom2Nix {
     pname = "crates.nvim";
-    version = "2022-09-25";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "1dffccc0a95f656ebe00cacb4de282473430c5a1";
-      sha256 = "0riwlbd5sxg5r9zh8b0i3nwls9rdnwxqmb51fw3ic53j1ychs87c";
+      rev = "e11e27864428a68b25e43b833e9081e350a38d96";
+      sha256 = "15yma6waw0914i3z3ck50ndris4s7b9297lcjzsb7vxwkfnrkn9i";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -2517,12 +2505,12 @@ final: prev:
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete.nvim";
-    version = "2022-09-28";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "14578f1d0c7ed8faca7e640104840b7eaa1c35ee";
-      sha256 = "1gwq7nhd90ifh1gys2jvrq2s8521pyz7w3nsr2pmnv64h3yl1f2f";
+      rev = "4e91c4d3d0aa7630bea7d7b7f5ac259356c1959d";
+      sha256 = "161racr3vhnh9j06wkmhmigkjmcw53agflh6znl4gn6sx18s4amc";
     };
     meta.homepage = "https://github.com/Shougo/deoplete.nvim/";
   };
@@ -2589,12 +2577,12 @@ final: prev:
 
   diffview-nvim = buildVimPluginFrom2Nix {
     pname = "diffview.nvim";
-    version = "2022-11-11";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "e0c81186dcb96f9199024cbe3400ed367e716037";
-      sha256 = "071ghjvyzh0zlzwx3qrb5chc7wmz2ab21m2wiqjkkdi4ic9pdjmv";
+      rev = "f32a7224096cca11c3c91b0dd412808e63f3d720";
+      sha256 = "0a5dwjqnnpn05mvnz7khgy2mzqrxc0fbhm2iz8dwj5r4zjx1wg38";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
@@ -2613,12 +2601,12 @@ final: prev:
 
   doki-theme-vim = buildVimPluginFrom2Nix {
     pname = "doki-theme-vim";
-    version = "2022-11-08";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "doki-theme";
       repo = "doki-theme-vim";
-      rev = "cf534ddd2594b9e2f9602f0f65fbbf925d038505";
-      sha256 = "121y84p8p16djm60zb4sl5b5blsfsngmjp602rrvd2wi6jzjcn79";
+      rev = "2d1345239ae7327339bcbd645425ec993bc855d1";
+      sha256 = "1p2vjxry2bf9avxnf3hfbvxz8h37gh9rsdw4km3v42aphk49lvr0";
     };
     meta.homepage = "https://github.com/doki-theme/doki-theme-vim/";
   };
@@ -2807,12 +2795,12 @@ final: prev:
 
   feline-nvim = buildVimPluginFrom2Nix {
     pname = "feline.nvim";
-    version = "2022-10-26";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "feline-nvim";
       repo = "feline.nvim";
-      rev = "0d790837fc7ada5817176acf92fc168eeca86e5a";
-      sha256 = "0xg3p1n9v9psa3c2qhzhxjkrr8d5xz35riady0q0s5llbanvabg9";
+      rev = "6d4e3f934bffaa1893a690cd9b8f8b584ef0a7ea";
+      sha256 = "10bwbw2fhmyhscm135jd4qc091xzqb155y2bbn7ms35jrwvaz0z4";
     };
     meta.homepage = "https://github.com/feline-nvim/feline.nvim/";
   };
@@ -2940,12 +2928,12 @@ final: prev:
 
   flutter-tools-nvim = buildVimPluginFrom2Nix {
     pname = "flutter-tools.nvim";
-    version = "2022-11-10";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "flutter-tools.nvim";
-      rev = "fc336d95ca00ae9c2a7c4fad57f131494fc825dd";
-      sha256 = "0rkn63i5jqxxq122hb5gpcdy42sm09qnqd115ijx1l7ri803fc40";
+      rev = "b666a057108c7655882cbc64217222228aad68da";
+      sha256 = "0m2zmpcnv3zbjq83v0qfbqa7wvmhdscrsyfs9kr0yq3rfb7bmpzz";
     };
     meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/";
   };
@@ -2976,12 +2964,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2022-10-28";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "c93311fbcc840210a2c0db574177d84a35a2c9c1";
-      sha256 = "1kisjlwa2nad9xcwzal1yfdnwpcklkpz2ks6gpqqjfarnxw25c16";
+      rev = "ef8caa5002e53977779ce8ab18a9c393ed624386";
+      sha256 = "1kb3gh0qlbc75qkwy3ybhgsm9gcwbdba75ffhpcbifd6s6rdfj0n";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -3446,10 +3434,10 @@ final: prev:
     pname = "hare.vim";
     version = "2022-10-10";
     src = fetchgit {
-            url = "https://git.sr.ht/~sircmpwn/hare.vim";
-            rev = "267fb4dac4e8cd4df1d9b57fa587ce718f5fc256";
-            sha256 = "1spl17vd8w5k5xgqvmr80fi5samzhxfcqnkmzpqjk2sf5z88k80k";
-        };
+      url = "https://git.sr.ht/~sircmpwn/hare.vim";
+      rev = "267fb4dac4e8cd4df1d9b57fa587ce718f5fc256";
+      sha256 = "1spl17vd8w5k5xgqvmr80fi5samzhxfcqnkmzpqjk2sf5z88k80k";
+    };
     meta.homepage = "https://git.sr.ht/~sircmpwn/hare.vim";
   };
 
@@ -3467,12 +3455,12 @@ final: prev:
 
   haskell-tools-nvim = buildVimPluginFrom2Nix {
     pname = "haskell-tools.nvim";
-    version = "2022-11-15";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "d7d38a9304205f97cee06d1afdfed5a571c08d1e";
-      sha256 = "18bvwrsxqg78000r96psd6npcl7p1gs2alf3cqfk7i1hi565mdri";
+      rev = "da59ded100703c510dd0878d125a2a2e5454d305";
+      sha256 = "0asf0vljs9nsrdsfjqd9p5f7wibnjkz67ph2ilj15flrfgngf7x4";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -3513,6 +3501,17 @@ final: prev:
     meta.homepage = "https://github.com/travitch/hasksyn/";
   };
 
+  himalaya-vim = buildVimPluginFrom2Nix {
+    pname = "himalaya-vim";
+    version = "2022-10-10";
+    src = fetchgit {
+      url = "https://git.sr.ht/~soywod/himalaya-vim";
+      rev = "747ff2a6055839cb5b403b540883515af37b7117";
+      sha256 = "sha256-0WP9JoKN/A5bmnRjQJnquk3mRC7NEflUAdqki7+zqBU=";
+    };
+    meta.homepage = "https://git.sr.ht/~soywod/himalaya-vim";
+  };
+
   hiPairs = buildVimPluginFrom2Nix {
     pname = "hiPairs";
     version = "2020-12-10";
@@ -4044,12 +4043,12 @@ final: prev:
 
   legendary-nvim = buildVimPluginFrom2Nix {
     pname = "legendary.nvim";
-    version = "2022-11-15";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "legendary.nvim";
-      rev = "1050be8b7f11a26048400f3dfe5ce8a0ac6a1901";
-      sha256 = "11b2q8ysf5dybf9bpfrs92syy5k4vxfmbkhy3fdkyhmslvpmd9a4";
+      rev = "3b643d7bb4a521e0c9f0fcd00f299b1432441eb8";
+      sha256 = "1mq7c382bzd8kwqlx2lljqkd96cr0yz9zha2zyg6vz4l60aa53h3";
     };
     meta.homepage = "https://github.com/mrjones2014/legendary.nvim/";
   };
@@ -4080,12 +4079,12 @@ final: prev:
 
   lexima-vim = buildVimPluginFrom2Nix {
     pname = "lexima.vim";
-    version = "2022-11-13";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "cohama";
       repo = "lexima.vim";
-      rev = "ce7c51fd2e14b94510e140c40775fa27b1956f98";
-      sha256 = "1v8d3227h3krpgb34b84bzcyrdh8x85wyxyp776353n3z4wk8051";
+      rev = "57dc3a09f91bc37aae7d3fc7bdc3a8411c8450d7";
+      sha256 = "0d4fw65j4wbxywpmf3iwc8y5pq4p20bnq6gyb4d78dnk8ym6cpq2";
     };
     meta.homepage = "https://github.com/cohama/lexima.vim/";
   };
@@ -4392,12 +4391,12 @@ final: prev:
 
   lsp_lines-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_lines.nvim";
-    version = "2022-08-03";
+    version = "2022-11-16";
     src = fetchgit {
-            url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
-            rev = "dbfd8e96ec2696e1ceedcd23fd70e842256e3dea";
-            sha256 = "1cch7sc3728z07rhfnc9fjpnq39dj3laxkvsv4iqfr5vl9c2pqvk";
-        };
+      url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
+      rev = "ec98b45c8280e5ef8c84028d4f38aa447276c002";
+      sha256 = "0xwbhznwbs6bshp1l501caymdcs486apn4rx4p9vnryrxdzc4chy";
+    };
     meta.homepage = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
   };
 
@@ -4475,12 +4474,12 @@ final: prev:
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2022-11-14";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "95ccfd97b2087e22676e2797e4ef024ec5b6b0bb";
-      sha256 = "1nf6qmgyba3miagfjscvar715visabswhvs19qac71cj8j6dba5k";
+      rev = "59bb7ea0d26524cef0fce6dcf6192963ec232fdf";
+      sha256 = "0lazbc8vrx17p4jc27agqqdzn4rik7r1k824s8yk8dr07134byh5";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
@@ -4560,12 +4559,12 @@ final: prev:
 
   material-nvim = buildVimPluginFrom2Nix {
     pname = "material.nvim";
-    version = "2022-11-07";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "marko-cerovac";
       repo = "material.nvim";
-      rev = "0b463a62800b081e86dbfe3d2d0be03e1959ac8c";
-      sha256 = "0bf0qpp7rkw130k55i246a9f3j8823djwczii1m44v1cw8ggp7wb";
+      rev = "36189183cee0c91fe6d9c68f6f9868418dda6c19";
+      sha256 = "04yym03wainxxjy23z6hpg5p8hz2silg1s1kp70zndvwh8lvcxds";
     };
     meta.homepage = "https://github.com/marko-cerovac/material.nvim/";
   };
@@ -4968,12 +4967,12 @@ final: prev:
 
   neodev-nvim = buildVimPluginFrom2Nix {
     pname = "neodev.nvim";
-    version = "2022-11-14";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neodev.nvim";
-      rev = "7f8b73f56d2055efb3b0550a92d62ea78b1e5e41";
-      sha256 = "129w99rafqxc78py1vdbqa3ampp0w581zfc2nkkwc6mxi8c2yn2w";
+      rev = "95d286ef5c63e9d51d007822baefa29c1e23dd8b";
+      sha256 = "0cfacdyqah6xf6f0pmb2a62p5ciwb9l0z2fkvb94b04zvzbwpkxc";
     };
     meta.homepage = "https://github.com/folke/neodev.nvim/";
   };
@@ -5112,12 +5111,12 @@ final: prev:
 
   neotest = buildVimPluginFrom2Nix {
     pname = "neotest";
-    version = "2022-11-14";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest";
-      rev = "779e04fdadadcad9cdca1a2d4feb2420364cdb99";
-      sha256 = "0f1mw9ppw0361jz2mpjlh3i3k5bxd5361x4i6iiasqmfgsljd3k9";
+      rev = "36aa842f4f344929929110b8f22cbed2aeb4b83c";
+      sha256 = "0n8lrsgqdfg0c8i4ffr05x4xrc4wvqjf51bxyxmkl8wk65ya1dzb";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest/";
   };
@@ -5256,12 +5255,12 @@ final: prev:
 
   nightfox-nvim = buildVimPluginFrom2Nix {
     pname = "nightfox.nvim";
-    version = "2022-11-12";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "e70c3edabf30c671230371ff941df63ef82ee441";
-      sha256 = "18bpyczpsmacl4x0jgg708fvyz70wnllrn5pql5mjdp213yg51v3";
+      rev = "c2a0494480c9ad44f0fb31885f320a37cc09dbdd";
+      sha256 = "02vfabdm8anjbrccwpajqmb4ccxbxx56n5za438i7nf6c54shpgd";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -5304,12 +5303,12 @@ final: prev:
 
   noice-nvim = buildVimPluginFrom2Nix {
     pname = "noice.nvim";
-    version = "2022-11-15";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "noice.nvim";
-      rev = "1bce9239531f863620c5cf90c76862cf7d0f0a2b";
-      sha256 = "1mwh001r1dvkflqmpgy9qyyn4fk3yx9slzlnw8pjsjnm12grr935";
+      rev = "b10bbbb91215d0324d7d7f4cd0d8de3d1332648f";
+      sha256 = "1yd8w7jfxyg8y8gw4sn96jnhisfvda9vs148cnszqms6n8244n4n";
     };
     meta.homepage = "https://github.com/folke/noice.nvim/";
   };
@@ -5460,12 +5459,12 @@ final: prev:
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2022-11-11";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "3a79f7ce4f6e11eeffe55ba4bde01cdc20da08c0";
-      sha256 = "06qf0fgp7icrci8mm34cf9742ivkd87an0806jlnyy6yxnlz7qsz";
+      rev = "5ce70db0d8e3ab5dd58e2fcdc4679bb2f6b53245";
+      sha256 = "0l4vx73s15p6f2abmr3js0wwx2bzsh34xv6hizhdp5nywdfx9alw";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -5496,12 +5495,12 @@ final: prev:
 
   nvim-cmp = buildNeovimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2022-11-15";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "e820335208a6a46e97202592a3694d8e01b923bc";
-      sha256 = "16k3g5lfjyy04j06rz2jh8vl0pjlpsv9c7lg6vji1sh8dscznv7i";
+      rev = "a188be8559d625049010e3b814ad30a2447095bd";
+      sha256 = "0y0nnyyng2d39ma41al6vl39zws0dxdwdgx1w7qz9cabj0gpzp7p";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -5614,6 +5613,18 @@ final: prev:
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
+  nvim-dap-go = buildVimPluginFrom2Nix {
+    pname = "nvim-dap-go";
+    version = "2022-11-04";
+    src = fetchFromGitHub {
+      owner = "leoluz";
+      repo = "nvim-dap-go";
+      rev = "c75921726ccfe97070285f206de49eddff276ea5";
+      sha256 = "1sgz5vkkw0zmpnmdfla2k3bvkax5pvn2y9g79xq3vhg9x6gyil5s";
+    };
+    meta.homepage = "https://github.com/leoluz/nvim-dap-go/";
+  };
+
   nvim-dap-python = buildVimPluginFrom2Nix {
     pname = "nvim-dap-python";
     version = "2022-11-01";
@@ -5736,12 +5747,12 @@ final: prev:
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2022-11-12";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "7df9c5fffd482821e3cfb3997a5714700d2a5bdd";
-      sha256 = "11wvr9z8gnrjjfs6z0vckcgjlb6yx3zff4vybp2gq5kbig0ydl3q";
+      rev = "615999cf0102722da322375c6313d660b8b040d1";
+      sha256 = "1nm3ynjydam8j7rqd534zbz0p6iff4v5c221ri3h7rp9pja2dr45";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -5892,12 +5903,12 @@ final: prev:
 
   nvim-metals = buildVimPluginFrom2Nix {
     pname = "nvim-metals";
-    version = "2022-11-06";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "611a35398c1e162023f635bd99b2fc10e2d2ea77";
-      sha256 = "07c8bdya5px48wsmwp8617ya0zadw7q3asjkk9fmmwy9vm0sf2pn";
+      rev = "1071ddc47e9d9629ba754ffbf3cc11fa8be4218b";
+      sha256 = "17wr3g4f4nk98jzp4g94l8nhksmwc32lc5v7bk56zn0933gr3m1v";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
@@ -5964,12 +5975,12 @@ final: prev:
 
   nvim-peekup = buildVimPluginFrom2Nix {
     pname = "nvim-peekup";
-    version = "2022-09-13";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "gennaro-tedesco";
       repo = "nvim-peekup";
-      rev = "69b8e013b26a0f457a213f2285fea00b5635b17d";
-      sha256 = "0gxjv6rz19m2rx7pmz0gmsykdb050kgr7r70210wbvnxv4nrr6yp";
+      rev = "2e48f2e1ebc198f3624645f13f5ce64d20708272";
+      sha256 = "0gim4d50k7y0w0gp108lkkn2300jhgk5jspqv17y2gagv28brr1q";
     };
     meta.homepage = "https://github.com/gennaro-tedesco/nvim-peekup/";
   };
@@ -5988,12 +5999,12 @@ final: prev:
 
   nvim-scrollbar = buildVimPluginFrom2Nix {
     pname = "nvim-scrollbar";
-    version = "2022-11-15";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "petertriho";
       repo = "nvim-scrollbar";
-      rev = "853538db5098cd07b618bcb0e4db6b729b1e9f9b";
-      sha256 = "1bxyv7rah7ccl8fs0x0r0xk824lnfjs218rlxf4xz0zr5z7gyaqs";
+      rev = "dd0adc741c2b0a5cbd52e4888aa46e4ab3f53cb1";
+      sha256 = "199833kqpyhvaa59306zv6qg2iq0jvhlxgdpx6v2mgqrzmg4iyrw";
     };
     meta.homepage = "https://github.com/petertriho/nvim-scrollbar/";
   };
@@ -6012,12 +6023,12 @@ final: prev:
 
   nvim-snippy = buildVimPluginFrom2Nix {
     pname = "nvim-snippy";
-    version = "2022-10-19";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "dcampos";
       repo = "nvim-snippy";
-      rev = "d732f34c2c64baff182f9d9dc2463490fc3c7f91";
-      sha256 = "0a7g9s9c8wxk955qj0yvmmwzrv37x8wkn8c07arvp2xj77hpb6rc";
+      rev = "a6a86665ba52d299b69259d7a020e5ee11fce31e";
+      sha256 = "139gfsgpj22zf4dm60my82f4z5qsbhwwdpj0aqwj63chr3i0knpq";
     };
     meta.homepage = "https://github.com/dcampos/nvim-snippy/";
   };
@@ -6048,12 +6059,12 @@ final: prev:
 
   nvim-surround = buildVimPluginFrom2Nix {
     pname = "nvim-surround";
-    version = "2022-11-15";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "kylechui";
       repo = "nvim-surround";
-      rev = "fa7648e3ed5ec22f32de06d366cf8b80141998f0";
-      sha256 = "1fv8p3nj2ma4j9wsglxjcarsfxhryi6aqmcg9d4fpa6qsdcvlg42";
+      rev = "1d83fecd27c6b4b66cc529930552d205fbecb660";
+      sha256 = "18hxq7xm1mf5rpbvj5sgm5ykzh5v4rf0sqhbk6k72mkrgphb61vb";
     };
     meta.homepage = "https://github.com/kylechui/nvim-surround/";
   };
@@ -6072,24 +6083,24 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree.lua";
-    version = "2022-11-15";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-tree.lua";
-      rev = "9d241e5f5889cf8d37c3a8054b3e55157549c283";
-      sha256 = "0laygscfl6rg3xnh0p5m8a4li8lpp46zxyw1smn4mackhzwqhplj";
+      rev = "1837751efb5fcfc584cb0ee900f09ff911cd6c0b";
+      sha256 = "15ff6lk6gc50qq003ipgaljagjbw3hlbsgsyw2ay0r1hxin10sks";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2022-11-13";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "2072692aaa4b6da7c354e66c2caf4b0a8f736858";
-      sha256 = "0ckp1kimbfmb2ilh6hvacdvhqkn497cchhhajl96315xqn29w5kd";
+      rev = "dc27512e0019dcf4b6fbf0e0d5f285b4c9858308";
+      sha256 = "0r4by55md53d5lrp86k0hv02pvzizy5hdjznywgghr008a3zd6l2";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -6132,12 +6143,12 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2022-11-13";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "1f1cdc892b9b2f96afb1bddcb49ac1a12b899796";
-      sha256 = "1as6rz26agwrzaykpcg7zg2paazsbw5kz4pa831x68gp7m4p2dyn";
+      rev = "f456fc83a1024d795cb2a3e61b52ab3d5a213e8c";
+      sha256 = "1m0i3chwz4pbyw4ny86h6r01yn3s5zc1mkvp2f2wwkd8v65z8s0q";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
@@ -6324,12 +6335,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPluginFrom2Nix {
     pname = "onedarkpro.nvim";
-    version = "2022-11-15";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "5e25c890d35c588f00f186623c885b64d98b86f2";
-      sha256 = "0xarcj9nrryyq3mk0xwk2ffgc1h1hnjgkmzv0p4ca6zkjdf3ri85";
+      rev = "7f53486d04f389062bbdcf130e805e09e576a0d1";
+      sha256 = "01y3klhjykrayyfvnfjn9cbpdw395qif1g1xsnkiq0aj6rx412hs";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -6384,24 +6395,24 @@ final: prev:
 
   orgmode = buildVimPluginFrom2Nix {
     pname = "orgmode";
-    version = "2022-11-15";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "68c4f9eaf7f860780cad48d80c7f150333b24795";
-      sha256 = "1dxr4wlbvsb4cfw6lyxs9k6sz1b686af5xv3r898agjafaa96iy3";
+      rev = "38fb73c39c95c2c598d7b26835909a0c133d4d0e";
+      sha256 = "1v7w81g23ksb6lgpfxbn0k9gbycfpcy81qvjyqd67rykgpvm1yj6";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
 
   package-info-nvim = buildVimPluginFrom2Nix {
     pname = "package-info.nvim";
-    version = "2022-10-24";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "vuki656";
       repo = "package-info.nvim";
-      rev = "0b7433ede19ad507edfaf7a924ee159f271a52c3";
-      sha256 = "1yrf8ays1r92pa6jdrslsapqnk86pl0q5746q3kfj2zxvp2469m0";
+      rev = "54337910c67946ffb8a2845a4e547dba925e0f37";
+      sha256 = "0j75j32a8y1a7nmcn26zakv5mcylzggcic7v0ih88zsqaikl9hj3";
     };
     meta.homepage = "https://github.com/vuki656/package-info.nvim/";
   };
@@ -6516,12 +6527,12 @@ final: prev:
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2022-09-19";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "e6a0bfaf9b5e36e3a327a1ae9a44a989eae472cf";
-      sha256 = "01smml755a1v09pfzg3zznr4hbxil0j8vqp8wxxb89ak1dipmjy2";
+      rev = "1290fdf6f2f0189eb3b4ce8073d3fda6a3658376";
+      sha256 = "1yznmc5a32b4bw0c9q0jfkbd77xmi7rmihfr0f44bcgqdxlp8151";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
@@ -6577,12 +6588,12 @@ final: prev:
 
   presence-nvim = buildVimPluginFrom2Nix {
     pname = "presence.nvim";
-    version = "2022-09-09";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "andweeb";
       repo = "presence.nvim";
-      rev = "03e09d3f9be8b3d9481d97d957c62d28b5850ab6";
-      sha256 = "13qcqmjnqia5vn8zc3bsyh48r85a03mzlmr489arwif8q9rmw30q";
+      rev = "c1c54758824cbecd4e18065d37191f7666fdd097";
+      sha256 = "0j23gdp29xb1rfb7crr5s1xs61wjzrsxwdpv01s79cjnwcvxzgxz";
     };
     meta.homepage = "https://github.com/andweeb/presence.nvim/";
   };
@@ -6842,12 +6853,12 @@ final: prev:
 
   rest-nvim = buildNeovimPluginFrom2Nix {
     pname = "rest.nvim";
-    version = "2022-11-03";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "rest-nvim";
       repo = "rest.nvim";
-      rev = "3d4bec4754b41fa1d1a2fe145cdcf3b269b3323a";
-      sha256 = "0znrslxik741p8cncf60iii3v9x7ln629wixvm0cm4c6g1mk0x4x";
+      rev = "2e368cd681379f014906ad0268111eb5c95f9aa6";
+      sha256 = "0hxabk1c6fn9yrvdsm00frws1m858finl9ai7rgj2s56056zx9p4";
     };
     meta.homepage = "https://github.com/rest-nvim/rest.nvim/";
   };
@@ -8107,12 +8118,12 @@ final: prev:
 
   todo-comments-nvim = buildVimPluginFrom2Nix {
     pname = "todo-comments.nvim";
-    version = "2022-11-10";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "todo-comments.nvim";
-      rev = "d73693012b5dd0dae7a49504b93dcc79d189c733";
-      sha256 = "0z6918hri3r4zws15l598rixcbvdj1g82lv5h68baxlg3n7bzmaz";
+      rev = "1b9df577262b2c4c4ea422161742927f80ffa131";
+      sha256 = "14yiibv5qh89y8d7ps1rv65sxq2ckj7mky5wv9fkzhplvjzg84zi";
     };
     meta.homepage = "https://github.com/folke/todo-comments.nvim/";
   };
@@ -8216,12 +8227,12 @@ final: prev:
 
   trouble-nvim = buildVimPluginFrom2Nix {
     pname = "trouble.nvim";
-    version = "2022-10-14";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "trouble.nvim";
-      rev = "ed65f84abc4a1e5d8f368d7e02601fc0357ea15e";
-      sha256 = "0mikpfp8pi8b58q217g3b3r62vc9q28jx34q8xzardhj42gqk4wj";
+      rev = "897542f90050c3230856bc6e45de58b94c700bbf";
+      sha256 = "09niz0xw32g0mxarxhf6v6whchqqllklbqm966j93wqkqbhl30ph";
     };
     meta.homepage = "https://github.com/folke/trouble.nvim/";
   };
@@ -8336,12 +8347,12 @@ final: prev:
 
   urlview-nvim = buildVimPluginFrom2Nix {
     pname = "urlview.nvim";
-    version = "2022-10-27";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "axieax";
       repo = "urlview.nvim";
-      rev = "f7dc336aff93ce421f3092aaec1fb008a86433ce";
-      sha256 = "0iq69smk3nn4mf9q0rv98kka6a4awrbpxabrss7nxjaghb2bs7v0";
+      rev = "f8d30320ca277956852fda6db082e231153b8618";
+      sha256 = "0y6vqv83f075a3728jrzrzx11wf8a1p3l6rn2irwgxd037b1ql7z";
     };
     meta.homepage = "https://github.com/axieax/urlview.nvim/";
   };
@@ -8744,12 +8755,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2022-11-06";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "29ef9e1f645648739f57b246ea45cd6c8c0e4a7b";
-      sha256 = "182cjpib47l1xsak22qzzmwvqfxinqffs5960njjbp2c901hl7kd";
+      rev = "2654f838ae4eb4383ee26cf32d04a597822008cf";
+      sha256 = "1sfd0ssi549y03i0rkz9qds24v19vgn2qdbnv010xpwbnxhsrbv0";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -9265,7 +9276,7 @@ final: prev:
       owner = "flazz";
       repo = "vim-colorschemes";
       rev = "fd8f122cef604330c96a6a6e434682dbdfb878c9";
-      sha256 = "0kpsf6j20fgblc8vhqn7ymr52v2d1h52vc7rbxmxfwdm80nvv3g5";
+      sha256 = "1cg8q7w0vgl73aw1b9zz0zh5vw5d2pm8pm54fhfzva4azg56f416";
     };
     meta.homepage = "https://github.com/flazz/vim-colorschemes/";
   };
@@ -9380,12 +9391,12 @@ final: prev:
 
   vim-cursorword = buildVimPluginFrom2Nix {
     pname = "vim-cursorword";
-    version = "2020-06-20";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "vim-cursorword";
-      rev = "cc8114226ceefb5cafe1890e0900d3efb7dab1fd";
-      sha256 = "1x5ljk82bxc3qhrq5pz0dsab8rg1234syd1xmpkgvif52s9g4mfk";
+      rev = "371fdd7fa8817c28aa09d181cfcfa3c7ca29bf56";
+      sha256 = "12r6a9i6jm84c1fy2d72r516b98xmkkklw8lvl3c5i01s2qxmdr5";
     };
     meta.homepage = "https://github.com/itchyny/vim-cursorword/";
   };
@@ -9920,12 +9931,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2022-11-15";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "362201bce510fce0f694093ddbac9202bedf288b";
-      sha256 = "0cfi4vf9yh3vk26i9cj0wxid515wwwjlypfyzg8lr5rdk3g2ysjb";
+      rev = "23b9b9b2a3b88bdefee8dfd1126efb91e34e1a57";
+      sha256 = "0spghyavc5vxja7b2apck501j61s8gc43bqv1388akwmdanmbk1p";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -13045,12 +13056,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2022-11-15";
+    version = "2022-11-16";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "e5343cf7902021bcea5e9432b1da4c7e1528e37e";
-      sha256 = "0gkq2krqfsk4skd6v5a16d9j75mbaxmh40pyfracrsnlpzp215m1";
+      rev = "a58ff49219416b0c3f3a8b7e20f695dbe6ccc407";
+      sha256 = "1z0fjiia22yvv71v54j0ywi85b9g1w21hvqf08jjihaql9x0r5fc";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -13189,12 +13200,12 @@ final: prev:
 
   windows-nvim = buildVimPluginFrom2Nix {
     pname = "windows.nvim";
-    version = "2022-10-22";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "anuvyklack";
       repo = "windows.nvim";
-      rev = "e88fd8b18eb266dae90bf828802d418386c8637f";
-      sha256 = "01lby85gqqzvpinngh4j4xr3d8dkszzv50dz09syfzfqyr4blnr5";
+      rev = "a37b5d021afbe9baf741bb40818bd14604dde424";
+      sha256 = "0fyfjsf5ivl0w6ywj6wvahxv9xsixqjpg2hh3w36rikz7r9b5bz8";
     };
     meta.homepage = "https://github.com/anuvyklack/windows.nvim/";
   };
@@ -13406,12 +13417,12 @@ final: prev:
 
   catppuccin-nvim = buildVimPluginFrom2Nix {
     pname = "catppuccin-nvim";
-    version = "2022-11-14";
+    version = "2022-11-17";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "0184121f9d6565610ddffa8284512b7643ee723e";
-      sha256 = "1z1h4js4yrq3js6cznsi9smh3ryl55rfhys963gj938rm423axzd";
+      rev = "eb1daa495273039b0723496eb088b0566281bf83";
+      sha256 = "198ivr25gwdi5jk9nd117qn0l1pnyidllrwiccfny7axsaysh91h";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -13430,12 +13441,12 @@ final: prev:
 
   chad = buildVimPluginFrom2Nix {
     pname = "chad";
-    version = "2022-11-15";
+    version = "2022-11-18";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "6c5a1041dd6cff273f7d53ac3be47175548c4d87";
-      sha256 = "1k67d7lv72qi5532l5bfd3hvlczx2yd00q6jvxng5mkq523m2vj3";
+      rev = "0cf23d38e29c7dbc8dde02d5384f0567494dccc8";
+      sha256 = "04cr4dph2b1yizp7icmggsl2hj60sg0nx2z94f1d8wmv40c8rfvz";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index 74991bc5c71f0..09b70ad0f982c 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -12,6 +12,7 @@
       rev = "80ea622cf952a0059e168e5c92a798b2f1925652";
       hash = "sha256-D63jvITL2RA8yg/TBSi6GsOxwLKzSHibbm3hwIKzesU=";
     };
+    meta.homepage = "https://github.com/AusCyberman/tree-sitter-agda";
   };
   astro = buildGrammar {
     language = "astro";
@@ -22,6 +23,18 @@
       rev = "947e93089e60c66e681eba22283f4037841451e7";
       hash = "sha256-q1ni++SPbq5y+47fPb6TryMw86gpULwNcXwi5yjXCWI=";
     };
+    meta.homepage = "https://github.com/virchau13/tree-sitter-astro";
+  };
+  awk = buildGrammar {
+    language = "awk";
+    version = "a799bc5";
+    source = fetchFromGitHub {
+      owner = "Beaglefoot";
+      repo = "tree-sitter-awk";
+      rev = "a799bc5da7c2a84bc9a06ba5f3540cf1191e4ee3";
+      hash = "sha256-A/mvLYD9+Ms/nBdAebBF2edVkFUkWyz3TiEIt4G5iWc=";
+    };
+    meta.homepage = "https://github.com/Beaglefoot/tree-sitter-awk";
   };
   bash = buildGrammar {
     language = "bash";
@@ -32,6 +45,7 @@
       rev = "77cf8a7cab8904baf1a721762e012644ac1d4c7b";
       hash = "sha256-UPMJ7iL8Y0NkAHtPDrkTjG1qFwr8rXuGqvsG+LTWqEY=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
   };
   beancount = buildGrammar {
     language = "beancount";
@@ -42,6 +56,7 @@
       rev = "4cbd1f09cd07c1f1fabf867c2cf354f9da53cc4c";
       hash = "sha256-Uh9/yBYXNKBvdpqNv1kr5eREYmKy3Z/kvaSZQpUl+0U=";
     };
+    meta.homepage = "https://github.com/polarmutex/tree-sitter-beancount";
   };
   bibtex = buildGrammar {
     language = "bibtex";
@@ -52,6 +67,7 @@
       rev = "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34";
       hash = "sha256-wgduSxlpbJy/ITenBLfj5lhziUM1BApX6MjXhWcb7lQ=";
     };
+    meta.homepage = "https://github.com/latex-lsp/tree-sitter-bibtex";
   };
   blueprint = buildGrammar {
     language = "blueprint";
@@ -62,6 +78,7 @@
       rev = "6ef91ca8270f0112b9c6d27ecb9966c741a5d103";
       hash = "sha256-E7SWUWQFlFWXfmdqNXt2eKkvFusnBUILHerQEFj2JTg=";
     };
+    meta.homepage = "https://gitlab.com/gabmus/tree-sitter-blueprint.git";
   };
   c = buildGrammar {
     language = "c";
@@ -72,6 +89,7 @@
       rev = "7175a6dd5fc1cee660dce6fe23f6043d75af424a";
       hash = "sha256-G9kVqX8walvpI7gPvPzS8g7X8RVM9y5wJHGOcyjJA/A=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
   };
   c_sharp = buildGrammar {
     language = "c_sharp";
@@ -82,6 +100,7 @@
       rev = "3ef3f7f99e16e528e6689eae44dff35150993307";
       hash = "sha256-xBRSwuodQTrKHjwx3JVgnwsAkp9EO+6su3hc2d+6DBQ=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
   };
   clojure = buildGrammar {
     language = "clojure";
@@ -92,6 +111,7 @@
       rev = "087bac78c53fe1387756cd5b8e68a69b3f6d7244";
       hash = "sha256-KiuSAchtqlVlwyBL4rU+p0fPjm52DrNDPq2ETVXOHQU=";
     };
+    meta.homepage = "https://github.com/sogaiu/tree-sitter-clojure";
   };
   cmake = buildGrammar {
     language = "cmake";
@@ -102,6 +122,7 @@
       rev = "6e51463ef3052dd3b328322c22172eda093727ad";
       hash = "sha256-2xJaDgrCJQ2obGYvhsHk2/2p8lFNwuScjbjdxJihh5I=";
     };
+    meta.homepage = "https://github.com/uyha/tree-sitter-cmake";
   };
   comment = buildGrammar {
     language = "comment";
@@ -112,6 +133,7 @@
       rev = "a37ca370310ac6f89b6e0ebf2b86b2219780494e";
       hash = "sha256-wiFY2uMNv8Wet3qKh0bSe8FSO1sjGu1uTOBxnt/HHHg=";
     };
+    meta.homepage = "https://github.com/stsewd/tree-sitter-comment";
   };
   commonlisp = buildGrammar {
     language = "commonlisp";
@@ -122,6 +144,7 @@
       rev = "c7e814975ab0d0d04333d1f32391c41180c58919";
       hash = "sha256-63B9d5feHzwY7WDoeoPAwsuLYgVvoGQf0wkUdDO/A8M=";
     };
+    meta.homepage = "https://github.com/theHamsta/tree-sitter-commonlisp";
   };
   cooklang = buildGrammar {
     language = "cooklang";
@@ -132,6 +155,7 @@
       rev = "5e113412aadb78955c27010daa4dbe1d202013cf";
       hash = "sha256-Ny55gdN+3o7bFJEnXvctstl6gjqkwrp1uE33OobyH7U=";
     };
+    meta.homepage = "https://github.com/addcninblue/tree-sitter-cooklang";
   };
   cpp = buildGrammar {
     language = "cpp";
@@ -142,6 +166,7 @@
       rev = "5ead1e26c6ab71919db0f1880c46a278a93bc5ea";
       hash = "sha256-h6mJdmQzJlxYIcY+d5IiaFghraUgBGZwqFPKwB3E4pQ=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
   };
   css = buildGrammar {
     language = "css";
@@ -152,6 +177,7 @@
       rev = "769203d0f9abe1a9a691ac2b9fe4bb4397a73c51";
       hash = "sha256-5Qti/bFac2A1PJxqZEOuSLK3GGKYwPDKAp3OOassBxU=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-css";
   };
   cuda = buildGrammar {
     language = "cuda";
@@ -162,6 +188,7 @@
       rev = "7f1a79e612160aa02be87f1a24469ae3655fe818";
       hash = "sha256-zBlv/KyUPNHRA8fKWaDgCeE1AX3EYTkwjo/RYHaKjK0=";
     };
+    meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
   };
   d = buildGrammar {
     language = "d";
@@ -173,6 +200,7 @@
       hash = "sha256-1aW3nLZ5MbsOEiJ9PH6N/bBUlRihosWa4OWRcAmT3kc=";
     };
     generate = true;
+    meta.homepage = "https://github.com/CyberShadow/tree-sitter-d";
   };
   dart = buildGrammar {
     language = "dart";
@@ -183,6 +211,7 @@
       rev = "53485a8f301254e19c518aa20c80f1bcf7cf5c62";
       hash = "sha256-1IcvFcxIkcrOuq6bypD08PeYw6J/pL/MbYPt+dKHQbc=";
     };
+    meta.homepage = "https://github.com/UserNobody14/tree-sitter-dart";
   };
   devicetree = buildGrammar {
     language = "devicetree";
@@ -194,6 +223,7 @@
       hash = "sha256-ZiUMIsjVMxpchxmJQ3g2yXIn+/kAWPwTzMzx3IlW93o=";
     };
     generate = true;
+    meta.homepage = "https://github.com/joelspadin/tree-sitter-devicetree";
   };
   diff = buildGrammar {
     language = "diff";
@@ -204,6 +234,7 @@
       rev = "330eb648bbc257b4e91621e82a85372be7dde27a";
       hash = "sha256-WK6pEUvIu6Xwsy5RuuUyNWLuSKkNkWh5R0hmyksIu8k=";
     };
+    meta.homepage = "https://github.com/the-mikedavis/tree-sitter-diff";
   };
   dockerfile = buildGrammar {
     language = "dockerfile";
@@ -214,6 +245,7 @@
       rev = "f913be9bb8689af22114605012693146fbe9ddaa";
       hash = "sha256-EoZDjUyL4dEwE6E9r9KruQ8Kb83bAyyFq7a/NFBdZjU=";
     };
+    meta.homepage = "https://github.com/camdencheek/tree-sitter-dockerfile";
   };
   dot = buildGrammar {
     language = "dot";
@@ -224,6 +256,7 @@
       rev = "9ab85550c896d8b294d9b9ca1e30698736f08cea";
       hash = "sha256-w4DInIT7mkTvQ6Hmi8yaAww6ktyNgRz0tPfBLGnOawQ=";
     };
+    meta.homepage = "https://github.com/rydesun/tree-sitter-dot";
   };
   eex = buildGrammar {
     language = "eex";
@@ -234,6 +267,7 @@
       rev = "f742f2fe327463335e8671a87c0b9b396905d1d1";
       hash = "sha256-UPq62MkfGFh9m/UskoB9uBDIYOcotITCJXDyrbg/wKY=";
     };
+    meta.homepage = "https://github.com/connorlay/tree-sitter-eex";
   };
   elixir = buildGrammar {
     language = "elixir";
@@ -244,6 +278,7 @@
       rev = "b20eaa75565243c50be5e35e253d8beb58f45d56";
       hash = "sha256-BxFqSZIrDQFMCl+t88/j6ykpdD+ag5uIIWLrEWcHDMQ=";
     };
+    meta.homepage = "https://github.com/elixir-lang/tree-sitter-elixir";
   };
   elm = buildGrammar {
     language = "elm";
@@ -254,6 +289,7 @@
       rev = "28bb193640d916dfaf947912c1413cebb0484841";
       hash = "sha256-Ijw9Ov8+IBLl0fQlkuH6rQ6E7tlKeD+huj0GZdz6XH8=";
     };
+    meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm";
   };
   elvish = buildGrammar {
     language = "elvish";
@@ -264,6 +300,7 @@
       rev = "f32711e31e987fd5c2c002f3daba02f25c68672f";
       hash = "sha256-/3npcIfTH8w5ekLTb//ZCTxuSGhOXkUBaCq3WWcK2J4=";
     };
+    meta.homepage = "https://github.com/ckafi/tree-sitter-elvish";
   };
   embedded_template = buildGrammar {
     language = "embedded_template";
@@ -274,6 +311,7 @@
       rev = "91fc5ae1140d5c9d922312431f7d251a48d7b8ce";
       hash = "sha256-WAMCwKS+gOvBVC9h0qKHLgNedCRQwbJV+++SDqHhK5g=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-embedded-template";
   };
   erlang = buildGrammar {
     language = "erlang";
@@ -284,6 +322,7 @@
       rev = "3a9c769444f08bbccce03845270efac0c641c5e7";
       hash = "sha256-ZsjHTNUfTEPo3Wb1ihW0M2YTWK6mpNhxQG/nLfMaG4I=";
     };
+    meta.homepage = "https://github.com/AbstractMachinesLab/tree-sitter-erlang";
   };
   fennel = buildGrammar {
     language = "fennel";
@@ -294,6 +333,7 @@
       rev = "517195970428aacca60891b050aa53eabf4ba78d";
       hash = "sha256-7bmrLJunNAus8XbBcBiTS5enhSzZ1mecAAyqlZUtSgo=";
     };
+    meta.homepage = "https://github.com/travonted/tree-sitter-fennel";
   };
   fish = buildGrammar {
     language = "fish";
@@ -304,6 +344,7 @@
       rev = "84436cf24c2b3176bfbb220922a0fdbd0141e406";
       hash = "sha256-oJuCd+2mTCEP/rNQzweShc7TZiqwKBIDRQqnV8VqQ4s=";
     };
+    meta.homepage = "https://github.com/ram02z/tree-sitter-fish";
   };
   foam = buildGrammar {
     language = "foam";
@@ -314,6 +355,7 @@
       rev = "fdb7f14b885abfc4df57728c9b2a2f2ad24d3cb7";
       hash = "sha256-E5Fr8185ypZbkaGIDE9lhQ0Vf1Dphx7n5suNkK0AFHU=";
     };
+    meta.homepage = "https://github.com/FoamScience/tree-sitter-foam";
   };
   fortran = buildGrammar {
     language = "fortran";
@@ -324,6 +366,7 @@
       rev = "f0f2f100952a353e64e26b0fa710b4c296d7af13";
       hash = "sha256-ylQLalRFqRu5N/lUxvwOds/UbLH2JJ7T/rOpo9H4MZ4=";
     };
+    meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran";
   };
   fusion = buildGrammar {
     language = "fusion";
@@ -334,6 +377,7 @@
       rev = "19db2f47ba4c3a0f6238d4ae0e2abfca16e61dd6";
       hash = "sha256-195q39pZYipT0G08kQlwnDE28ODjAz2/Sq1tzpEGFmU=";
     };
+    meta.homepage = "https://gitlab.com/jirgn/tree-sitter-fusion.git";
   };
   gdscript = buildGrammar {
     language = "gdscript";
@@ -344,6 +388,7 @@
       rev = "2a6abdaa47fcb91397e09a97c7433fd995ea46c6";
       hash = "sha256-YDLPYwWHnwqj7CpgUKRXQYj2a6ZJUKc0bcalVSJ99Ew=";
     };
+    meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-gdscript";
   };
   git_rebase = buildGrammar {
     language = "git_rebase";
@@ -354,6 +399,7 @@
       rev = "127f5b56c1ad3e8a449a7d6e0c7412ead7f7724c";
       hash = "sha256-4XGQTrflV+txVjXbgaQSd6rFES8TkuiXEurJLBdg59E=";
     };
+    meta.homepage = "https://github.com/the-mikedavis/tree-sitter-git-rebase";
   };
   gitattributes = buildGrammar {
     language = "gitattributes";
@@ -364,6 +410,7 @@
       rev = "cee9f8865694b29bb9e85e0b90805f92ad3fc47e";
       hash = "sha256-Ne9D4c58AWvZz/2ytP0lJzKIss2hJtZFgSKsot9MOJE=";
     };
+    meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gitattributes";
   };
   gitignore = buildGrammar {
     language = "gitignore";
@@ -375,6 +422,7 @@
       hash = "sha256-MjoY1tlVZgN6JqoTjhhg0zSdHzc8yplMr8824sfIKp8=";
     };
     generate = true;
+    meta.homepage = "https://github.com/shunsambongi/tree-sitter-gitignore";
   };
   gleam = buildGrammar {
     language = "gleam";
@@ -385,6 +433,7 @@
       rev = "cfcbca3f8f734773878e00d7bfcedea98eb10be2";
       hash = "sha256-lwaTlIIh4jA92ECMuxV7NtebKrjJSNoXtCe90YIQ4eE=";
     };
+    meta.homepage = "https://github.com/J3RN/tree-sitter-gleam";
   };
   glimmer = buildGrammar {
     language = "glimmer";
@@ -395,6 +444,7 @@
       rev = "abcc9970da0ed0645741bf52ea70232374bc9e52";
       hash = "sha256-kkNnyaAXeZJ770Jl4mmOdyXvq6bQd/9Q6eVyr+JV2jY=";
     };
+    meta.homepage = "https://github.com/alexlafroscia/tree-sitter-glimmer";
   };
   glsl = buildGrammar {
     language = "glsl";
@@ -405,6 +455,7 @@
       rev = "a743ada24fa17da9acc5665133f07d56e03530be";
       hash = "sha256-l2t2U4fZYMMpc1Nkv8JODtDny0/kSUsbiJ/VVD5VyhI=";
     };
+    meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
   };
   go = buildGrammar {
     language = "go";
@@ -415,6 +466,7 @@
       rev = "05900faa3cdb5d2d8c8bd5e77ee698487e0a8611";
       hash = "sha256-f885YTswEDH/QfRPUxcLp/1E2zXLKl25R9IyTGKb1eM=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-go";
   };
   godot_resource = buildGrammar {
     language = "godot_resource";
@@ -426,6 +478,7 @@
       hash = "sha256-ws/8nL+HOoPb6Hcdh4pihjPoRw90R1fy7MB0V9Lb9ik=";
     };
     generate = true;
+    meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-godot-resource";
   };
   gomod = buildGrammar {
     language = "gomod";
@@ -436,6 +489,7 @@
       rev = "4a65743dbc2bb3094114dd2b43da03c820aa5234";
       hash = "sha256-znvUD/xqwSUeHCDxwXIgPXiB94bY1wEOjRQSvURcdME=";
     };
+    meta.homepage = "https://github.com/camdencheek/tree-sitter-go-mod";
   };
   gowork = buildGrammar {
     language = "gowork";
@@ -446,6 +500,7 @@
       rev = "949a8a470559543857a62102c84700d291fc984c";
       hash = "sha256-Tode7W05xaOKKD5QOp3rayFgLEOiMJUeGpVsIrizxto=";
     };
+    meta.homepage = "https://github.com/omertuc/tree-sitter-go-work";
   };
   graphql = buildGrammar {
     language = "graphql";
@@ -456,6 +511,7 @@
       rev = "5e66e961eee421786bdda8495ed1db045e06b5fe";
       hash = "sha256-NvE9Rpdp4sALqKSRWJpqxwl6obmqnIIdvrL1nK5peXc=";
     };
+    meta.homepage = "https://github.com/bkegley/tree-sitter-graphql";
   };
   hack = buildGrammar {
     language = "hack";
@@ -466,6 +522,7 @@
       rev = "b7bd6928532ada34dddb1dece4a158ab62c6e783";
       hash = "sha256-TSbi4Ik/AjswuIdTaFfJ53S0c/qfq0JYPzVv07JASmc=";
     };
+    meta.homepage = "https://github.com/slackhq/tree-sitter-hack";
   };
   haskell = buildGrammar {
     language = "haskell";
@@ -476,6 +533,7 @@
       rev = "bee6b49543e34c2967c6294a4b05e8bd2bf2da59";
       hash = "sha256-/6WsOONbKS/5xM5xKa5i8LuWWkWiXZiLnOpvayj1Nxk=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
   };
   hcl = buildGrammar {
     language = "hcl";
@@ -486,6 +544,7 @@
       rev = "45ce22c16ec924e34517cf785e23c07952e45893";
       hash = "sha256-SczU8y70mdqDl2iVKTfD8Taq580x31xMswUhoU48yfE=";
     };
+    meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
   };
   heex = buildGrammar {
     language = "heex";
@@ -496,6 +555,7 @@
       rev = "52b804b1cb2d57e58d90090326d3ef9bd19cf16c";
       hash = "sha256-fuxvX0AM9FEXVdpXu9/H6y7N+S+q6X/QYuLqKdb8PGI=";
     };
+    meta.homepage = "https://github.com/connorlay/tree-sitter-heex";
   };
   help = buildGrammar {
     language = "help";
@@ -506,6 +566,7 @@
       rev = "49cdef52ded4a886bf34bc474876b09f9270d48f";
       hash = "sha256-szNY2yw5i9pgF+MpaEAkP8BgSYEe6nrFW+17sbSZ6Yc=";
     };
+    meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc";
   };
   hjson = buildGrammar {
     language = "hjson";
@@ -516,6 +577,7 @@
       rev = "02fa3b79b3ff9a296066da6277adfc3f26cbc9e0";
       hash = "sha256-NsTf3DR3gHVMYZDmTNvThB5bJcDwTcJ1+3eJhvsiDn8=";
     };
+    meta.homepage = "https://github.com/winston0410/tree-sitter-hjson";
   };
   hlsl = buildGrammar {
     language = "hlsl";
@@ -526,6 +588,7 @@
       rev = "384b26ec65e10f26cf147bfcde772c50ca5ef0d0";
       hash = "sha256-f6jKhC1vPpNTY0Rv1WMdJMNXRFiLsCApy/kIv7CBesA=";
     };
+    meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
   };
   hocon = buildGrammar {
     language = "hocon";
@@ -536,6 +599,7 @@
       rev = "c390f10519ae69fdb03b3e5764f5592fb6924bcc";
       hash = "sha256-9Zo3YYoo9mJ4Buyj7ofSrlZURrwstBo0vgzeTq1jMGw=";
     };
+    meta.homepage = "https://github.com/antosha417/tree-sitter-hocon";
   };
   html = buildGrammar {
     language = "html";
@@ -546,6 +610,7 @@
       rev = "29f53d8f4f2335e61bf6418ab8958dac3282077a";
       hash = "sha256-v84N9erFL+QMoxh1dtfVdAJ5iTCoiFcT3kQ2+yq8TXE=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
   };
   http = buildGrammar {
     language = "http";
@@ -556,6 +621,7 @@
       rev = "30a9c1789d64429a830802cde5b1760ff1064312";
       hash = "sha256-XpKw6v6fnowdJmoIZGn3N1r9JXdJnNifgj+DPNFuoz0=";
     };
+    meta.homepage = "https://github.com/rest-nvim/tree-sitter-http";
   };
   java = buildGrammar {
     language = "java";
@@ -566,6 +632,7 @@
       rev = "09d650def6cdf7f479f4b78f595e9ef5b58ce31e";
       hash = "sha256-tGBi6gJJIPpp6oOwmAQdqBD6eaJRBRcYbWtm1BHsgBA=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
   };
   javascript = buildGrammar {
     language = "javascript";
@@ -576,6 +643,7 @@
       rev = "936d976a782e75395d9b1c8c7c7bf4ba6fe0d86b";
       hash = "sha256-uZW1L9ZE1YSZbwxiqSDiKycWv5mSRG4k4MlWFYoWRbw=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
   };
   jsdoc = buildGrammar {
     language = "jsdoc";
@@ -586,6 +654,7 @@
       rev = "189a6a4829beb9cdbe837260653b4a3dfb0cc3db";
       hash = "sha256-Zhl9mEpJE9Qy3MVScE2JK4i8OFZUXl5KMhKMS4bw+mI=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-jsdoc";
   };
   json = buildGrammar {
     language = "json";
@@ -596,6 +665,7 @@
       rev = "73076754005a460947cafe8e03a8cf5fa4fa2938";
       hash = "sha256-wbE7CQ6l1wlhJdAoDVAj1QzyvlYnevbrlVCO0TMU7to=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-json";
   };
   json5 = buildGrammar {
     language = "json5";
@@ -606,6 +676,7 @@
       rev = "5dd5cdc418d9659682556b6adca2dd9ace0ac6d2";
       hash = "sha256-B3wZS/OtW4hKOHsoYdYK2zsJGID8fuIm8C+IuAteR9E=";
     };
+    meta.homepage = "https://github.com/Joakker/tree-sitter-json5";
   };
   jsonc = buildGrammar {
     language = "jsonc";
@@ -616,6 +687,7 @@
       rev = "02b01653c8a1c198ae7287d566efa86a135b30d5";
       hash = "sha256-iWc2ePRiQnZ0FEdMAaAwa3iYt/SY0bEjQrZyqE9EhlU=";
     };
+    meta.homepage = "https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git";
   };
   jsonnet = buildGrammar {
     language = "jsonnet";
@@ -626,16 +698,18 @@
       rev = "0475a5017ad7dc84845d1d33187f2321abcb261d";
       hash = "sha256-7LdIA+tsFUIvAk9GoqJwSU5tJDNPtsziv0rbiiLmCLY=";
     };
+    meta.homepage = "https://github.com/sourcegraph/tree-sitter-jsonnet";
   };
   julia = buildGrammar {
     language = "julia";
-    version = "58d0701";
+    version = "6287135";
     source = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-julia";
-      rev = "58d0701550b4cce02acf433eedada03b634cc524";
-      hash = "sha256-ywliyXSL6A/NtqPnjRU++4C26H9MO6slz/3bIYFgGp4=";
+      rev = "628713553c42f30595a3b0085bb587e9359b986a";
+      hash = "sha256-vB9HnWQ+659Itu8cvd0meLbbLzn62/dDroA3vB7ZtIs=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia";
   };
   kotlin = buildGrammar {
     language = "kotlin";
@@ -646,6 +720,7 @@
       rev = "b953dbdd05257fcb2b64bc4d9c1578fac12e3c28";
       hash = "sha256-xTbRn7bDN6FR9UOzw43RVHIahI/DFjwLGQj3cYoPurY=";
     };
+    meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin";
   };
   lalrpop = buildGrammar {
     language = "lalrpop";
@@ -656,6 +731,7 @@
       rev = "7744b56f03ac1e5643fad23c9dd90837fe97291e";
       hash = "sha256-xz+D1lS/bpHHu2rJEjalpMajSKl3yn+bQI9JN0Bm7tU=";
     };
+    meta.homepage = "https://github.com/traxys/tree-sitter-lalrpop";
   };
   latex = buildGrammar {
     language = "latex";
@@ -666,6 +742,7 @@
       rev = "8c75e93cd08ccb7ce1ccab22c1fbd6360e3bcea6";
       hash = "sha256-zkp4De2eBoOsPZRHHT3mIPVWFPYboTvn6AQ4AkwXhFE=";
     };
+    meta.homepage = "https://github.com/latex-lsp/tree-sitter-latex";
   };
   ledger = buildGrammar {
     language = "ledger";
@@ -676,6 +753,7 @@
       rev = "47b8971448ce5e9abac865f450c1b14fb3b6eee9";
       hash = "sha256-Doz561oVrWkmUAL3VUTjraO+F0aDuahhBB+xXevTrkg=";
     };
+    meta.homepage = "https://github.com/cbarrete/tree-sitter-ledger";
   };
   llvm = buildGrammar {
     language = "llvm";
@@ -686,6 +764,7 @@
       rev = "e9948edc41e9e5869af99dddb2b5ff5cc5581af6";
       hash = "sha256-M7smrjU+7L9a2kpz0wM+G+YQGTQaqsVL/Q+OCKlPpzQ=";
     };
+    meta.homepage = "https://github.com/benwilliamgraham/tree-sitter-llvm";
   };
   lua = buildGrammar {
     language = "lua";
@@ -696,6 +775,7 @@
       rev = "fb30e8cb605e2ebd6c643e6981325a63fbbde320";
       hash = "sha256-gT2WHH3rkFzb6iER0ryVU7bqVbh36RbTI9HSWMh3DsI=";
     };
+    meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua";
   };
   m68k = buildGrammar {
     language = "m68k";
@@ -706,6 +786,7 @@
       rev = "d097b123f19c6eaba2bf181c05420d88b9fc489d";
       hash = "sha256-y1nioJ2R0YgGLH7dkJsTxIkejfMnh1CU+A++yTaQdb0=";
     };
+    meta.homepage = "https://github.com/grahambates/tree-sitter-m68k";
   };
   make = buildGrammar {
     language = "make";
@@ -716,6 +797,7 @@
       rev = "a4b9187417d6be349ee5fd4b6e77b4172c6827dd";
       hash = "sha256-qQqapnKKH5X8rkxbZG5PjnyxvnpyZHpFVi/CLkIn/x0=";
     };
+    meta.homepage = "https://github.com/alemuller/tree-sitter-make";
   };
   markdown = buildGrammar {
     language = "markdown";
@@ -727,6 +809,7 @@
       hash = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE=";
     };
     location = "tree-sitter-markdown";
+    meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
   };
   markdown_inline = buildGrammar {
     language = "markdown_inline";
@@ -738,6 +821,7 @@
       hash = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE=";
     };
     location = "tree-sitter-markdown-inline";
+    meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
   };
   menhir = buildGrammar {
     language = "menhir";
@@ -748,6 +832,7 @@
       rev = "db7953acb0d5551f207373c81fa07a57d7b085cb";
       hash = "sha256-w/ibFZ4bMPPRTgTJFLQrAzMecykJFcrjJjekKMXwqSI=";
     };
+    meta.homepage = "https://github.com/Kerl13/tree-sitter-menhir";
   };
   meson = buildGrammar {
     language = "meson";
@@ -758,6 +843,7 @@
       rev = "153d22588fb5c1eee16a165a084f9ea30f29d941";
       hash = "sha256-q0qcRe94+zFvNzZV6vGGihL5xLl8Vr0lwDZAIYKPq2A=";
     };
+    meta.homepage = "https://github.com/Decodetalkers/tree-sitter-meson";
   };
   nickel = buildGrammar {
     language = "nickel";
@@ -768,6 +854,7 @@
       rev = "9d83db400b6c11260b9106f131f93ddda8131933";
       hash = "sha256-Jv7GMm6TpJE8+0pG045rFWkW/9rkv1Pn/6ko2a0bpmY=";
     };
+    meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
   };
   ninja = buildGrammar {
     language = "ninja";
@@ -778,6 +865,7 @@
       rev = "0a95cfdc0745b6ae82f60d3a339b37f19b7b9267";
       hash = "sha256-e/LpQUL3UHHko4QvMeT40LCvPZRT7xTGZ9z1Zaboru4=";
     };
+    meta.homepage = "https://github.com/alemuller/tree-sitter-ninja";
   };
   nix = buildGrammar {
     language = "nix";
@@ -788,6 +876,7 @@
       rev = "6b71a810c0acd49b980c50fc79092561f7cee307";
       hash = "sha256-uTgSj4zz8WvzwIr7UO78F45nzVSjjitdtKY8GV4iL+w=";
     };
+    meta.homepage = "https://github.com/cstrahan/tree-sitter-nix";
   };
   norg = buildGrammar {
     language = "norg";
@@ -798,6 +887,7 @@
       rev = "dfac5ad2740a79b18ae849590a924e7bad3f1b23";
       hash = "sha256-nH9Y2mYXRehqvq0kp1DkoI2dIAaCidFAxlKos8wZmks=";
     };
+    meta.homepage = "https://github.com/nvim-neorg/tree-sitter-norg";
   };
   ocaml = buildGrammar {
     language = "ocaml";
@@ -809,6 +899,7 @@
       hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM=";
     };
     location = "ocaml";
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
   };
   ocaml_interface = buildGrammar {
     language = "ocaml_interface";
@@ -820,6 +911,7 @@
       hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM=";
     };
     location = "interface";
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
   };
   ocamllex = buildGrammar {
     language = "ocamllex";
@@ -831,6 +923,7 @@
       hash = "sha256-XRxAnl+9F6AYPyd6BGNQOo+KjRs2el78ziyo7NeD1IE=";
     };
     generate = true;
+    meta.homepage = "https://github.com/atom-ocaml/tree-sitter-ocamllex";
   };
   org = buildGrammar {
     language = "org";
@@ -841,6 +934,7 @@
       rev = "081179c52b3e8175af62b9b91dc099d010c38770";
       hash = "sha256-tD9sL84LKvkhBzTU40pfd32ggxAcPG2Qk9HIhNXKM0E=";
     };
+    meta.homepage = "https://github.com/milisims/tree-sitter-org";
   };
   pascal = buildGrammar {
     language = "pascal";
@@ -851,6 +945,7 @@
       rev = "2fd40f477d3e2794af152618ccfac8d92eb72a66";
       hash = "sha256-/nChZspacQymw+1P7yrkOpa7BIBVIKeLKUv0y9Hk8oc=";
     };
+    meta.homepage = "https://github.com/Isopod/tree-sitter-pascal.git";
   };
   perl = buildGrammar {
     language = "perl";
@@ -861,6 +956,7 @@
       rev = "749d26fe13fb131b92e6515416096e572575b981";
       hash = "sha256-VOLvfgh1ZbuDk1BKBW9ln/9b/seudFv0PTIOFe1AtNE=";
     };
+    meta.homepage = "https://github.com/ganezdragon/tree-sitter-perl";
   };
   php = buildGrammar {
     language = "php";
@@ -871,6 +967,7 @@
       rev = "ab2e72179ceb8bb0b249c8ac9162a148e911b3dc";
       hash = "sha256-Lg4gEi6bCYosakr2McmgOwGHsmsVSjD+oyG6XNTd0j0=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
   };
   phpdoc = buildGrammar {
     language = "phpdoc";
@@ -881,6 +978,7 @@
       rev = "2f4d16c861b5a454b577d057f247f9902d7b47f5";
       hash = "sha256-7oriB1AWNvedT1JRoCYuF2m5+E9MYr85Lg38KRZ+BKo=";
     };
+    meta.homepage = "https://github.com/claytonrcarter/tree-sitter-phpdoc";
   };
   pioasm = buildGrammar {
     language = "pioasm";
@@ -891,6 +989,7 @@
       rev = "924aadaf5dea2a6074d72027b064f939acf32e20";
       hash = "sha256-og5DjoyTtKUTp0V4/PpcGb8xwzLeidsb2lq0+QF7u9M=";
     };
+    meta.homepage = "https://github.com/leo60228/tree-sitter-pioasm";
   };
   prisma = buildGrammar {
     language = "prisma";
@@ -901,6 +1000,7 @@
       rev = "17a59236ac25413b81b1613ea6ba5d8d52d7cd6c";
       hash = "sha256-EdeKTmai/OM0WzCjcLmzHI41EqJWH/dOJJxvCE2sid8=";
     };
+    meta.homepage = "https://github.com/victorhqc/tree-sitter-prisma";
   };
   proto = buildGrammar {
     language = "proto";
@@ -911,6 +1011,7 @@
       rev = "42d82fa18f8afe59b5fc0b16c207ee4f84cb185f";
       hash = "sha256-cX+0YARIa9i8UymPPviyoj+Wh37AFYl9fsoNZMQXPgA=";
     };
+    meta.homepage = "https://github.com/mitchellh/tree-sitter-proto";
   };
   pug = buildGrammar {
     language = "pug";
@@ -921,6 +1022,7 @@
       rev = "63e214905970e75f065688b1e8aa90823c3aacdc";
       hash = "sha256-t/KRUV1DMlU/xu5BRe1VZm+dliXdtUVhFO+6psiHf+Q=";
     };
+    meta.homepage = "https://github.com/zealot128/tree-sitter-pug";
   };
   python = buildGrammar {
     language = "python";
@@ -931,6 +1033,7 @@
       rev = "b14614e2144b8f9ee54deed5a24f3c6f51f9ffa8";
       hash = "sha256-4TDEK3v7hqinisXtAi/iJL0rUKqII07oVg/Jz3IV2yA=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
   };
   ql = buildGrammar {
     language = "ql";
@@ -941,6 +1044,7 @@
       rev = "bd087020f0d8c183080ca615d38de0ec827aeeaf";
       hash = "sha256-2QOtNguYAIhIhGuVqyx/33gFu3OqcxAPBZOk85Q226M=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-ql";
   };
   qmljs = buildGrammar {
     language = "qmljs";
@@ -951,6 +1055,7 @@
       rev = "0b2b25bcaa7d4925d5f0dda16f6a99c588a437f1";
       hash = "sha256-Hf8LfrN3YjN9hpGtTVmK3ZjJ/b/fsRCg9FG7hSSj/mk=";
     };
+    meta.homepage = "https://github.com/yuja/tree-sitter-qmljs";
   };
   query = buildGrammar {
     language = "query";
@@ -961,6 +1066,7 @@
       rev = "0695cd0760532de7b54f23c667d459b5d1332b44";
       hash = "sha256-DwhvOvUb3hNmZTTk5HkZ9X1DCWz+G3+YJ0l/PqLVDdU=";
     };
+    meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query";
   };
   r = buildGrammar {
     language = "r";
@@ -971,6 +1077,7 @@
       rev = "80efda55672d1293aa738f956c7ae384ecdc31b4";
       hash = "sha256-qUfyITSZRnSm4zZHfkM/Dm5AeFEFLcCtRrInx0Xs/tg=";
     };
+    meta.homepage = "https://github.com/r-lib/tree-sitter-r";
   };
   racket = buildGrammar {
     language = "racket";
@@ -981,6 +1088,7 @@
       rev = "09cb27a06415bce529a26774a842f5a80d50d362";
       hash = "sha256-+chEzpHh4eBTEpx2+sFXDMco18zNPFUu5HMQ3dB+LwI=";
     };
+    meta.homepage = "https://github.com/6cdh/tree-sitter-racket";
   };
   rasi = buildGrammar {
     language = "rasi";
@@ -991,6 +1099,7 @@
       rev = "12391343979463a2484e6353e5afb6dcb8c31e8b";
       hash = "sha256-JmL2Ei2DZhsZ4jFQ8s6B0ig9bflDs9dLr5/QknDqqRc=";
     };
+    meta.homepage = "https://github.com/Fymyte/tree-sitter-rasi";
   };
   regex = buildGrammar {
     language = "regex";
@@ -1001,16 +1110,18 @@
       rev = "e1cfca3c79896ff79842f057ea13e529b66af636";
       hash = "sha256-lDsr3sLrLf6wXu/juIA+bTtv1SBo+Jgwqw/6yBAE0kg=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-regex";
   };
   rego = buildGrammar {
     language = "rego";
-    version = "6d70da3";
+    version = "6174f05";
     source = fetchFromGitHub {
       owner = "FallenAngel97";
       repo = "tree-sitter-rego";
-      rev = "6d70da3a998fd0081efc5d1019c71e74cc1568e9";
-      hash = "sha256-i6XVQOQHItZsba3oNplkBbCfIYjX5bU5qyig/WyGEt4=";
+      rev = "6174f05f58e8c35d8c82323dd8c599b90b3171b3";
+      hash = "sha256-hO89IYKOHDLmuq+JrXJCi3tjxn3zMwjTnWxC6ld09YA=";
     };
+    meta.homepage = "https://github.com/FallenAngel97/tree-sitter-rego";
   };
   rnoweb = buildGrammar {
     language = "rnoweb";
@@ -1021,6 +1132,7 @@
       rev = "502c1126dc6777f09af5bef16e72a42f75bd081e";
       hash = "sha256-aGEhy4uMhKFbL0+JO5rrn3GIe//8PZpDHEMDGHDlBCY=";
     };
+    meta.homepage = "https://github.com/bamonroe/tree-sitter-rnoweb";
   };
   rst = buildGrammar {
     language = "rst";
@@ -1031,6 +1143,7 @@
       rev = "25e6328872ac3a764ba8b926aea12719741103f1";
       hash = "sha256-g3CovnXY15SkxAdVk15M4hAxizqLc551omwKKG+Vozg=";
     };
+    meta.homepage = "https://github.com/stsewd/tree-sitter-rst";
   };
   ruby = buildGrammar {
     language = "ruby";
@@ -1041,6 +1154,7 @@
       rev = "c91960320d0f337bdd48308a8ad5500bd2616979";
       hash = "sha256-zUNs7s7SLGLU4h08FHLUA3YhbhRotMQVqk+zG9bmtjE=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-ruby";
   };
   rust = buildGrammar {
     language = "rust";
@@ -1051,6 +1165,7 @@
       rev = "0431a2c60828731f27491ee9fdefe25e250ce9c9";
       hash = "sha256-DnUq8TwLGPtN1GXw0AV2t+tj7UKrU4kU32rjGoCHMpE=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
   };
   scala = buildGrammar {
     language = "scala";
@@ -1061,6 +1176,7 @@
       rev = "140c96cf398693189d4e50f76d19ddfcd8a018f8";
       hash = "sha256-Sr4+avj0v1y8K6XXPAVwJDTa6+RmbKe/4dzd0k0y3cE=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
   };
   scheme = buildGrammar {
     language = "scheme";
@@ -1071,6 +1187,7 @@
       rev = "bdcd2c8496701153506a9e3e1b76dfed852873ba";
       hash = "sha256-KfcWGE92nx9lrs3V/lKeE0pPqCqFC/mHamkyryrcdoo=";
     };
+    meta.homepage = "https://github.com/6cdh/tree-sitter-scheme";
   };
   scss = buildGrammar {
     language = "scss";
@@ -1081,6 +1198,7 @@
       rev = "c478c6868648eff49eb04a4df90d703dc45b312a";
       hash = "sha256-BFtMT6eccBWUyq6b8UXRAbB1R1XD3CrrFf1DM3aUI5c=";
     };
+    meta.homepage = "https://github.com/serenadeai/tree-sitter-scss";
   };
   slint = buildGrammar {
     language = "slint";
@@ -1091,6 +1209,7 @@
       rev = "d422300f5d6ccce8f9a617dfed57aafb636fadb2";
       hash = "sha256-j6NBJaix0oOUKLAaeo+/1XdYatStqyaTyLKawq/nFvc=";
     };
+    meta.homepage = "https://github.com/jrmoulton/tree-sitter-slint";
   };
   solidity = buildGrammar {
     language = "solidity";
@@ -1101,6 +1220,7 @@
       rev = "52ed0880c0126df2f2c7693f215fe6f38e4a2e0a";
       hash = "sha256-ZyeUYtE0pyQIPnZhza6u6yQO0Mx8brgAUmUpIXYZwb4=";
     };
+    meta.homepage = "https://github.com/YongJieYongJie/tree-sitter-solidity";
   };
   sparql = buildGrammar {
     language = "sparql";
@@ -1111,6 +1231,7 @@
       rev = "05f949d3c1c15e3261473a244d3ce87777374dec";
       hash = "sha256-KBalxmAukeSbjyelEy+ZqMcBlRd0V0/pntCwTeINTAQ=";
     };
+    meta.homepage = "https://github.com/BonaBeavis/tree-sitter-sparql";
   };
   sql = buildGrammar {
     language = "sql";
@@ -1121,6 +1242,7 @@
       rev = "70c50264ae022193adb364ffa7a767d765ed9857";
       hash = "sha256-0HlkjL+Wy82SmVLSPXL7o3Y3l/zSDaPeBygLSvdCRZs=";
     };
+    meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
   };
   supercollider = buildGrammar {
     language = "supercollider";
@@ -1131,6 +1253,7 @@
       rev = "90c6d9f777d2b8c4ce497c48b5f270a44bcf3ea0";
       hash = "sha256-YF+JFLcRHrWIRky2aI5s294+G6jSyVUgt/1bnZkYGLw=";
     };
+    meta.homepage = "https://github.com/madskjeldgaard/tree-sitter-supercollider";
   };
   surface = buildGrammar {
     language = "surface";
@@ -1141,6 +1264,7 @@
       rev = "f4586b35ac8548667a9aaa4eae44456c1f43d032";
       hash = "sha256-Fn/pF8yvU+Ll7WmoMHnEcNxb3dsfNhuKhXA1UgXeviA=";
     };
+    meta.homepage = "https://github.com/connorlay/tree-sitter-surface";
   };
   svelte = buildGrammar {
     language = "svelte";
@@ -1151,6 +1275,7 @@
       rev = "52e122ae68b316d3aa960a0a422d3645ba717f42";
       hash = "sha256-ACRpn1/2d6/ambLvr0xr7kT9gTzFFHXtvbQRTxEoet0=";
     };
+    meta.homepage = "https://github.com/Himujjal/tree-sitter-svelte";
   };
   swift = buildGrammar {
     language = "swift";
@@ -1162,6 +1287,7 @@
       hash = "sha256-x9m5QFQY33NWdkq0lkWiskfKxqRPz5ePSbVUDY7IBLU=";
     };
     generate = true;
+    meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
   };
   sxhkdrc = buildGrammar {
     language = "sxhkdrc";
@@ -1172,6 +1298,7 @@
       rev = "440d5f913d9465c9c776a1bd92334d32febcf065";
       hash = "sha256-AGhGYomrMe6Wj+EHLQT4v0BiU4jxhxXpVQkU2xU/1ZI=";
     };
+    meta.homepage = "https://github.com/RaafatTurki/tree-sitter-sxhkdrc";
   };
   teal = buildGrammar {
     language = "teal";
@@ -1183,6 +1310,7 @@
       hash = "sha256-IGSZurROJLOp1pRPLowHGO1Pu/ehieLKWgI+RCE7wLc=";
     };
     generate = true;
+    meta.homepage = "https://github.com/euclidianAce/tree-sitter-teal";
   };
   tiger = buildGrammar {
     language = "tiger";
@@ -1193,6 +1321,7 @@
       rev = "eb1d3714998977ae76ca7c6a102b10ee37efc2b5";
       hash = "sha256-kbwERaTHk5Pj5AfpbXPuRS6speB+xLMfrhRXTVOyMNw=";
     };
+    meta.homepage = "https://github.com/ambroisie/tree-sitter-tiger";
   };
   tlaplus = buildGrammar {
     language = "tlaplus";
@@ -1203,6 +1332,7 @@
       rev = "deaf0e5c573ad4e2bbfc9a29abb7b6dcb572556e";
       hash = "sha256-D4A2k14SpVR4iKCMwql403XjHGg7p17EYazvAUiJ2gY=";
     };
+    meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
   };
   todotxt = buildGrammar {
     language = "todotxt";
@@ -1213,6 +1343,7 @@
       rev = "0207f6a4ab6aeafc4b091914d31d8235049a2578";
       hash = "sha256-FWVW+qWOUSri+qf+qistf8bKWJCTxUKkoO66yUYtwHI=";
     };
+    meta.homepage = "https://github.com/arnarg/tree-sitter-todotxt.git";
   };
   toml = buildGrammar {
     language = "toml";
@@ -1223,6 +1354,7 @@
       rev = "8bd2056818b21860e3d756b5a58c4f6e05fb744e";
       hash = "sha256-z9MWNOBxLHBd/pVs5/QiSSGtaW+DUd7y3wZXcl3hWnk=";
     };
+    meta.homepage = "https://github.com/ikatyang/tree-sitter-toml";
   };
   tsx = buildGrammar {
     language = "tsx";
@@ -1234,6 +1366,7 @@
       hash = "sha256-Nx+K7Ic/ePKAXPIMlrRn6zELYE59f/FnnZ/LM5ELaU8=";
     };
     location = "tsx";
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
   };
   turtle = buildGrammar {
     language = "turtle";
@@ -1244,6 +1377,7 @@
       rev = "085437f5cb117703b7f520dd92161140a684f092";
       hash = "sha256-ub777Pjody2SvP2EjW7IwWj8YnMuMzdJ4AlrkP6WrdA=";
     };
+    meta.homepage = "https://github.com/BonaBeavis/tree-sitter-turtle";
   };
   twig = buildGrammar {
     language = "twig";
@@ -1254,6 +1388,7 @@
       rev = "035f549ec8c043e734f04341d7ccdc669bb2ba91";
       hash = "sha256-XSE0E6a9o+WpvmMIXHu0N89VqzaIk9eFHofKAPHtT20=";
     };
+    meta.homepage = "https://github.com/gbprod/tree-sitter-twig";
   };
   typescript = buildGrammar {
     language = "typescript";
@@ -1265,6 +1400,7 @@
       hash = "sha256-Nx+K7Ic/ePKAXPIMlrRn6zELYE59f/FnnZ/LM5ELaU8=";
     };
     location = "typescript";
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
   };
   v = buildGrammar {
     language = "v";
@@ -1276,6 +1412,7 @@
       hash = "sha256-R6Irz3sdyzKH1qWOUwUYK1OKhYs0PUYS/azYn/nb6jk=";
     };
     location = "tree_sitter_v";
+    meta.homepage = "https://github.com/vlang/vls";
   };
   vala = buildGrammar {
     language = "vala";
@@ -1286,6 +1423,7 @@
       rev = "8f690bfa639f2b83d1fb938ed3dd98a7ba453e8b";
       hash = "sha256-YZTE3PkBPCEkMXnLC0HSQ86v5+3/J7/ETDQp8eguFW8=";
     };
+    meta.homepage = "https://github.com/vala-lang/tree-sitter-vala";
   };
   verilog = buildGrammar {
     language = "verilog";
@@ -1296,6 +1434,7 @@
       rev = "4457145e795b363f072463e697dfe2f6973c9a52";
       hash = "sha256-l4DgThuP9EFU55YQ9lgvVP/8pXojOllQ870gRsBF3FE=";
     };
+    meta.homepage = "https://github.com/tree-sitter/tree-sitter-verilog";
   };
   vhs = buildGrammar {
     language = "vhs";
@@ -1306,6 +1445,7 @@
       rev = "2f87b9d973597e69552ecf6a4fe16470fbd8c44e";
       hash = "sha256-G1ytXVBeGN1606aFrPdNFp3Khlg/BTFq2VS176Knb7k=";
     };
+    meta.homepage = "https://github.com/charmbracelet/tree-sitter-vhs";
   };
   vim = buildGrammar {
     language = "vim";
@@ -1316,6 +1456,7 @@
       rev = "4ae7bd67706d7e10afed827ce2ded884ab41650f";
       hash = "sha256-5gNqs6ykt2m48ghFv9y5OxsHDPTWRicdT9eR+DDiXiA=";
     };
+    meta.homepage = "https://github.com/vigoux/tree-sitter-viml";
   };
   vue = buildGrammar {
     language = "vue";
@@ -1326,6 +1467,7 @@
       rev = "91fe2754796cd8fba5f229505a23fa08f3546c06";
       hash = "sha256-NeuNpMsKZUP5mrLCjJEOSLD6tlJpNO4Z/rFUqZLHE1A=";
     };
+    meta.homepage = "https://github.com/ikatyang/tree-sitter-vue";
   };
   wgsl = buildGrammar {
     language = "wgsl";
@@ -1336,6 +1478,7 @@
       rev = "af16e7d9e230004888fb52d33599ad38b4cf6052";
       hash = "sha256-rp6SqiGVAxlAbrYhNLhwqawjpFXZd2R4A4cNQx6qFZs=";
     };
+    meta.homepage = "https://github.com/szebniok/tree-sitter-wgsl";
   };
   yaml = buildGrammar {
     language = "yaml";
@@ -1346,6 +1489,7 @@
       rev = "0e36bed171768908f331ff7dff9d956bae016efb";
       hash = "sha256-bpiT3FraOZhJaoiFWAoVJX1O+plnIi8aXOW2LwyU23M=";
     };
+    meta.homepage = "https://github.com/ikatyang/tree-sitter-yaml";
   };
   yang = buildGrammar {
     language = "yang";
@@ -1356,6 +1500,7 @@
       rev = "8e9d175982afcefa3dac8ca20d40d1643accd2bd";
       hash = "sha256-QSOy5wLb52hKkfW8bJY827zGrXTsMO5sZtl2NaNLmBA=";
     };
+    meta.homepage = "https://github.com/Hubro/tree-sitter-yang";
   };
   zig = buildGrammar {
     language = "zig";
@@ -1366,5 +1511,6 @@
       rev = "d90d38d28ce8cc27bfea8b4e0c75211e9e2398ca";
       hash = "sha256-vdfXC9PUyv4YynfrKi7M708zFbNIV6AERBd63/EAp1A=";
     };
+    meta.homepage = "https://github.com/maxxnino/tree-sitter-zig";
   };
 }
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix
index 2b8ba7616ae62..0272c73b17303 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix
@@ -1,4 +1,4 @@
-{ lib, callPackage, tree-sitter, nodejs }:
+{ lib, callPackage, tree-sitter, neovim, runCommand }:
 
 self: super:
 
@@ -21,7 +21,7 @@ let
           replaced = lib.replaceStrings [ "_" ] [ "-" ] k;
         in
         map (lib.flip lib.nameValuePair v)
-          ([ ("tree-sitter-${k}") ] ++ lib.optionals (k != replaced) [
+          ([ "tree-sitter-${k}" ] ++ lib.optionals (k != replaced) [
             replaced
             "tree-sitter-${replaced}"
           ]))
@@ -34,27 +34,61 @@ let
   # or for all grammars:
   # pkgs.vimPlugins.nvim-treesitter.withAllGrammars
   withPlugins =
-    grammarFn: self.nvim-treesitter.overrideAttrs (_: {
-      postPatch =
-        let
-          grammars = tree-sitter.withPlugins (ps: grammarFn (ps // builtGrammars));
-        in
-        ''
-          rm -r parser
-          ln -s ${grammars} parser
-        '';
+    f: self.nvim-treesitter.overrideAttrs (_: {
+      passthru.dependencies = map
+        (grammar:
+          let
+            name = lib.pipe grammar [
+              lib.getName
+
+              # added in buildGrammar
+              (lib.removeSuffix "-grammar")
+
+              # grammars from tree-sitter.builtGrammars
+              (lib.removePrefix "tree-sitter-")
+              (lib.replaceStrings [ "-" ] [ "_" ])
+            ];
+          in
+
+          runCommand "nvim-treesitter-${name}-grammar" { } ''
+            mkdir -p $out/parser
+            ln -s ${grammar}/parser $out/parser/${name}.so
+          ''
+        )
+        (f (tree-sitter.builtGrammars // builtGrammars));
     });
+
+  withAllGrammars = withPlugins (_: allGrammars);
 in
 
 {
   passthru = {
-    inherit builtGrammars allGrammars withPlugins;
+    inherit builtGrammars allGrammars withPlugins withAllGrammars;
+
+    tests.check-queries =
+      let
+        nvimWithAllGrammars = neovim.override {
+          configure.packages.all.start = [ withAllGrammars ];
+        };
+      in
+      runCommand "nvim-treesitter-check-queries"
+        {
+          nativeBuildInputs = [ nvimWithAllGrammars ];
+          CI = true;
+        }
+        ''
+          touch $out
+          export HOME=$(mktemp -d)
+          ln -s ${withAllGrammars}/CONTRIBUTING.md .
 
-    tests.builtGrammars = lib.recurseIntoAttrs builtGrammars;
+          nvim --headless "+luafile ${withAllGrammars}/scripts/check-queries.lua" | tee log
 
-    withAllGrammars = withPlugins (_: allGrammars);
+          if grep -q Warning log; then
+            echo "Error: warnings were emitted by the check"
+            exit 1
+          fi
+        '';
   };
 
   meta.maintainers = with lib.maintainers; [ figsoda ];
 }
-
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
index d23e9b39cf15e..580c1aa22dab7 100755
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
@@ -91,8 +91,9 @@ def generate_grammar(item):
         generated += """
     generate = true;"""
 
-    generated += """
-  };
+    generated += f"""
+    meta.homepage = "{url}";
+  }};
 """
 
     return generated
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 2005eec17af69..d821dea94917a 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -471,20 +471,14 @@ self: super: {
     dependencies = with self; [ lush-nvim ];
   });
 
-  himalaya-vim = buildVimPluginFrom2Nix {
-    pname = "himalaya-vim";
-    inherit (himalaya) src version;
-    dependencies = with self; [ himalaya ];
-    configurePhase = ''
-      cd vim
+  himalaya-vim = super.himalaya-vim.overrideAttrs (old: {
+    postPatch = ''
       substituteInPlace plugin/himalaya.vim \
-        --replace 'if !executable("himalaya")' 'if v:false'
-    '';
-    postFixup = ''
-      mkdir -p $out/bin
-      ln -s ${himalaya}/bin/himalaya $out/bin/himalaya
+        --replace "if !executable('himalaya')" "if v:false"
+      substituteInPlace autoload/himalaya/request.vim \
+        --replace "'himalaya" "'${himalaya}/bin/himalaya"
     '';
-  };
+  });
 
   jedi-vim = super.jedi-vim.overrideAttrs (old: {
     # checking for python3 support in vim would be neat, too, but nobody else seems to care
@@ -1316,6 +1310,7 @@ self: super: {
       "coc-smartf"
       "coc-snippets"
       "coc-solargraph"
+      "coc-spell-checker"
       "coc-sqlfluff"
       "coc-stylelint"
       "coc-sumneko-lua"
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index f59b501e75058..8e9bb27161d17 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -142,7 +142,6 @@ https://github.com/neoclide/coc-denite/,,
 https://github.com/antoinemadec/coc-fzf/,,
 https://github.com/josa42/coc-lua/,,
 https://github.com/neoclide/coc-neco/,,
-https://github.com/iamcco/coc-spell-checker/,,
 https://github.com/coc-extensions/coc-svelte/,,
 https://github.com/iamcco/coc-tailwindcss/,,
 https://github.com/neoclide/coc.nvim/,release,
@@ -294,6 +293,7 @@ https://github.com/MrcJkb/haskell-tools.nvim/,HEAD,
 https://github.com/neovimhaskell/haskell-vim/,,
 https://github.com/wenzel-hoffman/haskell-with-unicode.vim/,HEAD,
 https://github.com/travitch/hasksyn/,,
+https://git.sr.ht/~soywod/himalaya-vim,,
 https://github.com/Yggdroot/hiPairs/,,
 https://github.com/mpickering/hlint-refactor-vim/,,
 https://github.com/edluffy/hologram.nvim/,,
@@ -472,6 +472,7 @@ https://github.com/roxma/nvim-completion-manager/,,
 https://github.com/klen/nvim-config-local/,,
 https://github.com/yamatsum/nvim-cursorline/,,
 https://github.com/mfussenegger/nvim-dap/,,
+https://github.com/leoluz/nvim-dap-go/,HEAD,
 https://github.com/mfussenegger/nvim-dap-python/,HEAD,
 https://github.com/rcarriga/nvim-dap-ui/,,
 https://github.com/theHamsta/nvim-dap-virtual-text/,,
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index b9142c400a870..3b0ba9efddfbd 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -537,6 +537,16 @@ let
         };
       };
 
+      bmalehorn.vscode-fish = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-fish";
+          publisher = "bmalehorn";
+          version = "1.0.31";
+          sha256 = "sha256-jDWW43ozUPIzhK/qQ+a+JSNdDHrjvgosyGe8kzBX6xM=";
+        };
+        meta.license = lib.licenses.mit;
+      };
+
       bradlc.vscode-tailwindcss = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-tailwindcss";
@@ -1668,6 +1678,16 @@ let
         };
       };
 
+      matangover.mypy = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "mypy";
+          publisher = "matangover";
+          version = "0.2.2";
+          sha256 = "sha256-eaiR30HjPCpOLUKQqiQ2Oqj+XY+JNnV47bM5KD2Mouk=";
+        };
+        meta.license = lib.licenses.mit;
+      };
+
       mattn.lisp = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "lisp";
@@ -2598,6 +2618,16 @@ let
         };
       };
 
+      thenuprojectcontributors.vscode-nushell-lang = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-nushell-lang";
+          publisher = "thenuprojectcontributors";
+          version = "0.7.0";
+          sha256 = "sha256-+AGJkFx/uzgQzuRnRBZ44xGNQ6a/QWt7SNiQgwPTZxo=";
+        };
+        meta.license = lib.licenses.mit;
+      };
+
       tiehuis.zig = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "zig";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 0ce6b8f994687..fcf6dea5e1472 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -15,11 +15,11 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1jp21lnz3vmv4f6crnqbkj6jzr6wl5h2ibniki7azamaqxy51ipi";
-    x86_64-darwin = "1msngvngcfhc3zmi2vfg5bgrhmj9ml4pyd9lpr7dpcxycswvifw7";
-    aarch64-linux = "17l4w4vvvninyhyiwkkqhz7nhm68wj7diwwn9sh54x71dmwcqlcs";
-    aarch64-darwin = "102vciba35sma1810bvnr5xa9qaf0fbvrg8blqchy77gydcrnj8b";
-    armv7l-linux = "0ihbqy5wda1326nhqgckz26icr9inwk1pvspvpmg221y279s3iwp";
+    x86_64-linux = "09ymqhg10flv3w38cb3fhrf5fvxz6aa12y75i009j01rjckvsymr";
+    x86_64-darwin = "0kd9a8vk4ddp78m0y1fbzbpgpr5rwhxnfbg52wvky0grl58dh6v6";
+    aarch64-linux = "17hwxwvvl3vy2s6wl1n2qkkdhlrf40z8wy0r5jhqrni79f6drkjz";
+    aarch64-darwin = "1skgnn6rq0rkhj98q8y19cyyllk8xa1752lwn4qcgi568anap1lw";
+    armv7l-linux = "0drz8kigjl82m3hfkpbqnmymy6fpgwmgbpkdwl2jkbl81iijvxvp";
   }.${system} or throwSystem;
 
   sourceRoot = if stdenv.isDarwin then "" else ".";
@@ -29,7 +29,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.73.0.22306";
+    version = "1.73.1.22314";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/emulators/basiliskii/default.nix b/pkgs/applications/emulators/basiliskii/default.nix
index f32abac9a6b85..8a58dd24555fd 100644
--- a/pkgs/applications/emulators/basiliskii/default.nix
+++ b/pkgs/applications/emulators/basiliskii/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoconf, automake, pkg-config, SDL2, gtk2 }:
+{ stdenv, lib, fetchFromGitHub, autoconf, automake, pkg-config, SDL2, gtk2, mpfr }:
 stdenv.mkDerivation {
   pname = "basiliskii";
   version = "unstable-2022-09-30";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   sourceRoot = "source/BasiliskII/src/Unix";
   patches = [ ./remove-redhat-6-workaround-for-scsi-sg.h.patch ];
   nativeBuildInputs = [ autoconf automake pkg-config ];
-  buildInputs = [ SDL2 gtk2 ];
+  buildInputs = [ SDL2 gtk2 mpfr ];
   preConfigure = ''
     NO_CONFIGURE=1 ./autogen.sh
   '';
diff --git a/pkgs/applications/emulators/duckstation/default.nix b/pkgs/applications/emulators/duckstation/default.nix
index d02e08ed6cd40..31869fa9fe36f 100644
--- a/pkgs/applications/emulators/duckstation/default.nix
+++ b/pkgs/applications/emulators/duckstation/default.nix
@@ -4,31 +4,32 @@
 , SDL2
 , cmake
 , copyDesktopItems
-, makeDesktopItem
 , curl
 , extra-cmake-modules
-, libevdev
-, libpulseaudio
 , libXrandr
+, libpulseaudio
+, makeDesktopItem
 , mesa # for libgbm
 , ninja
 , pkg-config
 , qtbase
+, qtsvg
 , qttools
 , vulkan-loader
-#, wayland # Wayland doesn't work correctly this version
+, wayland
 , wrapQtAppsHook
+, enableWayland ? true
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "duckstation";
-  version = "unstable-2022-07-08";
+  version = "unstable-2022-11-18";
 
   src = fetchFromGitHub {
     owner = "stenzek";
-    repo = pname;
-    rev = "82965f741e81e4d2f7e1b2abdc011e1f266bfe7f";
-    sha256 = "sha256-D8Ps/EQRcHLsps/KEUs56koeioOdE/GPA0QJSrbSdYs=";
+    repo = "duckstation";
+    rev = "8d7aea5e19859ed483699cc4a5dbd47165c7be8b";
+    sha256 = "sha256-92Wn1ZEEZszmVK/KrJqjDuQf/lyD8/VScfTI/St5dY4=";
   };
 
   nativeBuildInputs = [
@@ -44,19 +45,19 @@ stdenv.mkDerivation rec {
   buildInputs = [
     SDL2
     curl
-    libevdev
     libpulseaudio
     libXrandr
     mesa
     qtbase
+    qtsvg
     vulkan-loader
-    #wayland
-  ];
+  ]
+  ++ lib.optionals enableWayland [ wayland ];
 
   cmakeFlags = [
     "-DUSE_DRMKMS=ON"
-    #"-DUSE_WAYLAND=ON"
-  ];
+  ]
+  ++ lib.optionals enableWayland [ "-DUSE_WAYLAND=ON" ];
 
   desktopItems = [
     (makeDesktopItem {
@@ -80,7 +81,7 @@ stdenv.mkDerivation rec {
     cp -r bin $out/share/duckstation
     ln -s $out/share/duckstation/duckstation-qt $out/bin/
 
-    install -Dm644 ../extras/icons/icon-256px.png $out/share/pixmaps/duckstation.png
+    install -Dm644 bin/resources/images/duck.png $out/share/pixmaps/duckstation.png
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/emulators/flycast/default.nix b/pkgs/applications/emulators/flycast/default.nix
index 3243c333a335b..b597abc7b0693 100644
--- a/pkgs/applications/emulators/flycast/default.nix
+++ b/pkgs/applications/emulators/flycast/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
+, makeWrapper
 , alsa-lib
 , libX11
 , libevdev
@@ -11,6 +12,7 @@
 , SDL2
 , libzip
 , miniupnpc
+, vulkan-loader
 }:
 
 stdenv.mkDerivation rec {
@@ -28,6 +30,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     pkg-config
+    makeWrapper
   ];
 
   buildInputs = [
@@ -41,6 +44,10 @@ stdenv.mkDerivation rec {
     miniupnpc
   ];
 
+  postFixup = ''
+    wrapProgram $out/bin/flycast --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/flyinghead/flycast";
     changelog = "https://github.com/flyinghead/flycast/releases/tag/v${version}";
diff --git a/pkgs/applications/emulators/sameboy/default.nix b/pkgs/applications/emulators/sameboy/default.nix
index 26555acb61cbd..0353518855684 100644
--- a/pkgs/applications/emulators/sameboy/default.nix
+++ b/pkgs/applications/emulators/sameboy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sameboy";
-  version = "0.15.6";
+  version = "0.15.8";
 
   src = fetchFromGitHub {
     owner = "LIJI32";
     repo = "SameBoy";
     rev = "v${version}";
-    sha256 = "sha256-WsZuOKq/Dfk2zgYFXSwZPUuPrJQJ3y3mJHL6s61mTig=";
+    sha256 = "sha256-SBK+aYekEJreD0XBvYaU12eIKmm9JNYIpPt1XhUtH4c=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/file-managers/felix-fm/default.nix b/pkgs/applications/file-managers/felix-fm/default.nix
index 4b234ed186b73..3e5a8c4cc98c9 100644
--- a/pkgs/applications/file-managers/felix-fm/default.nix
+++ b/pkgs/applications/file-managers/felix-fm/default.nix
@@ -1,23 +1,46 @@
-{ lib, rustPlatform, fetchFromGitHub, zoxide }:
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, bzip2
+, zstd
+, zoxide
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "felix";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "kyoheiu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HD6KsPI4ZeJxQ+jbv5bWzTGQBHa9wGzhZBLQedcL5WI=";
+    sha256 = "sha256-CLCzRnczItvnjXtS4BOc9FeBCPQm102U0bDIWAZPzYc=";
   };
 
-  cargoSha256 = "sha256-Q24dyCJBy27B3aI7ZEQnjTgLIB7XhltYeGBpmfy0DwE=";
+  cargoSha256 = "sha256-H+uOo3Cm1nFPYyA0qOAcaD4mfSd4Uaq5U20t6V4mmcg=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    bzip2
+    zstd
+  ];
 
   checkInputs = [ zoxide ];
 
+  buildFeatures = [ "zstd/pkg-config" ];
+
+  checkFlags = [
+    # extra test files not shipped with the repository
+    "--skip=magic_image::tests::test_inspect_image"
+    "--skip=magic_packed::tests::test_inspect_signature"
+  ];
+
   meta = with lib; {
     description = "A tui file manager with vim-like key mapping";
     homepage = "https://github.com/kyoheiu/felix";
+    changelog = "https://github.com/kyoheiu/felix/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ figsoda ];
     mainProgram = "fx";
diff --git a/pkgs/applications/file-managers/llama/default.nix b/pkgs/applications/file-managers/llama/default.nix
index f1822c674116c..b71ab1cdf0f38 100644
--- a/pkgs/applications/file-managers/llama/default.nix
+++ b/pkgs/applications/file-managers/llama/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "llama";
-  version = "1.0.2";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "antonmedv";
     repo = "llama";
     rev = "v${version}";
-    sha256 = "sha256-6Xuwl4IpzbVfJ2MhHeImPFWxL/Y6rhnBExlh64PeGdk=";
+    sha256 = "sha256-/YnaKodMkuHrB0xH1UNRq+a6VknKRqcbBIehaYM6Gyc=";
   };
 
-  vendorSha256 = "sha256-zbfQtTDbVWFVGQyjqlkv3mTvEPkKImzXAIXcmkh4wqk=";
+  vendorSha256 = "sha256-nngto104p/qJpWM1NlmEqcrJThXSeCfcoXCzV1CClYQ=";
 
   meta = with lib; {
     description = "Terminal file manager";
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index 5d1411bfcc07a..bffbcf48fabda 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkg-config bison flex makeWrapper wrapGAppsHook
     gdal geos libmysqlclient netcdf pdal
-  ] ++ (with python3Packages; [ python-dateutil numpy wxPython_4_1 ]);
+  ] ++ (with python3Packages; [ python-dateutil numpy wxPython_4_2 ]);
 
   buildInputs = [
     cairo zlib proj libtiff libpng fftw sqlite
diff --git a/pkgs/applications/graphics/ascii-image-converter/default.nix b/pkgs/applications/graphics/ascii-image-converter/default.nix
index 556a9e1126363..708c3b4682862 100644
--- a/pkgs/applications/graphics/ascii-image-converter/default.nix
+++ b/pkgs/applications/graphics/ascii-image-converter/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ascii-image-converter";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "TheZoraiz";
     repo = "ascii-image-converter";
     rev = "v${version}";
-    sha256 = "5Sa9PqhoJ/LCAHrymqVCO4bI39mQeVa4xv1z235Cxvg=";
+    sha256 = "sha256-2kg5W5u6YjLce3wNS3A1e89ZYAVK2LyNmPGCm86HxPM=";
   };
 
-  vendorSha256 = "rQS3QH9vnEbQZszG3FOr1P5HYgS63BurCNCFQTTdvZs=";
+  vendorSha256 = "sha256-rQS3QH9vnEbQZszG3FOr1P5HYgS63BurCNCFQTTdvZs=";
 
   meta = with lib; {
     description = "Convert images into ASCII art on the console";
diff --git a/pkgs/applications/graphics/lazpaint/default.nix b/pkgs/applications/graphics/lazpaint/default.nix
index 82eab9757c73f..37ad3387f834a 100644
--- a/pkgs/applications/graphics/lazpaint/default.nix
+++ b/pkgs/applications/graphics/lazpaint/default.nix
@@ -64,5 +64,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
+    broken = true; # 2022-11-16
   };
 }
diff --git a/pkgs/applications/graphics/qimgv/default.nix b/pkgs/applications/graphics/qimgv/default.nix
index 8e4c4805750bd..560cf666d2621 100644
--- a/pkgs/applications/graphics/qimgv/default.nix
+++ b/pkgs/applications/graphics/qimgv/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "qimgv";
-  version = "1.0.2";
+  version = "1.0.3-alpha";
 
   src = fetchFromGitHub {
     owner = "easymodo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YlV/ysm7bdPverpKpanrL+jPVvMtP1paoAm0PREMaww=";
+    sha256 = "sha256-fHMSo8zlOl9Lt8nYwClUzON4TPB9Ogwven+TidsesxY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/qimgv/qt5-12-compat.diff b/pkgs/applications/graphics/qimgv/qt5-12-compat.diff
deleted file mode 100644
index da64759e22d60..0000000000000
--- a/pkgs/applications/graphics/qimgv/qt5-12-compat.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp b/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp
-index 96ec9d3..6d95d08 100644
---- a/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp
-+++ b/qimgv/components/directorymanager/watchers/linux/linuxworker.cpp
-@@ -21,7 +21,7 @@ void LinuxWorker::setDescriptor(int desc) {
- 
- void LinuxWorker::run() {
-     emit started();
--    isRunning.storeRelaxed(true);
-+    isRunning.store(true);
- 
-     if (fd == -1) {
-         qDebug() << TAG << "File descriptor isn't set! Stopping";
diff --git a/pkgs/applications/kde/kdevelop/kdevelop.nix b/pkgs/applications/kde/kdevelop/kdevelop.nix
index 4e7f576398e5c..1d34e01813b06 100644
--- a/pkgs/applications/kde/kdevelop/kdevelop.nix
+++ b/pkgs/applications/kde/kdevelop/kdevelop.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, cmake, gettext, pkg-config, extra-cmake-modules
-, qtquickcontrols, qtwebkit, qttools, kde-cli-tools, qtbase
+, qtquickcontrols, qttools, kde-cli-tools, qtbase
 , kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews
 , kjobwidgets, kcmutils, kio, knewstuff, knotifyconfig, kparts, ktexteditor
 , threadweaver, kxmlgui, kwindowsystem, grantlee, kcrash, karchive, kguiaddons
@@ -24,7 +24,7 @@ mkDerivation rec {
   ];
 
   propagatedBuildInputs = [
-    qtquickcontrols qtwebkit boost libkomparediff2
+    qtquickcontrols boost libkomparediff2
     kconfig kdeclarative kdoctools kiconthemes ki18n kitemmodels kitemviews
     kjobwidgets kcmutils kio knewstuff knotifyconfig kparts ktexteditor
     threadweaver kxmlgui kwindowsystem grantlee plasma-framework krunner
diff --git a/pkgs/applications/kde/rocs.nix b/pkgs/applications/kde/rocs.nix
index bb5cd80bca23a..80f5f4bb6d650 100644
--- a/pkgs/applications/kde/rocs.nix
+++ b/pkgs/applications/kde/rocs.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, boost,
-  qtbase, qtscript, qtquickcontrols, qtwebkit, qtxmlpatterns, grantlee,
+  qtbase, qtscript, qtquickcontrols, qtxmlpatterns, grantlee,
   kdoctools, karchive, kxmlgui, kcrash, kdeclarative, ktexteditor, kguiaddons
 }:
 
@@ -19,7 +19,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     boost
-    qtbase qtscript qtquickcontrols qtwebkit qtxmlpatterns grantlee
+    qtbase qtscript qtquickcontrols qtxmlpatterns grantlee
     kxmlgui kcrash kdeclarative karchive ktexteditor kguiaddons
   ];
 }
diff --git a/pkgs/applications/misc/anytype/default.nix b/pkgs/applications/misc/anytype/default.nix
index 98ea0802f2e45..ae4a49d7e3a42 100644
--- a/pkgs/applications/misc/anytype/default.nix
+++ b/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.29.0";
+  version = "0.29.1";
   name = "Anytype-${version}";
   nameExecutable = pname;
   src = fetchurl {
     url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "sha256-xoHYQbV8fPsHs/G1iuTaQ197dpUZkMohmYM924y8NT0=";
+    sha256 = "sha256-NyIAOkOX9s9dN6m/5hfMhy4tSENPCDk2w/F8z+J6qqk=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/pkgs/applications/misc/cubiomes-viewer/default.nix b/pkgs/applications/misc/cubiomes-viewer/default.nix
index 5832cf9432aee..5f7f101ad6136 100644
--- a/pkgs/applications/misc/cubiomes-viewer/default.nix
+++ b/pkgs/applications/misc/cubiomes-viewer/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cubiomes-viewer";
-  version = "2.5.1";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "Cubitect";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ge1dO2I4avblN+3BXY9AXFFmgX4lIwZYUf4IohH1vqc=";
+    sha256 = "sha256-ZXqe+696dNYTkNidEA+s5QQ7Euu7WOdl0EMLU5pKdOY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index ceb1b9833c928..e003787efc460 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -14,7 +14,7 @@
 , libXtst
 , zlib
 , maven
-, webkitgtk
+, webkitgtk_4_1
 , glib-networking
 , javaPackages
 }:
@@ -52,7 +52,7 @@
     libXtst
     zlib
   ] ++ lib.optionals stdenv.isLinux [
-    webkitgtk
+    webkitgtk_4_1
     glib-networking
   ];
 
@@ -108,7 +108,7 @@
 
       makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
         --prefix PATH : ${jdk}/bin \
-        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst webkitgtk glib-networking ])} \
+        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst webkitgtk_4_1 glib-networking ])} \
         --prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \
         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
 
diff --git a/pkgs/applications/misc/eureka-ideas/default.nix b/pkgs/applications/misc/eureka-ideas/default.nix
index d9016bc341ae0..ee15f31632cb2 100644
--- a/pkgs/applications/misc/eureka-ideas/default.nix
+++ b/pkgs/applications/misc/eureka-ideas/default.nix
@@ -2,6 +2,7 @@
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
+, libgit2
 , openssl
 , stdenv
 , Security
@@ -22,13 +23,15 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
-
-  checkFlags = lib.optionals stdenv.isLinux [
-    # failing on linux for unknown reasons
-    "--skip=config_manager::tests"
+  buildInputs = [
+    libgit2
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    Security
   ];
 
+  dontUseCargoParallelTests = true;
+
   meta = with lib; {
     description = "CLI tool to input and store your ideas without leaving the terminal";
     homepage = "https://github.com/simeg/eureka";
diff --git a/pkgs/applications/misc/heimer/default.nix b/pkgs/applications/misc/heimer/default.nix
index ec2d8d62d06d3..792eee4d9e368 100644
--- a/pkgs/applications/misc/heimer/default.nix
+++ b/pkgs/applications/misc/heimer/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "heimer";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchFromGitHub {
     owner = "juzzlin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-i4jgmqRvBX6g6IOitnBnQqWnFY5QoLk6/Cah0wCU8uc=";
+    sha256 = "sha256-NAjl7eRmMkRrVhlza87ErllEa1QfPZ8GRI1aljY6itI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 2340f6a5f4f5c..49bacebdab93a 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.105.0";
+  version = "0.106.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qKcybKgdNkn3AhDVwl1vCYt0HoQimz8qi+O95jKaW8Q=";
+    sha256 = "sha256-Dyre/ou0kjEqbq8WGGM/n8+JBTMNslbnmj+5clYJUHs=";
   };
 
-  vendorSha256 = "sha256-M74pfS7bmSrXhUvQ3hDokBPNLYxJslc9UGR3Bhp2BBQ=";
+  vendorSha256 = "sha256-dhsGGu4uNrqKv6szGqruAcI2UTbbXknKaKk5pVCQB5A=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/ksmoothdock/default.nix b/pkgs/applications/misc/ksmoothdock/default.nix
index 7325c85dbd4c6..80c46bd9c16da 100644
--- a/pkgs/applications/misc/ksmoothdock/default.nix
+++ b/pkgs/applications/misc/ksmoothdock/default.nix
@@ -18,6 +18,12 @@ mkDerivation rec {
     sha256 = "sha256-hO7xgjFMFrEhQs3oc2peFTjSVEDsl7Ma/TeVybEZMEk=";
   };
 
+  # Upstream seems dead and there are new deprecation warnings in KF5.100
+  # Remember, kids: friends don't let friends build with -Werror
+  postPatch = ''
+    substituteInPlace src/CMakeLists.txt --replace "-Werror" ""
+  '';
+
   nativeBuildInputs = [ cmake extra-cmake-modules ];
 
   buildInputs = [ kactivities qtbase ];
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 26d5c3b65a368..bb879bce1572c 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.8.10";
+  version = "0.8.11";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "sha256-n6uRMkV/+U2M0/FjQJx0LIDGgeIX6TY58j2sweSmlbc=";
+    sha256 = "sha256-c8gP7OJwnCEXnT2FQH1ttYRzZfbcJL86FX2JQezJI+s=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/meerk40t/default.nix b/pkgs/applications/misc/meerk40t/default.nix
index 354c689269369..276cf79988370 100644
--- a/pkgs/applications/misc/meerk40t/default.nix
+++ b/pkgs/applications/misc/meerk40t/default.nix
@@ -11,14 +11,14 @@ let
 in
 buildPythonApplication rec {
   pname = "MeerK40t";
-  version = "0.8.0031";
+  version = "0.8.1000";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "meerk40t";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-7Vc7Z+mxy+xRbUBeivkqVwO86ovZDo42M4G0ZD23vMk=";
+    hash = "sha256-YCcnqaH4Npmct5IBHsnufswRz8bS7mUb1YFwTta/Dxc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix
index 5afd0a615b599..35832b0dafb14 100644
--- a/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -18,7 +18,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "metadata-cleaner";
-  version = "2.2.5";
+  version = "2.2.7";
 
   format = "other";
 
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "rmnvgr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Yb5tCvhVg9p4v7++MmoaeQDyP1qdfpHM+IGj8BoacVs=";
+    hash = "sha256-Kqvnw0cPPkqgJQdc6vkP4U96AQuyFSNMQTzTdIUghWw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/oxker/default.nix b/pkgs/applications/misc/oxker/default.nix
index ddf1f047ef44e..50d0e5a012b42 100644
--- a/pkgs/applications/misc/oxker/default.nix
+++ b/pkgs/applications/misc/oxker/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oxker";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-R7vtwUJVlqrt/71d1hbliJvkAhJx6A0Q5nsV71QO/tY=";
+    sha256 = "sha256-kMomzIViN7ooBsjUfCIk0XRi4WtXtiaHWHT2pECx//k=";
   };
 
-  cargoSha256 = "sha256-LciBg74zyWdSv0FMHFpp/XtbBuzsfEalmiBNCL+i7Zg=";
+  cargoSha256 = "sha256-ASBu4p8+/Donmynnyryktc6dXA3yiOb9w5XpmN4PotY=";
 
   meta = with lib; {
     description = "A simple tui to view & control docker containers";
diff --git a/pkgs/applications/misc/process-compose/default.nix b/pkgs/applications/misc/process-compose/default.nix
new file mode 100644
index 0000000000000..c52adbc4f0be2
--- /dev/null
+++ b/pkgs/applications/misc/process-compose/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
+
+buildGoModule rec {
+  pname = "process-compose";
+  version = "0.24.1";
+
+  src = fetchFromGitHub {
+    owner = "F1bonacc1";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "TKLLq6I+Mcvdz51m8nydTWcslBcQlJCJFoJ10SgfVWU=";
+  };
+
+  ldflags = [ "-X main.version=v${version}" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  vendorSha256 = "IsO1B6z1/HoGQ8xdNKQqZ/eZd90WikDbU9XiP0z28mU=";
+
+  doCheck = false;
+
+  postInstall = ''
+    mv $out/bin/{src,process-compose}
+
+    installShellCompletion --cmd process-compose \
+      --bash <($out/bin/process-compose completion bash) \
+      --zsh <($out/bin/process-compose completion zsh) \
+      --fish <($out/bin/process-compose completion fish)
+  '';
+
+  meta = with lib; {
+    description = "A simple and flexible scheduler and orchestrator to manage non-containerized applications";
+    homepage = "https://github.com/F1bonacc1/process-compose";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ thenonameguy ];
+    mainProgram = "process-compose";
+  };
+}
diff --git a/pkgs/applications/misc/sigi/default.nix b/pkgs/applications/misc/sigi/default.nix
index 5b5bf57870df2..132b8f0ab9e4e 100644
--- a/pkgs/applications/misc/sigi/default.nix
+++ b/pkgs/applications/misc/sigi/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sigi";
-  version = "3.4.3";
+  version = "3.5.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-CDu/tllCwmt+UO4ae1uFkR4KKCWdxM4aW1O7oY59qHE=";
+    sha256 = "sha256-VUf5fCVOZCn0iY51eBS/fIvlxQF+BY+k75I+NY7yqzM=";
   };
 
-  cargoSha256 = "sha256-pMOaw7Ra78aRisYF9ttbpjB/cbylpzZXw8DtBqn5Tjo=";
+  cargoSha256 = "sha256-ivSVcpUDGK0dJDy+jY7BYQIFCXu/npV0MiNe3nlsUho=";
   nativeBuildInputs = [ installShellFiles ];
 
   # In case anything goes wrong.
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Organizing CLI for people who don't love organizing.";
-    homepage = "https://github.com/hiljusti/sigi";
+    homepage = "https://github.com/sigi-cli/sigi";
     license = licenses.gpl2;
     maintainers = with maintainers; [ hiljusti ];
   };
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index d401b2c421954..401d4e00db168 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -14,7 +14,8 @@
 , gdk-pixbuf
 , libnotify
 , qttools
-, xlibsWrapper
+, libICE
+, libSM
 , libX11
 , libxkbfile
 , libXi
@@ -84,7 +85,8 @@ stdenv.mkDerivation rec {
     util-linux
     libselinux
     libsepol
-    xlibsWrapper
+    libICE
+    libSM
     libX11
     libXi
     libXtst
diff --git a/pkgs/applications/misc/tippecanoe/default.nix b/pkgs/applications/misc/tippecanoe/default.nix
index d3fa86aedcde7..7eccdbcc8d48d 100644
--- a/pkgs/applications/misc/tippecanoe/default.nix
+++ b/pkgs/applications/misc/tippecanoe/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tippecanoe";
-  version = "2.11.0";
+  version = "2.13.0";
 
   src = fetchFromGitHub {
     owner = "felt";
     repo = "tippecanoe";
     rev = finalAttrs.version;
-    hash = "sha256-WFvpq0g+P9gs0VudKB5mVTo/cvWMsaxf13ZORUTf/7c=";
+    hash = "sha256-YgmePs0GxygR0hvcnRngzW77QZTOygSYvRaYk6oCVls=";
   };
 
   buildInputs = [ sqlite zlib ];
diff --git a/pkgs/applications/misc/tty-share/default.nix b/pkgs/applications/misc/tty-share/default.nix
index a1adc152349ba..37cc10c3823ce 100644
--- a/pkgs/applications/misc/tty-share/default.nix
+++ b/pkgs/applications/misc/tty-share/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tty-share";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "elisescu";
     repo = "tty-share";
     rev = "v${version}";
-    sha256 = "sha256-aAqKfi0ZX0UB07yGY6x0HcMspvq4rcJXKHSONxAwMlc=";
+    sha256 = "sha256-/oK2m2kxmF9HHYfTK6NlZxKKkDS7Oay+ed7jR/+szs0=";
   };
 
   # Upstream has a `./vendor` directory with all deps which we rely upon.
@@ -19,7 +19,6 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://tty-share.com";
     description = "Share terminal via browser for remote work or shared sessions";
-    platforms = platforms.linux;
     license = licenses.mit;
     maintainers = with maintainers; [ andys8 ];
   };
diff --git a/pkgs/applications/misc/web-media-controller/default.nix b/pkgs/applications/misc/web-media-controller/default.nix
deleted file mode 100644
index d2b5b924ea8c0..0000000000000
--- a/pkgs/applications/misc/web-media-controller/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, glib, pcre, json-glib }:
-
-stdenv.mkDerivation rec {
-  pname = "wmc-mpris";
-  version = "0.1.0";
-
-  src = fetchFromGitHub {
-    owner = "f1u77y";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1zcnaf9g55cbj9d2zlsr0i15qh0w9gp5jmxkm6dcp1j6yd7j3ymc";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ glib pcre json-glib ];
-  cmakeFlags = [
-    "-DCHROMIUM_MANIFEST_DESTINATION=${placeholder "out"}/etc/chromium/native-messaging-hosts"
-    "-DCHROME_MANIFEST_DESTINATION=${placeholder "out"}/etc/opt/chrome/native-messaging-hosts"
-    "-DFIREFOX_MANIFEST_DESTINATION=${placeholder "out"}/lib/mozilla/native-messaging-hosts"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/f1u77y/wmc-mpris";
-    description = "MPRIS proxy for usage with 'Web Media Controller' web extension";
-    license = licenses.unlicense;
-    maintainers = with maintainers; [ doronbehar ];
-    mainProgram = "web-media-controller";
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 19b9ed12b063a..e2911963fa7c4 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -19,9 +19,9 @@
     }
   },
   "beta": {
-    "version": "108.0.5359.40",
-    "sha256": "1fsp5fkabgqx4jp650nkngkc49vzcy8rgnfqqz4dsyl92ng8q34y",
-    "sha256bin64": "1zd8dbs5w2vdnck91pqiymwa2bnz53jgjbg89cr96y6jwab3i4b0",
+    "version": "108.0.5359.48",
+    "sha256": "0nk33rv4q22kgr9197y6a4w8yazgifsm5qvmmia41nnl24sqik57",
+    "sha256bin64": "062anw2i8rfi4v8zl0jdqxzn24xzl3ny24cbiyk8dyyf55r914v0",
     "deps": {
       "gn": {
         "version": "2022-10-05",
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 3048f047485e4..0ad125beb53e1 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -36,7 +36,7 @@
 , pango
 , pipewire
 , pciutils
-, libheimdal
+, heimdal
 , libpulseaudio
 , systemd
 , channel
@@ -134,7 +134,7 @@ stdenv.mkDerivation {
       pango
       pipewire
       pciutils
-      libheimdal
+      heimdal
       libpulseaudio
       systemd
       ffmpeg
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 963028ae321a2..378fe1f4039b0 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -33,7 +33,6 @@ let
     , wmClass ? null
     , extraNativeMessagingHosts ? []
     , pkcs11Modules ? []
-    , forceWayland ? false
     , useGlvnd ? true
     , cfg ? config.${applicationName} or {}
 
@@ -170,7 +169,7 @@ let
         name = applicationName;
         exec = "${launcherName} %U";
         inherit icon;
-        desktopName = "${desktopName}${nameSuffix}${lib.optionalString forceWayland " (Wayland)"}";
+        desktopName = "${desktopName}${nameSuffix}";
         startupNotify = true;
         startupWMClass = wmClass;
         terminal = false;
@@ -309,7 +308,7 @@ let
             --set MOZ_ALLOW_DOWNGRADE 1 \
             --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
             --suffix XDG_DATA_DIRS : '${gnome.adwaita-icon-theme}/share' \
-            ${lib.optionalString forceWayland "--set MOZ_ENABLE_WAYLAND 1"} \
+            --set-default MOZ_ENABLE_WAYLAND 1 \
             "''${oldWrapperArgs[@]}"
         #############################
         #                           #
diff --git a/pkgs/applications/networking/browsers/librewolf/librewolf.nix b/pkgs/applications/networking/browsers/librewolf/librewolf.nix
index 2d0d11a587af2..baa76488f661a 100644
--- a/pkgs/applications/networking/browsers/librewolf/librewolf.nix
+++ b/pkgs/applications/networking/browsers/librewolf/librewolf.nix
@@ -1,4 +1,4 @@
-{ callPackage, lib, stdenv, fetchpatch }:
+{ callPackage }:
 let
   src = callPackage ./src.nix { };
 in
@@ -6,13 +6,7 @@ rec {
 
   inherit (src) packageVersion firefox source;
 
-  extraPatches = lib.optionals stdenv.isAarch64 [
-    (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1791275
-      name = "no-sysctl-aarch64.patch";
-      url = "https://hg.mozilla.org/mozilla-central/raw-rev/0efaf5a00aaceeed679885e4cd393bd9a5fcd0ff";
-      hash = "sha256-wS/KufeLFxCexQalGGNg8+vnQhzDiL79OLt8FtL/JJ8=";
-    })
-  ];
+  extraPatches = [ ];
 
   extraConfigureFlags = [
     "--with-app-name=librewolf"
diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix
index 8656b4aaa2763..4812f69f34e85 100644
--- a/pkgs/applications/networking/browsers/luakit/default.nix
+++ b/pkgs/applications/networking/browsers/luakit/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luakit";
-  version = "2.3";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "luakit";
     repo = pname;
     rev = version;
-    hash = "sha256-5YeJkbWk1wHxWXqWOvhEDeScWPU/aRVhuOWRHLSHVZM=";
+    hash = "sha256-6baN3e5ZJ8hw6mhQ0AapyVIYFSdmXcfo45ReQNliIPw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index 12aeadbca1099..7a9e694214953 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 = "106.0.1370.17";
+    version = "108.0.1462.20";
     revision = "1";
-    sha256 = "sha256:0g9w3a7znc3iq0y27drjv5l45zk8lm0c1djd1r30iijln8a1diak";
+    sha256 = "sha256:0dfmzjfy4y07pqifyzv3rc8dbmxz8rr3v2idanla7jrks0pghcxm";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "107.0.1375.0";
+    version = "109.0.1495.2";
     revision = "1";
-    sha256 = "sha256:1a014jyrk5f11dr2s2mf1m8kfq39rbc5rh0bkmclbwsl83rdfdi4";
+    sha256 = "sha256:1bk7dx3mf020ahzmvr9cdgcn72rjrn2420j9g362vwcl1khyxciw";
   };
   stable = import ./browser.nix {
     channel = "stable";
-    version = "105.0.1343.42";
+    version = "107.0.1418.52";
     revision = "1";
-    sha256 = "sha256:18jnq1q65989xl98j2n3wlim0j00krkjxxnkfx2h7kymqjgysm6d";
+    sha256 = "sha256:1k3c5r9lq3vpc190bzs5fn944bi3af6wjxzwcliy4wzzrb5g0day";
   };
 }
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index 827570db179e7..9399d5b7fb9bb 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.12.6";
+  version = "0.12.7";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-w9U8+TYU9BQ2w/jSbDo6lEAlIuMOoCjO9fWhywyVbEk=";
+    sha256 = "sha256-libZapDj6Y/tGJEXAX3iZH2+pS64dg7IUsgTxT0Z6JA=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/helmsman/default.nix b/pkgs/applications/networking/cluster/helmsman/default.nix
index aa3268435738d..4915b2766ee7a 100644
--- a/pkgs/applications/networking/cluster/helmsman/default.nix
+++ b/pkgs/applications/networking/cluster/helmsman/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helmsman";
-  version = "3.15.0";
+  version = "3.15.1";
 
   src = fetchFromGitHub {
     owner = "Praqma";
     repo = "helmsman";
     rev = "v${version}";
-    sha256 = "sha256-wKemvUk5UP4LweX9JxbsYlrjuVRgchkOvlHqRYvAB9A=";
+    sha256 = "sha256-LgfYcptC1fcINf80dbOZu8HD5oTrF0tTMQCWdsO3H5U=";
   };
 
-  vendorSha256 = "sha256-swUZqrQ0nJS66oyqn0ONmFutLR2mEnDviC8siQB19c8=";
+  vendorSha256 = "sha256-iEsblhejczTFPL7LvEKHE/T1h2xAt7cdnoR8KIv3Wpo=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock
index b1eb6d8972a40..98ed810a2115f 100644
--- a/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -1,27 +1,27 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (7.0.3.1)
+    activesupport (7.0.4)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
-    addressable (2.8.0)
-      public_suffix (>= 2.0.2, < 5.0)
+    addressable (2.8.1)
+      public_suffix (>= 2.0.2, < 6.0)
     colorize (0.8.1)
     concurrent-ruby (1.1.10)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
     ejson (1.3.1)
-    faraday (2.4.0)
-      faraday-net_http (~> 2.0)
+    faraday (2.7.1)
+      faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
-    faraday-net_http (2.1.0)
+    faraday-net_http (3.0.2)
     ffi (1.15.5)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
-    googleauth (1.2.0)
+    googleauth (1.3.0)
       faraday (>= 0.17.3, < 3.a)
       jwt (>= 1.4, < 3.0)
       memoist (~> 0.16)
@@ -43,8 +43,8 @@ GEM
       concurrent-ruby (~> 1.0)
     jsonpath (1.1.2)
       multi_json
-    jwt (2.4.1)
-    krane (2.4.9)
+    jwt (2.5.0)
+    krane (3.0.1)
       activesupport (>= 5.0)
       colorize (~> 0.8)
       concurrent-ruby (~> 1.1)
@@ -55,7 +55,7 @@ GEM
       oj (~> 3.0)
       statsd-instrument (>= 2.8, < 4)
       thor (>= 1.0, < 2.0)
-    kubeclient (4.9.3)
+    kubeclient (4.10.1)
       http (>= 3.0, < 5.0)
       jsonpath (~> 1.0)
       recursive-open-struct (~> 1.1, >= 1.1.1)
@@ -64,12 +64,12 @@ GEM
     mime-types (3.4.1)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2022.0105)
-    minitest (5.16.2)
+    minitest (5.16.3)
     multi_json (1.15.0)
     netrc (0.11.0)
-    oj (3.13.19)
+    oj (3.13.23)
     os (1.1.4)
-    public_suffix (4.0.7)
+    public_suffix (5.0.0)
     rake (13.0.6)
     recursive-open-struct (1.1.3)
     rest-client (2.1.0)
@@ -83,7 +83,7 @@ GEM
       faraday (>= 0.17.5, < 3.a)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
-    statsd-instrument (3.3.0)
+    statsd-instrument (3.5.0)
     thor (1.2.1)
     tzinfo (2.0.5)
       concurrent-ruby (~> 1.0)
@@ -98,4 +98,4 @@ DEPENDENCIES
   krane
 
 BUNDLED WITH
-   2.3.9
+   2.3.24
diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix
index a42ccf61abbf2..b99238db86caf 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 = "15lbq28v48i6q118p02m5zs9c63y1kv2h5krb3ss6q2vyaxhnfz7";
+      sha256 = "183az13i4fsm28d0l5xhbjpmcj3l1lxzcxlx8pi8zrbd933jwqd0";
       type = "gem";
     };
-    version = "7.0.3.1";
+    version = "7.0.4";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
+      sha256 = "1ypdmpdn20hxp5vwxz3zc04r5xcwqc25qszdlg41h8ghdqbllwmw";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.8.1";
   };
   colorize = {
     groups = ["default"];
@@ -68,20 +68,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i45f90mg367izgpxf6rrq9zbwwqba1pymwyja6q128vrj1pjajj";
+      sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.7.1";
   };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rfiwhggrqgwp00c82sk8v2h93l81nxgl0mf07pijxz1zjmbgswj";
+      sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "3.0.2";
   };
   ffi = {
     groups = ["default"];
@@ -110,10 +110,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "030bcdnffwndk8h270cmbndixb5h3ss860yifv6bkfys95s5fjpp";
+      sha256 = "1hpwgwhk0lmnknkw8kbdfxn95qqs6aagpq815l5fkw9w6mi77pai";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   http = {
     dependencies = ["addressable" "http-cookie" "http-form_data" "http-parser"];
@@ -195,10 +195,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lsk71qh5d7bm1qqrjvcwhp4h71ckkdbzxnw4xkd9cin8gjfvvr6";
+      sha256 = "0kcmnx6rgjyd7sznai9ccns2nh7p7wnw3mi8a7vf2wkm51azwddq";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "2.5.0";
   };
   krane = {
     dependencies = ["activesupport" "colorize" "concurrent-ruby" "ejson" "googleauth" "jsonpath" "kubeclient" "oj" "statsd-instrument" "thor"];
@@ -206,10 +206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03sfcn5zfbagkyn30zih73i7pycdfzk0c5wr99d6qxl90c9cddc2";
+      sha256 = "1j3hy00vqk58vf7djip7vhqqczb84pjqlp34h1w4jgbw05vfcbqx";
       type = "gem";
     };
-    version = "2.4.9";
+    version = "3.0.1";
   };
   kubeclient = {
     dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@@ -217,10 +217,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ih04d0vgj91rl66iaqh8jmpskwz3g6mgajid0wlzi5skxqqxlym";
+      sha256 = "10rg2l15xmv4sy3cjvw3r9rxkylf36p416fhlhpic9zlq8ang6c4";
       type = "gem";
     };
-    version = "4.9.3";
+    version = "4.10.1";
   };
   memoist = {
     groups = ["default"];
@@ -258,10 +258,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14a9ign0hj3z3j4cpfplj2djaskx3skzyx4fl3x53d7saxmhrgn1";
+      sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30";
       type = "gem";
     };
-    version = "5.16.2";
+    version = "5.16.3";
   };
   multi_json = {
     groups = ["default"];
@@ -288,10 +288,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b10apyzm1qyph42438z9nx2ln5v9sg0686ws9gdrv5wh482fnmf";
+      sha256 = "0lggrhlihxyfgiqqr9b2fqdxc4d2zff2czq30m3rgn8a0b2gsv90";
       type = "gem";
     };
-    version = "3.13.19";
+    version = "3.13.23";
   };
   os = {
     groups = ["default"];
@@ -308,10 +308,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
+      sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
       type = "gem";
     };
-    version = "4.0.7";
+    version = "5.0.0";
   };
   rake = {
     groups = ["default"];
@@ -370,10 +370,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1555jgxr0az43l6nc8ngz5vmhqgjaznz4mkg5w5x0q6sa78i2pf3";
+      sha256 = "0gl2n26hb8g12n3alh1yg5qg7cjrp9f9fyc25crmaccm5m17v0sa";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "3.5.0";
   };
   thor = {
     groups = ["default"];
diff --git a/pkgs/applications/networking/cluster/kubelogin/default.nix b/pkgs/applications/networking/cluster/kubelogin/default.nix
index 9785ebc3ca23b..92899fdacf0f6 100644
--- a/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/pkgs/applications/networking/cluster/kubelogin/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "0.0.20";
+  version = "0.0.23";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZaAjXuECOmGIqye08/A41VQiO7avxqbaCOPFCPjaOjY=";
+    sha256 = "sha256-6aYa5C0RMCKrnBl3YNbdMUxGOJYwVZ303PLt5RRBjmw=";
   };
 
-  vendorSha256 = "sha256-3TQm0xbgFDZ2XCie93g4fPXKCHDh/yw4vwpAEMBMQGI=";
+  vendorSha256 = "sha256-mjIB0ITf296yDQJP46EI6pLYkZfyU3yzD9iwP0iIXvQ=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
index 6d30f4ba8785c..6bcde313e9ad6 100644
--- a/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubeseal";
-  version = "0.19.1";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "sha256-+WwxYnVW6rdZ+A4L2qLtXXaMWLC4ulEoP+vtdtkLvlE=";
+    sha256 = "sha256-LluWV/GWBJ+dmn94GtqPNCIDTZk2zlNhrbcM2pALUpU=";
   };
 
-  vendorSha256 = "sha256-505nUMuFteOfIurGYRGHqo9diTSEa56tmQZ3jIGtULQ=";
+  vendorSha256 = "sha256-f7rznlRKEkHsU72QvRpOtvhg5rp9PuEoADhQOeD16rU=";
 
   subPackages = [ "cmd/kubeseal" ];
 
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index e0a16ab885b8b..997b52434b829 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -12,9 +12,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.27.1";
+  version = "1.28.0";
 
-  vendorSha256 = "sha256-2sXWf+iK1v9gv2DXhmEs8xlIRF+6EM7Y6Otd6F89zGk=";
+  vendorSha256 = "sha256-CyIpzwSYHbv96UoQ/SZXOl6v3xn3pvT39ZO+RpVHU5I=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-GmvxKWHo0meiR1r5IlgI8jQRiDvmQafxTS9acv92EPk=";
+    sha256 = "sha256-Gn/RXZedID0sh5qTcBNg7GeLtI1JZYKXEWg2RZGXlDw=";
   };
 
   nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 1740f366f2e48..bfc5e828cb276 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -112,13 +112,13 @@
     "version": "2.24.1"
   },
   "aws": {
-    "hash": "sha256-ZVRzWOw0QwRS931UCJf7gYUZ18SiAEvpkxzCHj/fgQc=",
+    "hash": "sha256-xI+hH6al6zOYzgmpoOjKNy5QgVVFhnqiGm9OIUWevSk=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v4.39.0",
-    "vendorHash": "sha256-h4J35T9Yl3RfdVIhAFq5lw1eKgvwgg9ir8RuGDFObYQ=",
-    "version": "4.39.0"
+    "rev": "v4.40.0",
+    "vendorHash": "sha256-OScGmmFaGq7JD9+GmX3c9t/s4BqplMt7UNa2RXq5HKE=",
+    "version": "4.40.0"
   },
   "azuread": {
     "hash": "sha256-mjll5ANx063JLSbqohPOhor3GNeI1MUKgUKQ/f5XFk8=",
@@ -130,13 +130,13 @@
     "version": "2.30.0"
   },
   "azurerm": {
-    "hash": "sha256-7GqKlFFxcxJBFYhTaWGn1VCgn1DiK4aAoiwjIZsa+zI=",
+    "hash": "sha256-zLNlT2CK2Rbvpxftsi6WlMQoHn8S11l/5ySIKsfQ8no=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
     "repo": "terraform-provider-azurerm",
-    "rev": "v3.31.0",
+    "rev": "v3.32.0",
     "vendorHash": null,
-    "version": "3.31.0"
+    "version": "3.32.0"
   },
   "azurestack": {
     "hash": "sha256-aSwVa7y1AJ6sExx+bO/93oLBNgSBDJjuPYPY8i3C9T0=",
@@ -167,13 +167,13 @@
     "version": "1.16.0"
   },
   "bitbucket": {
-    "hash": "sha256-7Xxu3Q+pAaZdvRvfIFQFx3pfH8N0gk2waoxW//zh2dA=",
+    "hash": "sha256-eU8vA2fxtdsObgh2dTExGLzzBnfSc2DSGdFHrLXR3SA=",
     "owner": "DrFaust92",
     "provider-source-address": "registry.terraform.io/DrFaust92/bitbucket",
     "repo": "terraform-provider-bitbucket",
-    "rev": "v2.21.4",
-    "vendorHash": "sha256-VFh86MFKzgN7LvSYG7TooYapOZOJbDC8sntPzGVaNs8=",
-    "version": "2.21.4"
+    "rev": "v2.22.0",
+    "vendorHash": "sha256-Qkla3OEcyiMn6eqBj+4LB8JwpIwceLAASI1qvOcUBD0=",
+    "version": "2.22.0"
   },
   "brightbox": {
     "hash": "sha256-l4gN7gxLMTuUMjf50Hc2Els5pJ4BId1QlRAhykseK7c=",
@@ -304,13 +304,13 @@
     "version": "0.0.3"
   },
   "digitalocean": {
-    "hash": "sha256-iLwAkmzKRY8NfUHVGcstIHlSnZY+oi7fhCNP2kCzIxM=",
+    "hash": "sha256-JCqYTBgwcyppZ/xKPRE/SrTI0nDWw5QYqrld8YL+Blw=",
     "owner": "digitalocean",
     "provider-source-address": "registry.terraform.io/digitalocean/digitalocean",
     "repo": "terraform-provider-digitalocean",
-    "rev": "v2.23.0",
+    "rev": "v2.24.0",
     "vendorHash": null,
-    "version": "2.23.0"
+    "version": "2.24.0"
   },
   "dme": {
     "hash": "sha256-QNkr+6lKlKY+os0Pf6dqlmIn9u2LtMOo6ONahDeA9mE=",
@@ -367,13 +367,13 @@
     "version": "1.10.0"
   },
   "exoscale": {
-    "hash": "sha256-d+CMg3wYHsOYow8LG7P+qcszUBiCbNwEp1zCJN7yZKo=",
+    "hash": "sha256-pJ9bbI7y6iOzJ8qPIw8SUOj8yLotRig6cmDsvLfc+6U=",
     "owner": "exoscale",
     "provider-source-address": "registry.terraform.io/exoscale/exoscale",
     "repo": "terraform-provider-exoscale",
-    "rev": "v0.41.0",
+    "rev": "v0.41.1",
     "vendorHash": null,
-    "version": "0.41.0"
+    "version": "0.41.1"
   },
   "external": {
     "hash": "sha256-o9vCr3ayqg9Ehi39FgR6vJFZYF1iTcVD4QfYHcs+YbQ=",
@@ -385,13 +385,13 @@
     "version": "2.2.3"
   },
   "fastly": {
-    "hash": "sha256-WxFkJBi87IvO4a/8bmftMKCc/JcfoQILCtklvr9bcuc=",
+    "hash": "sha256-Zcev9EegZ/LVRGcjn1rHbp+jdZ5x4OowCD23E/MEYQA=",
     "owner": "fastly",
     "provider-source-address": "registry.terraform.io/fastly/fastly",
     "repo": "terraform-provider-fastly",
-    "rev": "v2.4.0",
+    "rev": "v3.0.0",
     "vendorHash": null,
-    "version": "2.4.0"
+    "version": "3.0.0"
   },
   "flexibleengine": {
     "hash": "sha256-yg3o7jsWGJ7/fJmDDbFnCpDmKRu0oEbe9wYoILbVwq8=",
@@ -423,13 +423,13 @@
     "version": "2.2.0"
   },
   "github": {
-    "hash": "sha256-cLBBz5qPRY+TpcO0yfyTXOQLQYz58hB1l6ufThbBSuM=",
+    "hash": "sha256-3ivfHKoj7jXQ3WsoTNSCL1zD93Pr0pjtZ9LneW9My4o=",
     "owner": "integrations",
     "provider-source-address": "registry.terraform.io/integrations/github",
     "repo": "terraform-provider-github",
-    "rev": "v5.8.0",
+    "rev": "v5.9.0",
     "vendorHash": null,
-    "version": "5.8.0"
+    "version": "5.9.0"
   },
   "gitlab": {
     "hash": "sha256-1Ljf9kwpj96mzu/uHqitYCKIixNn/sZL21zOM8xQsU4=",
@@ -441,24 +441,24 @@
     "version": "3.19.0"
   },
   "google": {
-    "hash": "sha256-guE04J0RCFOHPXGtEpxGZu8s6fnfoh0WLRRZ5GW/gLk=",
+    "hash": "sha256-qOB4UV53j0Bm0332U1YETzLfyBtGwfXs2hGDAL2BCCk=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v4.43.0",
+    "rev": "v4.43.1",
     "vendorHash": "sha256-Hzl95NLEZlvTBpCGJYzF5rtHWfYe26TwW0pbtqWmxOo=",
-    "version": "4.43.0"
+    "version": "4.43.1"
   },
   "google-beta": {
-    "hash": "sha256-HB37OQKULhqiMHOE3gs24sjuPsjMessO98z3+5TNNnM=",
+    "hash": "sha256-nNz9BgTJ8Aj3QZNpT0XK14s44+thDu4EfLvbEB8OFRc=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v4.43.0",
+    "rev": "v4.43.1",
     "vendorHash": "sha256-Hzl95NLEZlvTBpCGJYzF5rtHWfYe26TwW0pbtqWmxOo=",
-    "version": "4.43.0"
+    "version": "4.43.1"
   },
   "googleworkspace": {
     "hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
@@ -642,13 +642,13 @@
     "version": "1.14.0"
   },
   "kubernetes": {
-    "hash": "sha256-93cGlfYUH4VTdDYbtGySOUw5Kak7hKs0gxLCT0Bxca4=",
+    "hash": "sha256-hWFC8VBbM3BRGrX1Y45Znd/W3klYy/7aS7JbbKN7EUg=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v2.15.0",
+    "rev": "v2.16.0",
     "vendorHash": null,
-    "version": "2.15.0"
+    "version": "2.16.0"
   },
   "launchdarkly": {
     "hash": "sha256-AsFtlCIGvlG8c+PilhMhaMowaea/g1+IXYzEiIIbZ44=",
@@ -742,22 +742,22 @@
     "version": "3.3.0"
   },
   "minio": {
-    "hash": "sha256-9UZbFTMH6QOcNyBkqnGA3dSDl8Tmhe6oggwJC0yJTAw=",
+    "hash": "sha256-mtguRBSa+XrpUqEXb9voDHraae9fOaayX1nQpaeAlo4=",
     "owner": "aminueza",
     "provider-source-address": "registry.terraform.io/aminueza/minio",
     "repo": "terraform-provider-minio",
-    "rev": "v1.9.0",
-    "vendorHash": "sha256-586ekznHNm442LjQ33azbswrOOZ1Z5KNuJEXMrwQ1SM=",
-    "version": "1.9.0"
+    "rev": "v1.9.1",
+    "vendorHash": "sha256-VxISNcWEnBAa+8WsmqxcT+DPF74X8rLlvdSNJtx0++I=",
+    "version": "1.9.1"
   },
   "mongodbatlas": {
-    "hash": "sha256-xyKBhIsTawksKruRPXBJ3pEo+ssK7Gol3xCCdNPOes8=",
+    "hash": "sha256-rHT/x3Wpd7b4u7v1/g6DY85TwRkf5A7KaOiqoWeN05Y=",
     "owner": "mongodb",
     "provider-source-address": "registry.terraform.io/mongodb/mongodbatlas",
     "repo": "terraform-provider-mongodbatlas",
-    "rev": "v1.5.0",
-    "vendorHash": "sha256-zaILkt1uuw21r/ZHeSUWcfgPP2gCNRJYfn4DHUtVC2Q=",
-    "version": "1.5.0"
+    "rev": "v1.6.0",
+    "vendorHash": "sha256-dFlDUJGVTWQwXXGaWeG07kKyXcWWzuyqYlPm11yaCqI=",
+    "version": "1.6.0"
   },
   "namecheap": {
     "hash": "sha256-cms8YUL+SjTeYyIOQibksi8ZHEBYq2JlgTEpOO1uMZE=",
@@ -814,13 +814,13 @@
     "version": "3.2.9"
   },
   "null": {
-    "hash": "sha256-2YM3btZInUlIwp1VkasuugZZ8FervpRviUlx60vhVak=",
+    "hash": "sha256-ExXDbAXMVCTZBlYmi4kD/7JFB1fCFAoPL637+1N6rEI=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/null",
     "repo": "terraform-provider-null",
-    "rev": "v3.2.0",
-    "vendorHash": "sha256-rbZ7t5hcHkbbmqy+htYL7Ij8ZNILRsvUgLwwVObnZGg=",
-    "version": "3.2.0"
+    "rev": "v3.2.1",
+    "vendorHash": "sha256-vXyE0/tXzFHJPNq8MZ+NZItDWS3K7ZhtY23hGjtqRh8=",
+    "version": "3.2.1"
   },
   "nutanix": {
     "deleteVendor": true,
@@ -833,13 +833,13 @@
     "version": "1.7.1"
   },
   "oci": {
-    "hash": "sha256-ONMY14nbU2j4MrxoJ7AwOlfrqB0Nv5FQyl4ChAe9+z0=",
+    "hash": "sha256-t8GrhKnKredpbRmx/MAA4tx0kV0yZoFNnacKsp0Htro=",
     "owner": "oracle",
     "provider-source-address": "registry.terraform.io/oracle/oci",
     "repo": "terraform-provider-oci",
-    "rev": "v4.99.0",
+    "rev": "v4.100.0",
     "vendorHash": null,
-    "version": "4.99.0"
+    "version": "4.100.0"
   },
   "okta": {
     "hash": "sha256-COGXHUjXYGB2QDY0iBG+MvNcxGy87vpGIerQU2XXEmw=",
@@ -860,13 +860,13 @@
     "version": "1.0.1"
   },
   "opennebula": {
-    "hash": "sha256-QD/JU1sk1uEdgyOxvU+vDDqlYe5uoRxHx6nB0fCi6ds=",
+    "hash": "sha256-jm7k0k28TSfnUA6P2RjSfF36o/nznvDWcDmJz/MAMXU=",
     "owner": "OpenNebula",
     "provider-source-address": "registry.terraform.io/OpenNebula/opennebula",
     "repo": "terraform-provider-opennebula",
-    "rev": "v1.0.1",
-    "vendorHash": "sha256-iT3c0CBSP+FKM4CFsTopY4W41ZCaC8E3Iz1o+THI/fQ=",
-    "version": "1.0.1"
+    "rev": "v1.0.2",
+    "vendorHash": "sha256-tkb+P+eTid5dgCw6bErr7i0F+E8UCt/HyFA2e3y0XT0=",
+    "version": "1.0.2"
   },
   "openstack": {
     "hash": "sha256-k5UyK9jmjZzHw8AwmDRtyCyJgILAcCK+nN+hklJ9VFw=",
@@ -878,13 +878,13 @@
     "version": "1.49.0"
   },
   "opentelekomcloud": {
-    "hash": "sha256-L28nrY2/UBi/W/mmK5ZPQub2Jf9vMethQo6JsSkepwU=",
+    "hash": "sha256-bDhtGpS8dqQdjcLqtJwae9dmUO41l4DeTRYMARBpnrM=",
     "owner": "opentelekomcloud",
     "provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.31.7",
-    "vendorHash": "sha256-wEtpZzrQoL0yJLsviwHI019KI04O+FAkXMsaJFztL/8=",
-    "version": "1.31.7"
+    "rev": "v1.31.8",
+    "vendorHash": "sha256-TnsdOX0Tt0oYavBI2fPcO+OV8VkWQEgGasqDTm5XkDU=",
+    "version": "1.31.8"
   },
   "opsgenie": {
     "hash": "sha256-OTwQ/sF4/xSyJjYy1TvLOr1guGcho+Es9/WkonfVvcg=",
@@ -1004,13 +1004,13 @@
     "version": "1.2.1"
   },
   "selectel": {
-    "hash": "sha256-2PwqVzwl8UIO+334lp9zkwkr2zAdI8S/rO+6iqTLu+I=",
+    "hash": "sha256-glIvlf5lWwkdZKn4rxhR+XnBqUdu9RO+loxke07i2c0=",
     "owner": "selectel",
     "provider-source-address": "registry.terraform.io/selectel/selectel",
     "repo": "terraform-provider-selectel",
-    "rev": "v3.8.5",
-    "vendorHash": "sha256-/7YQa84hOrOAGQSW1kVE27aM2253IB4pvA0ASAJe8VQ=",
-    "version": "3.8.5"
+    "rev": "v3.9.0",
+    "vendorHash": "sha256-0UOC70RWcEb/YqPrrc7k+dY7jBuTZLWvUTNxuUZIyu4=",
+    "version": "3.9.0"
   },
   "sentry": {
     "hash": "sha256-D6w2HfgIcNFfDXeqzuerK8msrFF7vajk80MUxbUxA+A=",
@@ -1049,13 +1049,13 @@
     "version": "0.15.1"
   },
   "snowflake": {
-    "hash": "sha256-ED8Sjtimt+9Lg62ZZARtvNNIHePcfLCyxrjQCCpxU9U=",
+    "hash": "sha256-V2N9Lq425fdjlJ+lCVQzMAYfEiS2/Oqevz1dIve//FA=",
     "owner": "Snowflake-Labs",
     "provider-source-address": "registry.terraform.io/Snowflake-Labs/snowflake",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.51.0",
+    "rev": "v0.52.0",
     "vendorHash": "sha256-n6ov9eTlNF/jNDTDOZuuqyFfuv8lDZHKP/5jhFauwY8=",
-    "version": "0.51.0"
+    "version": "0.52.0"
   },
   "sops": {
     "hash": "sha256-6FuThi6iuuUGcMhswAk3Z6Lxth/2nuI57A02Xu2s+/U=",
@@ -1112,22 +1112,22 @@
     "version": "0.13.5"
   },
   "tencentcloud": {
-    "hash": "sha256-eTHI5T2RZawwb7PsrnTm5Bglhc28A7pKcX2Lq8flAcY=",
+    "hash": "sha256-HSZP6O9s6KkvaJK3xpy7uT3sjBlhBYEOu5k7VYW8MdU=",
     "owner": "tencentcloudstack",
     "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.78.11",
+    "rev": "v1.78.12",
     "vendorHash": null,
-    "version": "1.78.11"
+    "version": "1.78.12"
   },
   "tfe": {
-    "hash": "sha256-MDlRwB2iVi/Rv7/UtukI6mIDImz8Gnpm5Qv5R6EDpiU=",
+    "hash": "sha256-ikuLRGm9Z+tt0Zsx7DYKNBrS08rW4DOvVWYpl3wvaeU=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/tfe",
     "repo": "terraform-provider-tfe",
-    "rev": "v0.38.0",
-    "vendorHash": "sha256-reXq1MyAhHRet1WwDJZafdOg1r7J4sktQ/QhQUPhDak=",
-    "version": "0.38.0"
+    "rev": "v0.39.0",
+    "vendorHash": "sha256-Ws9IzlZQDDAdQ4JJ326jHXUe9oQphBXb/ZNO7Kl/A1w=",
+    "version": "0.39.0"
   },
   "thunder": {
     "hash": "sha256-fXvwBOIW3/76V3O9t25wff0oGViqSaSB2VgMdItXyn4=",
@@ -1194,14 +1194,14 @@
     "version": "1.5.0"
   },
   "vault": {
-    "hash": "sha256-r4quQMAbAei8d+hzAOa7JqRIucrFSXqbVHT/VtpzwAU=",
+    "hash": "sha256-y5pK+sZ1xWnzlhT4sFUy5Mp6sggLLtaY4Cx2OPamDIc=",
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/vault",
     "proxyVendor": true,
     "repo": "terraform-provider-vault",
-    "rev": "v3.10.0",
+    "rev": "v3.11.0",
     "vendorHash": "sha256-EOBNoEW9GI21IgXSiEN93B3skxfCrBkNwLxGXaso1oE=",
-    "version": "3.10.0"
+    "version": "3.11.0"
   },
   "vcd": {
     "hash": "sha256-qEElcMl6tCBfOTTTpTFjVYg6E6K9iTXfgmDDozrgNVg=",
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 6614669518094..b6601bb91bfe4 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -168,9 +168,9 @@ rec {
   mkTerraform = attrs: pluggable (generic attrs);
 
   terraform_1 = mkTerraform {
-    version = "1.3.4";
-    sha256 = "sha256-UaMZTBmaLHbW1mNjDrMQSPMLKRIADlVvyP2qwuAv2Zo=";
-    vendorSha256 = "sha256-Wwf2EcqtlNqcGijR8WWcdSsayJrbZO68JEBPKWHXHuw=";
+    version = "1.3.5";
+    sha256 = "sha256-+jmZcIF9+vvjoA/PXWCc3F4l3YnlpZgxs0eGxchiIBE=";
+    vendorSha256 = "sha256-fviukVGBkbxFs2fJpEp/tFMymXex7NRQdcGIIA9W88k=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = {
       inherit plugins;
diff --git a/pkgs/applications/networking/feedreaders/goeland/default.nix b/pkgs/applications/networking/feedreaders/goeland/default.nix
index fa80860769e0b..946e145a5707a 100644
--- a/pkgs/applications/networking/feedreaders/goeland/default.nix
+++ b/pkgs/applications/networking/feedreaders/goeland/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "goeland";
-  version = "0.11.0";
+  version = "0.12.3";
 
   src = fetchFromGitHub {
     owner = "slurdge";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9SxlxRco+eLyyIrMjNCdqAyttDnoc8nuMh+ecCpk3bg=";
+    sha256 = "sha256-R3ZkGTq0g90DkflLXr2MUBIv5Qspi3OM+sdDGqJYjyw=";
   };
 
-  vendorSha256 = "sha256-a29TtT6xSapIiHvC9KHQm4gd1QCK3l0RpKe1ieaKUKA=";
+  vendorSha256 = "sha256-iljGBe8c6dqEHRpMN5cz7wmminejoiXXDKuQDazDztA=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix
index 34b1409a0717c..e049e9c63504b 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -21,19 +21,19 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "newsflash";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchFromGitLab {
     owner = "news-flash";
     repo = "news_flash_gtk";
     rev = "refs/tags/v.${finalAttrs.version}";
-    sha256 = "sha256-Q9KCzzBM0BzdmBUs8vJ4DR0e5XAHoAxrTpMvsKnuIAQ=";
+    sha256 = "sha256-bor1wyClLBU2uI9az3WcLvI2SldBmnZj2xhEaZj4Vg8=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     name = "${finalAttrs.pname}-${finalAttrs.version}";
     src = finalAttrs.src;
-    sha256 = "sha256-GxRuN5ufzSB/XOb6TWLlvgg7KBNgZ+oJpOowR9Ze9OQ=";
+    sha256 = "sha256-VkwPoh7A9sA27yU9PfD5KwL4gHKdX7Ip1hm53FuY5sE=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/go-graft/default.nix b/pkgs/applications/networking/go-graft/default.nix
index 4fb3475c147cf..7e268e27f1a0f 100644
--- a/pkgs/applications/networking/go-graft/default.nix
+++ b/pkgs/applications/networking/go-graft/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "go-graft";
-  version = "0.2.14";
+  version = "0.2.15";
 
   src = fetchFromGitHub {
     owner = "mzz2017";
     repo = "gg";
     rev = "v${version}";
-    sha256 = "sha256-XymtLguAHCtOrRADRcWsPYq9cZo+FVUPOceIj7SmH8k=";
+    sha256 = "sha256-INoJcb6XUMvT1E56hC3BGK3Ax+v4jSRpZV12zpjYfMA=";
   };
 
   CGO_ENABLED = 0;
 
   ldflags = [ "-X github.com/mzz2017/gg/cmd.Version=${version}" "-s" "-w" "-buildid=" ];
-  vendorSha256 = "sha256-MJMOCUIosLT9XhRsahQMx4Kq6j/aqCjhPq0ZvJc/Soc=";
+  vendorSha256 = "sha256-kKIekANzLY2TYFyII1/BkKkqPYgmHB9xEfAVhJyI8FI=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
index 612bb0eaf160c..a61458155d0cb 100644
--- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -1,5 +1,5 @@
 { lib, buildDunePackage, fetchFromGitHub
-, ocaml_extlib, ocamlfuse, gapi-ocaml, ocaml_sqlite3
+, extlib, ocamlfuse, gapi-ocaml, ocaml_sqlite3
 , tiny_httpd
 , ounit
 }:
@@ -18,7 +18,7 @@ buildDunePackage rec {
   doCheck = true;
   checkInputs = [ ounit ];
 
-  buildInputs = [ ocaml_extlib ocamlfuse gapi-ocaml ocaml_sqlite3 tiny_httpd ];
+  buildInputs = [ extlib ocamlfuse gapi-ocaml ocaml_sqlite3 tiny_httpd ];
 
   meta = {
     inherit (src.meta) homepage;
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index 3ea66e9d43040..477ff10de30c4 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.30.1.18";
+  version = "2.31.0.83";
 
   src = fetchurl {
     url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm";
-    sha256 = "sha256-V/3nmindkuTmUsuAuc0UxldAQe7jfeXWSZWPTXTyLq8=";
+    sha256 = "sha256-dzT6S6124l70uYqkB6fGgCpqZBXS2irgwOfkmupN8HU=";
   };
 
   nativeBuildInputs = [ rpmextract makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/coyim/default.nix b/pkgs/applications/networking/instant-messengers/coyim/default.nix
index d7c3de7267784..c86efd9c1030d 100644
--- a/pkgs/applications/networking/instant-messengers/coyim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/coyim/default.nix
@@ -1,5 +1,15 @@
-{ lib, buildGoPackage, fetchFromGitHub, pkg-config,
-  cairo, gdk-pixbuf, glib, gnome, wrapGAppsHook, gtk3 }:
+{ lib
+, stdenv
+, buildGoPackage
+, fetchFromGitHub
+, pkg-config
+, cairo
+, gdk-pixbuf
+, glib
+, gnome
+, wrapGAppsHook
+, gtk3
+}:
 
 buildGoPackage rec {
   pname = "coyim";
@@ -22,6 +32,7 @@ buildGoPackage rec {
     description = "a safe and secure chat client";
     homepage = "https://coy.im/";
     license = licenses.gpl3;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/go-neb/default.nix b/pkgs/applications/networking/instant-messengers/go-neb/default.nix
index e554f631920bd..4dc24073f5b5b 100644
--- a/pkgs/applications/networking/instant-messengers/go-neb/default.nix
+++ b/pkgs/applications/networking/instant-messengers/go-neb/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests, olm }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, nixosTests, olm }:
 
 buildGoModule {
   pname = "go-neb";
@@ -21,6 +21,7 @@ buildGoModule {
   passthru.tests.go-neb = nixosTests.go-neb;
 
   meta = with lib; {
+    broken = stdenv.isDarwin;
     description = "Extensible matrix bot written in Go";
     homepage = "https://github.com/matrix-org/go-neb";
     license = licenses.asl20;
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 05247b56c0df9..81562e69a66ab 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.3.1";
+  version = "2022.10.1";
 
   src = fetchurl {
     url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
-    sha256 = "sha256-/5WpjmTLwQN73m7nHg4DKPbXIbD9WyJ+YBbFMD4ZDfg=";
+    sha256 = "sha256-98zuAsGT30paxszSO1XcMY8tsrMBeBLDFjK/JWhLC8s=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 7e7830fd1b56a..3e0dc4695bb0a 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.63.0"; # Please backport all updates to the stable channel.
+  version = "5.63.1"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "sha256-f8gQUnmI/VU0FteoMVY0k0RK1R7Ho7JRx+WoMhKki4s=";
+    sha256 = "sha256-+zeYjWRFEY09f3o49TcJU14fM1Wks7uR0GsyU2eMJPk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
index 852abe8e6dc45..6a21fe8a9ef01 100644
--- a/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/threema-desktop/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "threema-desktop";
-  version = "1.2.13";
+  version = "1.2.21";
 
   src = fetchurl {
     # As Threema only offers a Latest Release url, the plan is to upload each
     # new release url to web.archive.org until their Github releases page gets populated.
-    url = "https://web.archive.org/web/20220621152620id_/https://releases.threema.ch/web-electron/v1/release/Threema-Latest.deb";
-    sha256 = "sha256-X16GMxUIKUloj0FxhzWQKUBf4zwfSBVg0cwLgGxHPHE=";
+    url = "https://web.archive.org/web/20220915175906if_/https://releases.threema.ch/web-electron/v1/release/Threema-Latest.deb";
+    sha256 = "0icxn5whsvwmdmfbkfk4xnl3dn4iif5s5yw5hsimmyx066fq0qhb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/irc/kvirc/default.nix b/pkgs/applications/networking/irc/kvirc/default.nix
index cfc03fe37d3b4..8c1a96d5234f5 100644
--- a/pkgs/applications/networking/irc/kvirc/default.nix
+++ b/pkgs/applications/networking/irc/kvirc/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "kvirc";
-  version = "5.0.0";
+  version = "2022-06-29";
 
   src = fetchFromGitHub {
     owner = "kvirc";
     repo = "KVIrc";
-    rev = version;
-    sha256 = "1dq7v6djw0gz56rvghs4r5gfhzx4sfg60rnv6b9zprw0vlvcxbn4";
+    rev = "eb3fdd6b1d824f148fd6e582852dcba77fc9a271";
+    sha256 = "sha256-RT5UobpMt/vBLgWur1TkodS3dMyIWQkDPiBYCYx/FI4=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/irc/sic/default.nix b/pkgs/applications/networking/irc/sic/default.nix
index 705fc12510dbd..d5a0737403a8e 100644
--- a/pkgs/applications/networking/irc/sic/default.nix
+++ b/pkgs/applications/networking/irc/sic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sic";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
     url = "https://dl.suckless.org/tools/sic-${version}.tar.gz";
-    sha256 = "ac07f905995e13ba2c43912d7a035fbbe78a628d7ba1c256f4ca1372fb565185";
+    hash = "sha256-MEePqz68dfLrXQjLtbL+3K9IkRbnWi3XGX4+nHM9ZdI=";
   };
 
   makeFlags = [ "CC:=$(CC)" ];
diff --git a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
index fc8c83f216cb7..81946353670c3 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
@@ -2,14 +2,14 @@
 , notmuch, openssl, pkg-config, sqlite, xapian, zlib
 }:
 stdenv.mkDerivation rec {
-  version = "5";
+  version = "6";
   pname = "muchsync";
   passthru = {
     inherit version;
   };
   src = fetchurl {
     url = "http://www.muchsync.org/src/${pname}-${version}.tar.gz";
-    sha256 = "1k2m44pj5i6vfhp9icdqs42chsp208llanc666p3d9nww8ngq2lb";
+    sha256 = "Cz3jtNiF7bn4h6B9y8i1luf+8gOMYeaCz6VaE/pM6eg=";
   };
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ notmuch openssl sqlite xapian zlib ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index ff93dd61351d1..9bd99c86e773b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -42,7 +42,7 @@
 , pango
 , pipewire
 , pciutils
-, libheimdal
+, heimdal
 , libpulseaudio
 , systemd
 , writeScript
@@ -137,7 +137,7 @@ stdenv.mkDerivation {
       pango
       pipewire
       pciutils
-      libheimdal
+      heimdal
       libpulseaudio
       systemd
       ffmpeg
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 34fa9826bcb6e..495764bf5ee24 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,665 +1,665 @@
 {
-  version = "102.4.1";
+  version = "102.5.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/af/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/af/thunderbird-102.5.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "08073df6cdbe071c3386b889ddc6f3023847528065c6e02a596ce376553eacb6";
+      sha256 = "80b1e18e826369d4f34449e8a90630cfa8425b43a4b113f49026a909e591916a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ar/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ar/thunderbird-102.5.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "1c1db09f3b666911328080dc0f7b3c3dbc6fe06011a0851edf9ae50ecabc3724";
+      sha256 = "bcc6d43b1fd182f15ad502a622a74f97fd02374ecd89168b1c165e62f12c1841";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ast/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ast/thunderbird-102.5.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "4df7f18fe166460d42e6a3a9755ceeca2935152603255810fe8bf32a828b9a26";
+      sha256 = "6fbd2e7c1f8c86c7a5aed8362ae3df99ffe7b03ad4885024983e58d9f71b137a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/be/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/be/thunderbird-102.5.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "d0c81fcea6f33749b51465428c7469aa34711013b46241543ccd5c5168523740";
+      sha256 = "b353f925236872f35aded0b8b3992ce83284debf7f1c774a4600f9a67e548de6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/bg/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/bg/thunderbird-102.5.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "d6ffdda120ae73ab82bfef6647ee7b4ba81c3c0cb890d1fc5e5ef4c9ef739cec";
+      sha256 = "149c22f4f4674800320e204d287d09c6143517276e113cf7ba9e73c193ef7d77";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/br/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/br/thunderbird-102.5.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "b1d6890f43cd5fe4c85fbf14cc9455dcaafe1f17a187e843017938357610595c";
+      sha256 = "23d114474845d0d6a6f044baa59421b81f14badfdf306c154e9739b03d28995a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ca/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ca/thunderbird-102.5.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "616261967c700a01fa4f018723fefdddd3264ea4e96e33bfd88fac419fd2ee1c";
+      sha256 = "43bf01934dee664033adeb22ee3af77a693f7cc9ec3c6357dabff08277f94f91";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/cak/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/cak/thunderbird-102.5.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "a9384ad2644dc1fe5e6a152d519c3644701ef48c6dcff1c107f30763ed2e79f4";
+      sha256 = "274a3dc9b29e9a1684cd60c5401adb180a4996aaceeaa64546101c1920007ab3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/cs/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/cs/thunderbird-102.5.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "59d99c6e4f1cae756356ec85d71d0dad534ca32922dd13ee8766c24dd0a24197";
+      sha256 = "382e85e0b46d539c9b39b9488cd1a24eb9a5e62a20e59575d094b8efb4423d02";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/cy/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/cy/thunderbird-102.5.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "acf84ee8bc408c44766533c75c4d56fce9b85a09c19e5c50cbc5fba535462e01";
+      sha256 = "e33f9cf6a06e7e60e7238ef6f55d4f68ec348809e5be20881ac86f5414613b89";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/da/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/da/thunderbird-102.5.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "e8ae4e045e54f2f242e598b67cd95dfecb54d23167a28871249b667814f68b9f";
+      sha256 = "939195d3a4d184582aba103150dd220a471ba2a932bf7b78f91c17260374900c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/de/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/de/thunderbird-102.5.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "3f8417b4ce6403892145e8b9a4c8fb0113c83b252f05af721be3c9d090923d97";
+      sha256 = "aebba6f46e94b3988273def89f0381d3993054ca7f2b3eae07870447ed1f0f56";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/dsb/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/dsb/thunderbird-102.5.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "293dd78f61b56be58c38ea18ece6f680d9255427d2169ee9e40cc4acd1518d87";
+      sha256 = "7b9da40217aef8b8c77c97bc64ae18084142dba0e380848037a512e2b82bcd6a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/el/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/el/thunderbird-102.5.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "f105f81e72a937312d11d453cd293275770c21f4bfb873ddf486f8fa6fcb9770";
+      sha256 = "f992c7476b31e664755fa53c3310baa28da2d22482cb3a9804787fc53a93646c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/en-CA/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/en-CA/thunderbird-102.5.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "18299fbdd4c800b8a460d423f024f273a3dd30a3af9f53c8556ad861f69f44e4";
+      sha256 = "6910ec50a0e227cac5e2e1abbf60bcb0c913884b31c71db8a66141939e4ed5af";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/en-GB/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/en-GB/thunderbird-102.5.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "9553a14d31accd87a7dcbe7ecb19c03c558d0d98a6421335fefa6035cd36055a";
+      sha256 = "fb3bc64c3b7266e1531d56ab0607e7031b6425435fc452fab1b38bea3623e73e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/en-US/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/en-US/thunderbird-102.5.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "45c4f16f243d563eca70be66cacd8a92931e143b6ccd4b88e1592f6918a16050";
+      sha256 = "e803a265cc40c8a0a306939a7e9effb087bacbfaeacee0ffea291d5948c14741";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/es-AR/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/es-AR/thunderbird-102.5.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "8cb47779ed6d146a165375e75c3e399421cf625ed96459e62cf66df0ac1c5632";
+      sha256 = "42ed5e1d668a75a04f3d2ef2c0429dabc1a64a2c03c7c946a936c160ce98f3a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/es-ES/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/es-ES/thunderbird-102.5.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "ad2dbb613a14569709f4a45efe4e4a1bc95c048334e60313b470779b301ad24a";
+      sha256 = "d9bbb9197b48231ce1b62983cf51cca7d21db8f7530fd036e5c4706564dc5ad5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/es-MX/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/es-MX/thunderbird-102.5.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "92d4f904bc0448eebcb282c154b8fac2fb440e18d33efad39e1158b632d141bb";
+      sha256 = "b6aaf5311c8f7156fea7a4c32fc7e45828edae7515776f6d2f531aadb46ced71";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/et/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/et/thunderbird-102.5.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "0de025d42b2e832ee750bfedde7042ca33b06eda72daadd4f253fa7694151815";
+      sha256 = "fda67cbf589f6c16b8b70f9a9adf4e66ced2a075cccdd7082257936f36515f26";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/eu/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/eu/thunderbird-102.5.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "73b78650bdf5cc4c7ffd749d65e7981497501b14f722daade518dbe47a4cf0fc";
+      sha256 = "1f2b63138db4722f93479134c9496d5764d0022b98f883859ef993eb1d1a354a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/fi/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/fi/thunderbird-102.5.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "3c3ec6c58005559519493a15c1cc68b03a4d5d8dc2f53f43f7d7ba6be838f962";
+      sha256 = "3903b745f2e630e7e9eb373fe1be824f658098427a022885e8e4b3702dd0e3ff";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/fr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/fr/thunderbird-102.5.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "ea221972a549c82ab7f13c6ec891edf7d1bfcc96cbb41650bf67e781bb22f3b7";
+      sha256 = "e55f2383cf4724a2730e4c9cbea45b94e248516457422b9a4f351ec5490166f9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/fy-NL/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/fy-NL/thunderbird-102.5.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "e858beb5d5f4766d8d3b71d9ddd911bc2193e542237e38919e230659c192830c";
+      sha256 = "662a3cccc13461e42dfac524285e1d0e632da195d962cb0e5d8464174c28cd9b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ga-IE/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ga-IE/thunderbird-102.5.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "f92a5030d465d70caea048d27820a31941b5e37fbd78d589fa19aaf24dce7e66";
+      sha256 = "703ff33f3d096f5f96e447ea8753c485eea44f5c4337146e8cd8b142660891d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/gd/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/gd/thunderbird-102.5.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "f076f07c58b67bb6463dcac79d6a458cebda1d6a3d17ec8adcc8bdd102207ff7";
+      sha256 = "94892f71e8fcae4061d37ba2b30f4a097af3472cdd9233836063616db1e71628";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/gl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/gl/thunderbird-102.5.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "cafcb519043c5f4895a08c19d942204c24488c3cee1f02290fe686b524ba4976";
+      sha256 = "d7539b557ea31966780c6f6c892ac3041f3976f94869f386106c3815031e6ac6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/he/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/he/thunderbird-102.5.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "d337901a548cd409282f597624ff4231c843a775fa56ba468f976227cb34c51a";
+      sha256 = "96ceac6f559f636d11d433e05bc0997f70c0dc055d04e2a378e35a69437ea93e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/hr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/hr/thunderbird-102.5.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "d606d6d81645d66f466e9d6b494922dcd6259aff72b268bbc7ee8a917bada0ef";
+      sha256 = "50ea1a69e96ec98fba3469ced119d70d020b061bd261267a5aaaf9a50293bf6d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/hsb/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/hsb/thunderbird-102.5.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "2bbbb19b7abbeea16ca2e09937a622442da448b32f1fd80cf74a14a2218fa990";
+      sha256 = "6df3cb2437541cb897c9bd7c65d019fa0938df54c13c513547a36ad9f6409d14";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/hu/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/hu/thunderbird-102.5.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "1e9e283bb54336eb182262773d490f8097b00c224dc4c9c97077c7921411ac14";
+      sha256 = "8798d9f4deb2b1d75f38e10dcd184a0d82d1e5ca69fb171b024b636cc5366bb7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/hy-AM/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/hy-AM/thunderbird-102.5.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "aacd3c2286c571399678e5f37650382f8c16d98fbcad1085e61314d7fa501716";
+      sha256 = "e5e569436fb883fce500ccbf138f2237e8d641957177b0e9323a0091713c25d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/id/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/id/thunderbird-102.5.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "d3e5f61effbe3ad52a054fc59905ecf857935d20642b8efb7d0d43c7dfd15141";
+      sha256 = "dfb81f988c1a6bfe2ba9913e5b31ec2c172dae9ade4a05961202a867e4192367";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/is/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/is/thunderbird-102.5.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "9e58e251f4845b93e25fc0cbcd52a913747cc4e7f0cc71d5ba0fff9f4a193020";
+      sha256 = "a3f1a999a31b02c130a74408c7fb3e910124ade35e4d8ce4274d162d4dd1e30a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/it/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/it/thunderbird-102.5.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "c128eb6aa3d32a1b53ca9e022b033137281d362404536ea8cbe8fbbde208389d";
+      sha256 = "ed75d139aff75595f05c42e621a71c42316fd9b4c82f9c63b32ea2bcbafb9f97";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ja/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ja/thunderbird-102.5.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "4d3600bb1a618e0add841bb1e0f6afd4d25963ea317204eb015a2692996307ca";
+      sha256 = "deff788766133ecd6d1f8d01d36f58c6d89cf9dca41005e97a3bfca1f4ac8de7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ka/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ka/thunderbird-102.5.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "a8af3f899683a50f1f2aaf8ec4190c6367edd1282216bd9a8a8073b3ede0f5dd";
+      sha256 = "5a7de96a5f4d933a420694810ab32c7ce397c1a31e539dcad42ada81c7edfdb9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/kab/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/kab/thunderbird-102.5.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "2d24b25375add713bc46dd400a2c8eb34228ddfc78e14ec388cbeee42f84a592";
+      sha256 = "ecd5bc56051fbed9641c7adb9a4d9ba627586b50b3fc1f564fcaf8b4f891c643";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/kk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/kk/thunderbird-102.5.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a77b99661316fcb7072d85c20924a5df246328d49b5c760967ce9217cf9a3e31";
+      sha256 = "dc46b7cb231dc71b7481796bcebcf12f50cb0b1212fc0a619747524567aef257";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ko/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ko/thunderbird-102.5.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "f2c086cb766718cc9780f3b0a6e101c5af4bcff4bea71f7dcff8a4ce233dca37";
+      sha256 = "919b35ed688c7a0f6deba8e31e696ca804c62abd5cde119af2a2f4300a83c8d0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/lt/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/lt/thunderbird-102.5.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "105148d01371f2c302fe3e275b5d23d31365d844e368e761eac5dff8d91e426b";
+      sha256 = "50f1a50545befdafee3c0ec1df0386d28ac041dde3e72653cd3834d8c136f705";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/lv/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/lv/thunderbird-102.5.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "b905760d84f3a2df91ee1d9ede23cad1fe354f14d5623e97cf766f8e6b42943e";
+      sha256 = "943abb80c6c57437a62923c311fa17b28a0381da727f5d2e492cf68cce11917d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ms/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ms/thunderbird-102.5.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "95e9955220bbddf8a5b890ebd6dc783a19a7a9c2b2f20fe5c09f7d7570590a45";
+      sha256 = "c6918b2df57f5ca08f6a24b1e9d0355bbda199ca8a08a950200e344c360388e6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/nb-NO/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/nb-NO/thunderbird-102.5.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "bff46e27874a753e97f36acba4ebb0af7888a07fdc0c069e49eb34c000dac5a3";
+      sha256 = "44ef771b91f4310332e2cb79c81a323cef65bdbeae2dfc44eb1b4ebe81516278";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/nl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/nl/thunderbird-102.5.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "0fe3f1a9490dfc81e13f199f91829e7eb22a8e8f1f660561029ccc093db5bc44";
+      sha256 = "43e16f65802000586493e38901de3c5acfbc2ac7fbd96964a6fc815ea9d1a2b6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/nn-NO/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/nn-NO/thunderbird-102.5.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "deee98fd0fb6be6c2974c54112e170a247336fe1e58d1e63c382b6be02a002cd";
+      sha256 = "eac4fec574f33372499f94c9a1d4995ba88c41f5e7d1d9dfc2b34001857a007c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/pa-IN/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/pa-IN/thunderbird-102.5.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "c7f3f847b96ce57ab79ea2d1e27b9525beb4218cb9747453b558def01fb367dd";
+      sha256 = "fb3d7789404180960fcd59b8b16cb9e16c5c3fedabe872e330d73b944654a0ac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/pl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/pl/thunderbird-102.5.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "a7058bf0ae48d4be0369dae1f1f006f78a0e5e914c92e3dbd86ccafeac9d0384";
+      sha256 = "e9f6c26b6956114ad0a56a9690d4f8edd96e23ca82afe68d28e990e5f0f67408";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/pt-BR/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/pt-BR/thunderbird-102.5.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "98c8bdff3e4747849a9dccf0c43292e85cddb67a8c21dd450fff693c7fa722ac";
+      sha256 = "675132e4f4faaeaa6b4a4853d4b47d3d09cab5842d271cd3243c49c783afa45b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/pt-PT/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/pt-PT/thunderbird-102.5.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "07271ac0c4cdbf7bed8a57c440b581321cd34c6345332bc12c8ee1739091c6e6";
+      sha256 = "abfc6b22ea322d70973624e3b3544887adba99eda1a086d8ae67f3904d47dc06";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/rm/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/rm/thunderbird-102.5.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "46343d73ce9854103c67aee2497af8ed2fa0e727f8fc1516f9a53389c1fb825a";
+      sha256 = "652d391ee8e934914d158b0c9e1f8df5078290dc5ddac321a11297360b22c982";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ro/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ro/thunderbird-102.5.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "3ef064c0e8d29ab43b8f4eb6457532d00c08f494a0780139751a2a5edf6686fb";
+      sha256 = "2e2326714706b12c8123d9952da8630b02a621eeda398631614d638a9a2aeec4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/ru/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/ru/thunderbird-102.5.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "e950647fb3d7cad84e2d52c37187f001b22f4526106ebb45b22a47d49c7c6569";
+      sha256 = "8fdcfb3fa172755204fb9263202988fef1d70a8f0be16b59bacc05fe47a9c124";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sk/thunderbird-102.5.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "75d1779f445c20b9e2d86398fe3f97ec9a994d731cdb0a7973879f32b08cb4e3";
+      sha256 = "e722b0e8e80e20c169f8d691ba81bd81bc97f77e1b9a03778f8ee93850dd9c29";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sl/thunderbird-102.5.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "9a433ee3876e57a4d48d61b86e0ff1fd4c92aa7be6cb1275360eda50d1e9e869";
+      sha256 = "8322877e87880e76a41eeebd268858a20caf7c5c95e728f21c4ab29959e96e9a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sq/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sq/thunderbird-102.5.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "3a10eea6c49c7400e4c80ac4999c21acdba0ef94279e51129dd099cb3a1429a6";
+      sha256 = "88297cb69a678af8db0dfe7584fefb518df1a9cfe0f87f1ff8cc30f52d5a3d64";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sr/thunderbird-102.5.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "aee0848c3bf945586a99e0007cc54d64a3635d83f9e28b8e3541561a5e1d1cc3";
+      sha256 = "4c8382d66320d98a3dfd9e254c8e72c371a39e49e07267ed6a9d4e0ba1a2d343";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/sv-SE/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/sv-SE/thunderbird-102.5.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "0109d45d6398428ead4273eaf350833bbb8b467abc6e9ab4fd19020b0cdfa107";
+      sha256 = "1dd4ad25cf7557119588e98f31fb8875ab1cac2fba6c08be6a18eed8ed7f7008";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/th/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/th/thunderbird-102.5.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "7d32e7b70231d6d496d0341a8706f22eb6671327982016076dd55022f1705f1d";
+      sha256 = "cec22b02870bdcd60e1ffdd3524a36e71bff5d32497787bf10af7e257c02aada";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/tr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/tr/thunderbird-102.5.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "65f7f282d4129fe26c90589fd4d408f9566ab004010a54b12399556ecb4473f0";
+      sha256 = "68aebdfba935442388825991682280092920b1bbd6aaf14c5f8aa4b48d6fb38a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/uk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/uk/thunderbird-102.5.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "4ff7402cd57afc078851db23ba4a19d205097786451fafae356032f1e1a82296";
+      sha256 = "f9f2f91cce1c6a41ea6783cabdcced5132174c0064bd1571ea1c425e8ee9050a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/uz/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/uz/thunderbird-102.5.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "1d505372aee160d1c1cad1d5cf1c4805666da0b24ee8ba992ac3b72808d326f0";
+      sha256 = "bc5236d3a61b35c674694605e5ee65c7b2599cb8969eab112767f0510ba14c81";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/vi/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/vi/thunderbird-102.5.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "1c8577b45a00f1495eb498dccca5b022556e483d76a6af39989f7acec93f3270";
+      sha256 = "b32afcecb7c1e7b67dff0a4b07e7d9eeb9cd939d017f5a1aea594fb282222118";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/zh-CN/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/zh-CN/thunderbird-102.5.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "e1dee1a41cdf2e551268d43732c48823f2bb7409724ae9410d01cea3d02bc903";
+      sha256 = "866371f13123180e76a0be8adcde3bde1123633a18012e9f0e71a2e75f61c838";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-x86_64/zh-TW/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-x86_64/zh-TW/thunderbird-102.5.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "0f1558f845ba2820003a18623432a2461296923e7e9a373b7811c6555998d6fc";
+      sha256 = "fec9c01a6bc7c46a5febbd9c7f9e0fb29d9e2cfc44bd05109a3e4fe65d8f6471";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/af/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/af/thunderbird-102.5.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "fd83eff1f30660df048fad80a6797c88416441ef0a134a5199afe51316a37c8d";
+      sha256 = "18ac6f84834865ae4dc1db83c025a1a1f48619aa59a29e0db52f312c9e0706eb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ar/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ar/thunderbird-102.5.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "0a2f05ebd9419d68d0786f2e2302e75660c21c0045c34f312179a28f1ff16b28";
+      sha256 = "00903f552a47f6d206ece18a67367ba13035f962a68566700f7ed8416a88b570";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ast/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ast/thunderbird-102.5.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "31c8a1603645756e44f23be4e4697a2dc58ea3cbe74370a3f473d049de1276b3";
+      sha256 = "800b55130ed716abf55dcd08644bb6df5c3588388e4d713e027dda144146bea9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/be/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/be/thunderbird-102.5.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "94466eecd618a29f5c1f0886c0a86d9ed97d554f35e81a9f15378314bc30a2f7";
+      sha256 = "78cd3a41302afc90580327c94f0ea6c3d3d4d9444e264549767f485f18a796e8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/bg/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/bg/thunderbird-102.5.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "dbfdaf7aeea04c34fad89485da4546dbd47528bd5903b5f51165238c1568383c";
+      sha256 = "fcbc8017e9cf0de78d615b89aa844c0d2453a47e000995cd1077bb0125afb08d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/br/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/br/thunderbird-102.5.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "2f707fadf4f1b56d42123be86ea56044162c1699855016d5bee0849eb217d8b2";
+      sha256 = "f22aa80ee04d152e8485c111b52fd8a40029c7f3b0abd558f37eca6ea1f2f3aa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ca/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ca/thunderbird-102.5.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "94a1d06c6d62194c7a0fd07bd9e55580ff939b1a6714e82bcf4614c3a8e7b5db";
+      sha256 = "1c98fd50645a51bfb57f0c8a5800144603230535901a0790b137a854f600df19";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/cak/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/cak/thunderbird-102.5.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "c97a4ec5da61b6a1f95d184dd1ec0d6a53fdfbae38e4f868f2de20ba60b9e1d6";
+      sha256 = "f1a4711b1613bedca484ee594c5ad415fe617f5d950c47153810918afacdddf9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/cs/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/cs/thunderbird-102.5.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "3861b9df1d2f7c23beebaa192bc1c052c70d50626e87233321d208be36073584";
+      sha256 = "572401b5d7fb5919e48d67c992a8bccc0f7989cfb4e4a59b703a99d93b64bd58";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/cy/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/cy/thunderbird-102.5.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "fba48b7dd7de6b7d01898e8b2b21206b7583a71cb9b76860af1ebf8cdf5ceda4";
+      sha256 = "023f03cd9a84547d7a427bfd4d7989b687573f591e327a15d888d2fb0baabd38";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/da/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/da/thunderbird-102.5.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "b4c662fdbcfa6e43d2f6f3c01f76c78c390ac99987b45721389859a0aba688de";
+      sha256 = "94e11b08163e7608b6aeb772b6571174468951bb99d97e7de2f3e8623c26702c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/de/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/de/thunderbird-102.5.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "3fe043fcab6c987e59339a08844c8328fa0f6dc9f27b5e78d5f5b08183e73500";
+      sha256 = "f5a85b5ab6dc1241b7d51dc2cdad97aa29eebf4d4ed5bbe8906199ae634c0598";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/dsb/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/dsb/thunderbird-102.5.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "2433e03b4e5a680572f88dc81665d238fd933dc11ced970fab9671cab80695f8";
+      sha256 = "9f592e41dff37d58ef081b5219026c37e1d6822116e769ccab52071e1721052a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/el/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/el/thunderbird-102.5.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "1cb691404d9772fe0f676a75915604264a617474effa5dd7bc9a7af948698d22";
+      sha256 = "14d8c519f366a101e0389a81f8a15e15241c69b1b523e07a71a1dce4d785eba0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/en-CA/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/en-CA/thunderbird-102.5.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "912c66112f579d4d1706fde17ca9486b87b8f41704d097133917fe19b17de207";
+      sha256 = "22f6c1dbebaf52bd33f169229ddcaa487c5016d549e1b511af69e89f07ca862c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/en-GB/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/en-GB/thunderbird-102.5.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "44b565dc144279634a09e7df19acb8305a849a595544fb76441024be86445e77";
+      sha256 = "eca6df9a2ffbae931a786dfe33bc447bb4e5470afe8f21da24b4d50a1bed8deb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/en-US/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/en-US/thunderbird-102.5.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "90af8e3e27da95f19c57d7caa8bccdd10edcc8885d896459fad97d810f7145b9";
+      sha256 = "8d7882f46d4d78626749c200688c2d9713a00a60357e745e60464ab11c1ae4a3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/es-AR/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/es-AR/thunderbird-102.5.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "86b73f1335573c7eef2526450862f3d972212eca17701692bfa4772c0dff80e5";
+      sha256 = "3cb2a530cac1b0b5f6c7da7bd17b62fab1a196ae554469a76636782e55f7ee4a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/es-ES/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/es-ES/thunderbird-102.5.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "4839baf4f37b792d090682a1abd85f22070e417dde366b8b7d0ead0760801d55";
+      sha256 = "8f19d223a4a212144d2cd88e594f746ae611d12d891fd39bfcb4c72046b2a96a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/es-MX/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/es-MX/thunderbird-102.5.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "65ab28668cc350cd267c6253ea4a005003ce15957731630a51980c92993ece26";
+      sha256 = "89f530f790c8b33b880bc67b652a1c351bec41625808c2a78664b9e521a711a0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/et/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/et/thunderbird-102.5.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "2460aea7a1ca6d2b4f7e7e0e9b50faae4f6b3ff32da08d17d2fa2b1b27117748";
+      sha256 = "361eedd14a241b87d38a5f0768f8bea70fb5e94ea300b17b3bf5b6b1b63f1c88";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/eu/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/eu/thunderbird-102.5.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "6a9811c55c58fa8289470b09e712809f61ef3a63183f091f385b6d2ba4ab8944";
+      sha256 = "a563c1f6e8c207d656227adafb164948cf81638bc2293a5eca3383a78da48fac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/fi/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/fi/thunderbird-102.5.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "a96a55089b5c308cdb62eb06bdaf48a409b359e725bfbba503a0a8c0ad4bd326";
+      sha256 = "e6770ae91921874ffa980daef3c9b687aff460a9658aecdcce05723fcd1a6ac6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/fr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/fr/thunderbird-102.5.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "a01c8d0b02660ad13ec481ce422323149e0715c76b4578f64faa99d0ac02d875";
+      sha256 = "2fb45cb868ac4da79ff4b2d3d664b5dd2e8e7eefcc488785da812cceed36336c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/fy-NL/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/fy-NL/thunderbird-102.5.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "24d9c5c3fed8a6f28a2a745589ab4cf21befbb8672eacf04f91894b2813e4f1d";
+      sha256 = "38282f455d0ff8096634c6bff0a953b5654a80185925712ce5a774140c06fab2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ga-IE/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ga-IE/thunderbird-102.5.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "1fe82aed70a135e2d0a1d554d377d62f3589847cabd40d7cd52c4967b149019d";
+      sha256 = "45a8b6c21f7a086ce3d0ed75b4043e3cf546fa4a9bd2cdfe89f47633ea5a0337";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/gd/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/gd/thunderbird-102.5.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "6dcb8795cb011c82cdc0b9546bfbe82a2cc60b3c2d48b411d34289f2af2ca5a8";
+      sha256 = "065fc2c78c66ee04fd4343bc4247b3a24f83a6f50d0511b2555249310f3053e0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/gl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/gl/thunderbird-102.5.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "4782e04e116b5ffdfd44be22b395230a1ff038b8a9139d63603202b59b9e64f2";
+      sha256 = "85c3ba755fc279b4ec746113f194f54f476bf60d359050c585e4d33698bbb750";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/he/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/he/thunderbird-102.5.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "b5ae398d3d4e938a291acead5d142457eddd35cf684e11a71a59bf7234e3990d";
+      sha256 = "12cf7e48c98de087b0c4aa20e61bf2aa012ed4ad9e356e6e9f1a9bb9764d62e6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/hr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/hr/thunderbird-102.5.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "d77d401127a36b18af9f2943d1715ac275511b8f81a1b8e7e4f01b7526a40b39";
+      sha256 = "60e56d042f45bfb6a297e4cd9bbb7dc4855a576e37adb3a630f8f2aac460d24f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/hsb/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/hsb/thunderbird-102.5.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "04b8a940833c3014dcea58a8a86562e6f972ef804421d4faaa06b6b35e19857f";
+      sha256 = "cd8f0e82622ff4617d659b7df38f6d07dbfacd0a262c56039f0667cbb474db86";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/hu/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/hu/thunderbird-102.5.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "f1fb7b74b67fb3f370128c77c1a983d2902bf5c128d256c6a3b7db980f7c6760";
+      sha256 = "ab2f1fcd4fc076862ec2f2c6102712f45b7bf2e3da8577fdcc5ca6803773ab92";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/hy-AM/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/hy-AM/thunderbird-102.5.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "234b9c7ce41db8a299d1539f3b60205a35124ec228c5cebe128d2a0668c80a52";
+      sha256 = "84626379ebcc40f60ab94ec22d60b6a0a60b1af86d0d815a22b875e123d4b7fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/id/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/id/thunderbird-102.5.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "b03b878f22baeadcebd1fc23097acf98fefb225b95deb237b32325948acf953d";
+      sha256 = "d49834cf21d985738d17306a7dff8fd158032c0b32fe6df2e2bebe722350ae6b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/is/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/is/thunderbird-102.5.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "100a22dbe23e9f54bc64557b0ee84dfb8521cb5a9731e042f34369b33627a712";
+      sha256 = "50f16148a4937381824691023d0acc736fcd517ca1523a5e2113fc0611b9f599";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/it/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/it/thunderbird-102.5.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "654a68be2e5fa83a6662a1e4b3d63a5689cdac0b09e6e77783e8c81b55ccab99";
+      sha256 = "85a75ac95e8533f7fe186e49cdf335e71332be527f801d775c85cf5a1acf9835";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ja/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ja/thunderbird-102.5.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "707dbe36c38cd81ca249def1ad8e5c9d37f27f73cfb136505afc6ae1b27d2053";
+      sha256 = "732df69293cf19d05aa081dbc815533352049f21bec37ad020fbf81764790bc4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ka/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ka/thunderbird-102.5.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "f2194efcd5acfcec0b0a6b92160ff1466f6d0774115dd8c36309e0faabaeca09";
+      sha256 = "bc8a0520e86296f8cb23187bfc35420a15c21e52d915fb8c272b872694e84697";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/kab/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/kab/thunderbird-102.5.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "57e4eb29c16c60e17529ba15ece3fc4402593a52d648afc7df966f8e6fb615fc";
+      sha256 = "907055485720ac96fc4fcff5a2458cb8978d7ac1047d61c304524f20058db227";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/kk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/kk/thunderbird-102.5.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "aba703a49c0af16b2657d7a91b87f4bad76931156a841f894970df0084ca54a5";
+      sha256 = "a0b5629060637275083d189f33196f06b23f00dfdc96c45a08e6934ea9ba31aa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ko/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ko/thunderbird-102.5.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "c20dec78ede44f9d415de07c33fdd5485109a6741a961a1f00dadbeabb07743e";
+      sha256 = "52a37de38cd370042f80e1d3e008850fc37de4e08dfead8cb0d1a8dce90a577a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/lt/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/lt/thunderbird-102.5.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "5e4bfa86cb6205c125535682c99ef1ebabd10d6a2b86e70a9e8c8e3bbb75b938";
+      sha256 = "77d60e886dd86a1c31c427dfcea2f74b0fd9f9b1ed6c21b6239032cc009edda9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/lv/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/lv/thunderbird-102.5.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "5f96da9f4b3554e3f49cd604c37e5550ab05eda2509721303fd69291f3200731";
+      sha256 = "d8b96ce3750df74fd789c28ad13fbc4bff739e7085de1b05a898e242663e75a5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ms/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ms/thunderbird-102.5.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "243bfaff279b46c93cdb43bb60f47571b88127bc6ff3708655244e89f3b7b79a";
+      sha256 = "e3e8c88bb5d57ec84f2e84717a1c98be462ce0463744de5cdf2c7b74bbd0905c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/nb-NO/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/nb-NO/thunderbird-102.5.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "1968e30fc26c664e37e3d5613f1be7b7d4e374cbd651a3f3959e0645394da573";
+      sha256 = "d6fe64522d534b17b0e97cd670df853a352d65b105e0fe09415a46fcdd49d0fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/nl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/nl/thunderbird-102.5.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "9bafdb18d55822ca1144068fa6e2ac98486db6ba8ca6484d4c65c00b3e6e04d7";
+      sha256 = "e6a7b5ff2d6fcae50791a6376369c5c87021e0970f21f303a67e970eb6663d16";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/nn-NO/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/nn-NO/thunderbird-102.5.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "def8e916acd5d93e949e6ef8d115e8feef54b208ed8476bb4921b691125778eb";
+      sha256 = "5861a050a47871f9c443daa363497ddc007d964be1b3a27ca6c5c1e2cacd82a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/pa-IN/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/pa-IN/thunderbird-102.5.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "4cba4e78b252360634efb558cb5fcf6389613d60012a2a416f2f82e212fa204f";
+      sha256 = "58ef386087cdc68fdbe58444baa13375c40ae2e9447600ece3acf88373915533";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/pl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/pl/thunderbird-102.5.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "eae5a29e37bedaf349068ff780ed7eb9e1091cb4a9253de03bf22ec93a959602";
+      sha256 = "09b33a0a5230f58b867018f74146d40e63cfb9a321eb587ac92f70b2806fbd20";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/pt-BR/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/pt-BR/thunderbird-102.5.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "9114d726fc80221b827cd33204fdd7e7e34d49690d4a7c252ce6b27e44cb8c98";
+      sha256 = "83e0a0b52d3d92e892389f308bb52a05728bfedfde0c9216ed687534aede07e1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/pt-PT/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/pt-PT/thunderbird-102.5.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "9dcb58828d399f7fc45a9382f998b6c33fff6719d6559be8e3de71807ceb7673";
+      sha256 = "5c9523ecf41e306c01b884caa30fc23d02a5d9f871a39fcd186776851530ea14";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/rm/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/rm/thunderbird-102.5.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "049160cd75f2677dcf31e96932a6f69c2c2d3261466b6eb91681d7cb3b8b9875";
+      sha256 = "54aeaf1ea767343a144f85f65618e2ee0d300d11efd520615690d1620fba47c2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ro/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ro/thunderbird-102.5.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "9edfb7e929bdf6b99bb689057b397d6fe02bc62d8082f35fd9341d94b840b316";
+      sha256 = "345f4952d17240eb03da38ec4c1b99e46b488ab058b13d258f013668d2e26651";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/ru/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/ru/thunderbird-102.5.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "eabaeadbfa7ab6cfc44ad52dd724a93227b02bd84e2b5df71cac08279fccfe56";
+      sha256 = "67e5b2cd8ca619592d57935fcbfe128c79ee167ef535614ab7f1c5b65b091365";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sk/thunderbird-102.5.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "7034db34602ff5c0c7bac02d3b04ad5765ade99896ab84cc96020bcca93f655d";
+      sha256 = "e6a55333fcb707f1b7f1302168799dc42efe2eec5bc371087bacba1182560870";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sl/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sl/thunderbird-102.5.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "e3069c0f783bcb2b6113d5a48341ecab30c0aef950312edaea778a540bb9a85a";
+      sha256 = "3995e35537d02a660231e8ef900a5912b1eab8b551a579e75cb306940ae9976b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sq/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sq/thunderbird-102.5.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "c07ce8c31a21d0f7f52fcf4d0fb069be0530ad3bc9e198cd6003aa4e28293ab9";
+      sha256 = "6b742595020681bd1066de0aca867954a273e10c076f39d0df1d83e5d8504b6c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sr/thunderbird-102.5.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "af8c3097acb38299a4b5e28af64fb24e447970b0447b670b98b105d17e58555c";
+      sha256 = "ffa7e636f5c0d541c007f52a2e829155e95b01ad0b279580d68260f6fe9132c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/sv-SE/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/sv-SE/thunderbird-102.5.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "24e97a18161fda49002455d5bd971f418a4968e4549ef262974a996fa3595313";
+      sha256 = "7172e07df01e6685873b99150fc6f3da77623ff7e90edc88c37497e5114bad9e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/th/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/th/thunderbird-102.5.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "cc6c8cc43e57e1ef99f41e27e71c49d56505cd15cf0768276dfeb2619e498f09";
+      sha256 = "47fad6489e19b7acb53bc1f1b3001ad55b933d612271d08cfec642875f0cafe9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/tr/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/tr/thunderbird-102.5.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "805ce60935c470d39b2d254f2011c52e152b4762c6074372e85968bba327c1c5";
+      sha256 = "05d2eb31e99c09350aa0ec4cba2b046ea0c9871f32e9328b3c50c27fd4219b81";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/uk/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/uk/thunderbird-102.5.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "e853a99a029ad1e44e3f5427c0cc75bb09ce12a786a4c9237c330e09d6a2dadf";
+      sha256 = "8475840589710c68c996ba9740308d07677edc7ccb97585b4f9bcdc17d8397a9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/uz/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/uz/thunderbird-102.5.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "577fe9f24adfa657728a6ff5739deb51e1fe587b8a56f2ed13784959e3cc74c3";
+      sha256 = "944077ed7e95392123f5a8bc1521cf23693c8cf968ef8b9b14127d3e1bf40747";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/vi/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/vi/thunderbird-102.5.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "12e92bf539e5d85fcac7c66272c4386c4d30415b47cf47e7333b15916e1c3e2f";
+      sha256 = "7d7188470c3e0e4056df45f0032a7e5d31229ee4f07255d074eeea58801edb1f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/zh-CN/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/zh-CN/thunderbird-102.5.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "ddbce4614458821f01c7b09426afa230788042fd3412d8b565e4012fea3e4542";
+      sha256 = "a7c995a24c9f75ecf2c87e7c4651cfd5efb57b4ae5f6efabd1fc2b2458a47830";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.4.1/linux-i686/zh-TW/thunderbird-102.4.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/102.5.0/linux-i686/zh-TW/thunderbird-102.5.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "c7e82984695a17192bd07ad6d826545daaea8074d1e8723b0397db888162fa60";
+      sha256 = "6e2f90e0ccfc26cc834a97b32bd70903e51926631bb3eb7df3e1b0b4db46350c";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index b9eaf73043db3..7721834fea2d3 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -5,13 +5,13 @@ rec {
 
   thunderbird-102 = (buildMozillaMach rec {
     pname = "thunderbird";
-    version = "102.4.1";
+    version = "102.5.0";
     application = "comm/mail";
     applicationName = "Mozilla Thunderbird";
     binaryName = pname;
     src = fetchurl {
       url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-      sha512 = "8855f7bf1ee2c9f6859189f3aa8afa5d851af2f4edb1a63e3804ec7796f228addf2819028ca6213f7c3f6c452cf4915801df1e706d7c84d8f15e0a627c77b7b6";
+      sha512 = "b6f2828b23616db5620e0364a1ebb02a8676e184d5e361c0aa87f36b64eb6b7f4b1bc3c42675b3ae3092953fbda6b01c18c068b167d40469481b1e18af1dcaa1";
     };
     extraPatches = [
       # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
diff --git a/pkgs/applications/networking/p2p/lokinet/default.nix b/pkgs/applications/networking/p2p/lokinet/default.nix
index e3e2c8e588313..9b1421efa88a9 100644
--- a/pkgs/applications/networking/p2p/lokinet/default.nix
+++ b/pkgs/applications/networking/p2p/lokinet/default.nix
@@ -7,6 +7,7 @@
 , libuv
 , nlohmann_json
 , pkg-config
+, spdlog
 , sqlite
 , systemd
 , unbound
@@ -15,14 +16,14 @@
 
 stdenv.mkDerivation rec {
   pname = "lokinet";
-  version = "0.9.9";
+  version = "0.9.10";
 
   src = fetchFromGitHub {
     owner = "oxen-io";
     repo = "lokinet";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-AaGsRg9S9Cng9emI/mN09QSOIRbE+x3916clWAwLnRs=";
+    sha256 = "sha256-dLkIFp1yz5MgUDxYQHN4zv2mexEb4GfkxlTOZyECsew=";
   };
 
   nativeBuildInputs = [
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
     libuv
     libsodium
     nlohmann_json
+    spdlog
     sqlite
     systemd
     unbound
@@ -47,14 +49,6 @@ stdenv.mkDerivation rec {
     "-DWITH_SETCAP=OFF"
   ];
 
-  # copy bootstrap files
-  # see https://github.com/oxen-io/lokinet/issues/1765#issuecomment-938208774
-  postInstall = ''
-    mkdir -p $out/share/testnet
-    cp $src/contrib/bootstrap/mainnet.signed $out/share/bootstrap.signed
-    cp $src/contrib/bootstrap/testnet.signed $out/share/testnet/bootstrap.signed
-  '';
-
   meta = with lib; {
     description = "Anonymous, decentralized and IP based overlay network for the internet";
     homepage = "https://lokinet.org/";
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index ea09e1a942f13..d072a03c0b478 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -62,13 +62,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "freerdp";
-  version = "2.8.1";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "FreeRDP";
     repo = "FreeRDP";
     rev = version;
-    sha256 = "sha256-0heCwXFms6Ni/F1TaS5QEK+ePlR9DXUrzVj3vA5DvCk=";
+    sha256 = "sha256-I9xJWHoY8fZ5T9zca77gFciC+7JdD6fMwV16giiY4FU=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/rymdport/default.nix b/pkgs/applications/networking/rymdport/default.nix
new file mode 100644
index 0000000000000..a35f918ff5a06
--- /dev/null
+++ b/pkgs/applications/networking/rymdport/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, buildGoModule
+, fetchFromGitHub
+, pkg-config
+, libGL
+, xorg
+, Carbon
+, Cocoa
+}:
+
+buildGoModule rec {
+  pname = "rymdport";
+  version = "3.2.0";
+
+  src = fetchFromGitHub {
+    owner = "Jacalz";
+    repo = "rymdport";
+    rev = "v${version}";
+    hash = "sha256-kAEkeRAS+gMjdriop4tQcqc+GldldxOn+QwgWTl8XB0=";
+  };
+
+  vendorHash = "sha256-rZHM0HwiTNbUuJmlNOHg/XoYxqrKt59l5BL/vjm4Hfk=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = with xorg; [
+    libGL
+    libX11
+    libXcursor
+    libXext
+    libXi
+    libXinerama
+    libXrandr
+    libXxf86vm
+  ] ++ lib.optionals stdenv.isDarwin [
+    Carbon
+    Cocoa
+    IOKit
+  ];
+
+  meta = {
+    description = "Easy encrypted file, folder, and text sharing between devices";
+    homepage = "https://github.com/Jacalz/rymdport";
+    changelog = "https://github.com/Jacalz/rymdport/blob/${src.rev}/CHANGELOG.md";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/sniffers/kismet/default.nix b/pkgs/applications/networking/sniffers/kismet/default.nix
index ad1ee0a0b302c..1e4bb853742ea 100644
--- a/pkgs/applications/networking/sniffers/kismet/default.nix
+++ b/pkgs/applications/networking/sniffers/kismet/default.nix
@@ -1,36 +1,43 @@
-{ lib, stdenv, fetchurl, pkg-config, libpcap, pcre, libnl, zlib, libmicrohttpd
-, sqlite, protobuf, protobufc, libusb1, libcap, binutils, elfutils
-, withNetworkManager ? false, glib, networkmanager
-, withPython ? false, python3
-, withSensors ? false, lm_sensors}:
-
-# couldn't get python modules to build correctly,
-# waiting for some other volunteer to fix it
-assert !withPython;
+{ lib
+, stdenv
+, binutils
+, elfutils
+, fetchurl
+, glib
+, libcap
+, libmicrohttpd
+, libnl
+, libpcap
+, libusb1
+, libwebsockets
+, lm_sensors
+, networkmanager
+, pcre
+, pkg-config
+, openssl
+, protobuf
+, protobufc
+, python3
+, sqlite
+, withNetworkManager ? false
+, withPython ? true
+, withSensors ? false
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "kismet";
-  version = "2020-09-R2";
+  version = "2022-08-R1";
 
   src = fetchurl {
     url = "https://www.kismetwireless.net/code/${pname}-${version}.tar.xz";
-    sha256 = "1n6y6sgqf50bng8n0mhs2r1w0ak14mv654sqay72a78wh2s7ywzg";
+    hash = "sha256-IUnM6sVSZQhlP00C3PemlOPaPcAAojcqHuS/mYgnl4E=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [
-    libpcap pcre libmicrohttpd libnl zlib sqlite protobuf protobufc
-    libusb1 libcap binutils elfutils
-  ] ++ lib.optionals withNetworkManager [ networkmanager glib ]
-    ++ lib.optional withSensors lm_sensors
-    ++ lib.optional withPython (python3.withPackages(ps: [ ps.setuptools ps.protobuf
-                                                                  ps.numpy ps.pyserial ]));
-
-  configureFlags = []
-    ++ lib.optional (!withNetworkManager) "--disable-libnm"
-    ++ lib.optional (!withPython) "--disable-python-tools"
-    ++ lib.optional (!withSensors) "--disable-lmsensors";
+  postPatch = ''
+    substituteInPlace Makefile.in \
+      --replace "-m 4550" ""
+  '';
 
   postConfigure = ''
     sed -e 's/-o $(INSTUSR)//' \
@@ -40,12 +47,58 @@ stdenv.mkDerivation rec {
         -i Makefile
   '';
 
+  nativeBuildInputs = [
+    pkg-config
+  ] ++ lib.optionals withPython [
+    python3
+  ];
+
+  buildInputs = [
+    binutils
+    elfutils
+    libcap
+    libmicrohttpd
+    libnl
+    libpcap
+    openssl
+    libusb1
+    libwebsockets
+    pcre
+    protobuf
+    protobufc
+    sqlite
+    zlib
+  ] ++ lib.optionals withNetworkManager [
+    networkmanager
+    glib
+  ] ++ lib.optional withSensors [
+    lm_sensors
+  ];
+
+  propagatedBuildInputs = [
+  ] ++ lib.optional withPython (python3.withPackages (ps: [
+    ps.numpy
+    ps.protobuf
+    ps.pyserial
+    ps.setuptools
+    ps.websockets
+  ]));
+
+  configureFlags = [
+  ] ++ lib.optional (!withNetworkManager) [
+    "--disable-libnm"
+  ] ++ lib.optional (!withPython) [
+    "--disable-python-tools"
+  ] ++ lib.optional (!withSensors) [
+    "--disable-lmsensors"
+  ];
+
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Wireless network sniffer";
     homepage = "https://www.kismetwireless.net/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 02cf46a23ce2c..7568f45d6811a 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "rclone";
-  version = "1.60.0";
+  version = "1.60.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UFA4mPzpHnyx6+tVw0QwhTlALdu8YLNAleWxXuFJczs=";
+    sha256 = "sha256-ss4GTXnvWMwin1jn5yzmclS7SGh7NmPvdcDFa1ygwzg=";
   };
 
   vendorSha256 = "sha256-si5fzyPQUUTKkm/UVt8xfpJGK/4F6GM4HuAg1R0hzqQ=";
diff --git a/pkgs/applications/networking/twtxt/default.nix b/pkgs/applications/networking/twtxt/default.nix
index 792c13aa23fa8..5745408625620 100644
--- a/pkgs/applications/networking/twtxt/default.nix
+++ b/pkgs/applications/networking/twtxt/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "twtxt";
-  version = "1.2.3";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "buckket";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-AdM95G2Vz3UbVPI7fs8/D78BMxscbTGrCpIyyHzSmho=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-CbFh1o2Ijinfb8X+h1GP3Tp+8D0D3/Czt/Uatd1B4cw=";
   };
 
   # Relax some dependencies
diff --git a/pkgs/applications/office/karlender/default.nix b/pkgs/applications/office/karlender/default.nix
index 4c3735f77d5c3..6917e2ab94b15 100644
--- a/pkgs/applications/office/karlender/default.nix
+++ b/pkgs/applications/office/karlender/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "karlender";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitLab {
     owner = "floers";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-dgxhXxtwQvaWMLCh8ac67L+R6jnJQdFzoyWKyrboPTk=";
+    hash = "sha256-WuTxsnYXudciTBH1RFHsIYNIHeoeZ+rI2JhYBYPUziw=";
   };
 
-  cargoHash = "sha256-DsayK3wk2BVG2tqijWWQqUv5uPb/lcZXmwy8pbmd430=";
+  cargoHash = "sha256-eHEISCHh1jWCy3LwVuCx4LXfNLe1A4drHusyayoS+Ho=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 4c3a4bd988442..a562548242b6e 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -96,7 +96,7 @@
 , gpgme
 , libwebp
 , abseil-cpp
-, langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "uk" "zh-CN" ]
+, langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "tr" "uk" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false
 , mkDerivation ? null
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index f5de1d65184ca..403e3d0d88a69 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -64,6 +64,7 @@ let
           sha256 = "sha256-bKrPLbD9zG7DwIYBst1cb+zkDsM8B02wh3D80iortpw=";
         };
         propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ self.daphne ];
+        pytestFlagsArray = [ "--asyncio-mode=auto" ];
       });
 
       daphne = super.daphne.overridePythonAttrs (oldAttrs: rec {
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index b4addd5cff2df..c176248d1f4df 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.11.4";
+  version = "22.11.5";
 
   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
-    hash = "sha256-oZLbplYn1AYCv/fPb2dotpQeb8MITx7F5Tc4Wxd65Ew=";
+    sha256 = "451c7bed728710d1ff7ddc5bcc5a32b829dfac3ed2bbfdb6f7c2c328e6676a8c";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/radio/btlejack/default.nix b/pkgs/applications/radio/btlejack/default.nix
index 198c090b0ea17..c5eb8d5cfe4de 100644
--- a/pkgs/applications/radio/btlejack/default.nix
+++ b/pkgs/applications/radio/btlejack/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "btlejack";
-  version = "2.0.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "virtualabs";
     repo = "btlejack";
-    rev = "v${version}";
-    sha256 = "1r17079kx7dvsrbmw5sgvz3vj5m3pn2543gxj2xmw4s0lcihy378";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-Q6y9murV1o2i1sluqTVB5+X3B7ywFsI0ZvlJjHrHSpo=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/radio/rtl_433/default.nix b/pkgs/applications/radio/rtl_433/default.nix
index 1dac6525ee630..44ecec312b3f6 100644
--- a/pkgs/applications/radio/rtl_433/default.nix
+++ b/pkgs/applications/radio/rtl_433/default.nix
@@ -1,28 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, fetchpatch
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
 , libusb1, rtl-sdr, soapysdr-with-plugins
 }:
 
 stdenv.mkDerivation rec {
-  version = "21.12";
+  version = "22.11";
   pname = "rtl_433";
 
   src = fetchFromGitHub {
     owner = "merbanan";
     repo = "rtl_433";
     rev = version;
-    sha256 = "sha256-KoDKyI7KDdGSe79ZTuL9ObKnOJsqTN4wrMq+/cvQ/Xk=";
+    sha256 = "sha256-qDY+prdf8O/dqmAgLU6lpsNIvL1R5V2AwsB+4CpOqGM=";
   };
 
-  patches = [( fetchpatch {
-    name = "CVE-2022-27419";
-    url = "https://github.com/merbanan/rtl_433/commit/37455483889bd1c641bdaafc493d1cc236b74904.patch";
-    sha256 = "172jndh8x5nlcbx2jp5y8fgfxsawwfz95037pcjp170gf93ijy88";
-  }) ( fetchpatch {
-    name = "CVE-2022-25051";
-    url = "https://github.com/merbanan/rtl_433/commit/2dad7b9fc67a1d0bfbe520fbd821678b8f8cc7a8.patch";
-    sha256 = "sha256-IfxwdnuA7WbaVdxMTln069mA5hKNuPz+XYQaNA4YY24=";
-  })];
-
   nativeBuildInputs = [ pkg-config cmake ];
 
   buildInputs = [ libusb1 rtl-sdr soapysdr-with-plugins ];
@@ -36,5 +26,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ earldouglas markuskowa ];
     platforms = platforms.all;
   };
-
 }
diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix
index fece0869a0bdc..45f609c08f232 100644
--- a/pkgs/applications/radio/sdrangel/default.nix
+++ b/pkgs/applications/radio/sdrangel/default.nix
@@ -42,13 +42,13 @@
 
 mkDerivation rec {
   pname = "sdrangel";
-  version = "7.7.0";
+  version = "7.8.3";
 
   src = fetchFromGitHub {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${version}";
-    sha256 = "sha256-du5mNGMrXt6iFjb/QXQsW1DpGfIlVjqrbmsQZb4mMZQ=";
+    sha256 = "sha256-zP3Ic0mru0FcX7ZuE/IKGmHA596lq5Y1cWdBESzzU0U=";
     fetchSubmodules = false;
   };
 
diff --git a/pkgs/applications/science/astronomy/kstars/default.nix b/pkgs/applications/science/astronomy/kstars/default.nix
index 8212e6a2a9fad..d74ad2c4e8788 100644
--- a/pkgs/applications/science/astronomy/kstars/default.nix
+++ b/pkgs/applications/science/astronomy/kstars/default.nix
@@ -14,11 +14,11 @@
 
 mkDerivation rec {
   pname = "kstars";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchurl {
     url = "mirror://kde/stable/kstars/kstars-${version}.tar.xz";
-    sha256 = "sha256-wdv2TOOPIB3VRG3XMs58i/HvMDZ9wvERAhBQNslJ25E=";
+    sha256 = "sha256-WWbtfqvGd13+a41z8/MjlchllpuhLX08nu15OlYUeuI=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index 09dc8daa4699a..8262714256635 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "igv";
-  version = "2.14.1";
+  version = "2.15.1";
   src = fetchzip {
     url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
-    sha256 = "sha256-IXUyMAhKyNMb7tINlr+9JmPlDRpHzgGS/SXo1Mz5o0Q=";
+    sha256 = "sha256-hwZ6Pl6BxoVbJI5e3b0s7jhQ/AADhVJVqM9Q8ppERuk=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/science/electronics/dsview/default.nix b/pkgs/applications/science/electronics/dsview/default.nix
index eb8246a584d32..c8d5fc5dde748 100644
--- a/pkgs/applications/science/electronics/dsview/default.nix
+++ b/pkgs/applications/science/electronics/dsview/default.nix
@@ -1,47 +1,29 @@
 { lib, mkDerivation, fetchFromGitHub, pkg-config, cmake
-, libzip, boost, fftw, qtbase, libusb1, libsigrok4dsl
-, libsigrokdecode4dsl, python3, fetchpatch
+, libzip, boost, fftw, qtbase, libusb1
+, python3, fetchpatch
 }:
 
 mkDerivation rec {
   pname = "dsview";
 
-  version = "1.12";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
       owner = "DreamSourceLab";
       repo = "DSView";
       rev = "v${version}";
-      sha256 = "q7F4FuK/moKkouXTNPZDVon/W/ZmgtNHJka4MiTxA0U=";
+      sha256 = "sha256-TE2yfzv2h77GLMkmoVGXmzs7J0l/N+n1eYxyrtnrnGU=";
   };
 
-  sourceRoot = "source/DSView";
-
   patches = [
     # Fix absolute install paths
     ./install.patch
-
-    # Fix buld with Qt5.15 already merged upstream for future release
-    # Using local file instead of content of commit #33e3d896a47 because
-    # sourceRoot make it unappliable
-    ./qt515.patch
-
-    # Change from upstream master that removes extern-C scopes which
-    # cause failures with modern glib. This can likely be removed if
-    # there is an upstream release >1.12
-    (fetchpatch {
-      name = "fix-extern-c.patch";
-      url = "https://github.com/DreamSourceLab/DSView/commit/33cc733abe19872bf5ed08540a94b798d0d4ecf4.patch";
-      sha256 = "sha256-TLfLQa3sdyNHTpMMvId/V6uUuOFihOZMFJOj9frnDoY=";
-      stripLen = 2;
-      extraPrefix = "";
-    })
   ];
 
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [
-    boost fftw qtbase libusb1 libzip libsigrokdecode4dsl libsigrok4dsl
+    boost fftw qtbase libusb1 libzip
     python3
   ];
 
diff --git a/pkgs/applications/science/electronics/dsview/install.patch b/pkgs/applications/science/electronics/dsview/install.patch
index 75c3e9628656f..9fd9133e2795b 100644
--- a/pkgs/applications/science/electronics/dsview/install.patch
+++ b/pkgs/applications/science/electronics/dsview/install.patch
@@ -1,15 +1,23 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c1c33e1..208a184 100644
+index eb9be42..220817c 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -427,8 +427,8 @@
- install(FILES ../NEWS31 DESTINATION share/${PROJECT_NAME} RENAME NEWS31)
- install(FILES ../ug25.pdf DESTINATION share/${PROJECT_NAME} RENAME ug25.pdf)
- install(FILES ../ug31.pdf DESTINATION share/${PROJECT_NAME} RENAME ug31.pdf)
--install(FILES DreamSourceLab.rules DESTINATION /etc/udev/rules.d/)
--install(FILES DSView.desktop DESTINATION /usr/share/applications/)
-+install(FILES DreamSourceLab.rules DESTINATION etc/udev/rules.d/)
-+install(FILES DSView.desktop DESTINATION share/applications/)
+@@ -662,16 +662,8 @@ install(FILES DSView/icons/logo.svg DESTINATION share/icons/hicolor/scalable/app
+ install(FILES DSView/icons/logo.svg DESTINATION share/pixmaps RENAME dsview.svg)
  
- #===============================================================================
- #= Packaging (handled by CPack)
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")	
+-	install(FILES DSView/DSView.desktop DESTINATION /usr/share/applications RENAME dsview.desktop)
+-	
+-	if(IS_DIRECTORY /usr/lib/udev/rules.d)
+-		install(FILES DSView/DreamSourceLab.rules DESTINATION /usr/lib/udev/rules.d RENAME 60-dreamsourcelab.rules)
+-	elseif(IS_DIRECTORY /lib/udev/rules.d)
+-		install(FILES DSView/DreamSourceLab.rules DESTINATION /lib/udev/rules.d RENAME 60-dreamsourcelab.rules)
+-	elseif(IS_DIRECTORY /etc/udev/rules.d)
+-		install(FILES DSView/DreamSourceLab.rules DESTINATION /etc/udev/rules.d RENAME 60-dreamsourcelab.rules)
+-	endif()
+-
++	install(FILES DSView/DSView.desktop DESTINATION share/applications RENAME dsview.desktop)
++	install(FILES DSView/DreamSourceLab.rules DESTINATION etc/udev/rules.d RENAME 60-dreamsourcelab.rules)
+ endif()
+ 
+ install(FILES NEWS25 DESTINATION share/DSView RENAME NEWS25)
diff --git a/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix b/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix
deleted file mode 100644
index c33bfd408b928..0000000000000
--- a/pkgs/applications/science/electronics/dsview/libsigrok4dsl.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, pkg-config, autoreconfHook,
-glib, libzip, libserialport, check, libusb1, libftdi,
-systemd, alsa-lib, dsview
-}:
-
-stdenv.mkDerivation {
-  inherit (dsview) version src;
-
-  pname = "libsigrok4dsl";
-
-  postUnpack = ''
-    export sourceRoot=$sourceRoot/libsigrok4DSL
-  '';
-
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
-
-  buildInputs = [
-    glib libzip libserialport libusb1 libftdi systemd check alsa-lib
-  ];
-
-  meta = with lib; {
-    description = "A fork of the sigrok library for usage with DSView";
-    homepage = "https://www.dreamsourcelab.com/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bachp ];
-  };
-}
diff --git a/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix b/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix
deleted file mode 100644
index 09eed4a67c572..0000000000000
--- a/pkgs/applications/science/electronics/dsview/libsigrokdecode4dsl.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, pkg-config, autoreconfHook,
-glib, check, python3, dsview
-}:
-
-stdenv.mkDerivation {
-  inherit (dsview) version src;
-
-  pname = "libsigrokdecode4dsl";
-
-  postUnpack = ''
-    export sourceRoot=$sourceRoot/libsigrokdecode4DSL
-  '';
-
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
-
-  buildInputs = [
-    python3 glib check
-  ];
-
-  meta = with lib; {
-    description = "A fork of the sigrokdecode library for usage with DSView";
-    homepage = "https://www.dreamsourcelab.com/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bachp ];
-  };
-}
diff --git a/pkgs/applications/science/electronics/dsview/qt515.patch b/pkgs/applications/science/electronics/dsview/qt515.patch
deleted file mode 100644
index 552f2062ec575..0000000000000
--- a/pkgs/applications/science/electronics/dsview/qt515.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/pv/view/viewport.cpp b/pv/view/viewport.cpp
-index 921d3db..16cdce9 100755
---- a/pv/view/viewport.cpp
-+++ b/pv/view/viewport.cpp
-@@ -37,7 +37,7 @@
- 
- #include <QMouseEvent>
- #include <QStyleOption>
--
-+#include <QPainterPath>
- 
- #include <math.h>
- 
diff --git a/pkgs/applications/science/logic/beluga/default.nix b/pkgs/applications/science/logic/beluga/default.nix
index 9af0cd694b70b..6a94d3f639e25 100644
--- a/pkgs/applications/science/logic/beluga/default.nix
+++ b/pkgs/applications/science/logic/beluga/default.nix
@@ -14,7 +14,7 @@ ocamlPackages.buildDunePackage rec {
   useDune2 = true;
 
   buildInputs = with ocamlPackages; [
-    gen sedlex ocaml_extlib dune-build-info linenoise
+    gen sedlex extlib dune-build-info linenoise
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index 125283589aef5..576c5745b35c5 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.3";
+  version = "2022.4";
 
   src = fetchurl {
     url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz";
-    sha256 = "sha256-FM+xMN2vj3WaOvZDwE9aDQ0ysJvDRIsWr6W2F/XjXa4=";
+    sha256 = "sha256-xRG+YC/ylAIGW1CQaEHe+YdSY5uSqV8bChBg2bXicpc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix
index fab2780d96440..409652888caf2 100644
--- a/pkgs/applications/version-management/bcompare/default.nix
+++ b/pkgs/applications/version-management/bcompare/default.nix
@@ -4,19 +4,19 @@
 
 let
   pname = "bcompare";
-  version = "4.4.2.26348";
+  version = "4.4.4.27058";
 
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://www.scootersoftware.com/${pname}-${version}_amd64.deb";
-      sha256 = "sha256-GotORErgPs7IPXATbBfIisDCNwp8csl7pDSwV77FylA=";
+      sha256 = "sha256-8wJzCCfekr/mrDJCDgoIqMRz21wWjfp5c5sPavZma3g=";
     };
 
     x86_64-darwin = fetchurl {
       url = "https://www.scootersoftware.com/BCompareOSX-${version}.zip";
-      sha256 = "sha256-XqmtW2EGyFmOzCooXczP3mtMN5UVQCCx7DJnVDlzAko=";
+      sha256 = "sha256-UopkyKHvbIZb9rNAJ+l3dEmOX33lQwakNypWCgYDT04=";
     };
 
     aarch64-darwin = srcs.x86_64-darwin;
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index ab610624f3714..ea06107ed7ca8 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fossil";
-  version = "2.19";
+  version = "2.20";
 
   src = fetchurl {
     url = "https://www.fossil-scm.org/home/tarball/version-${version}/fossil-${version}.tar.gz";
-    sha256 = "sha256-RZ9/7b4lRJqFVyfXwzutO8C/Pa6XPyxtvpp7gmEGoj4=";
+    sha256 = "1knff50rr8f39myxj50fprb9ya87cslmwz7zzfya56l33r7i7jh3";
   };
 
   nativeBuildInputs = [ installShellFiles tcl tcllib ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix b/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
index ca312188987e3..d80e481bd5bfb 100644
--- a/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-absorb/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-absorb";
-  version = "0.6.7";
+  version = "0.6.9";
 
   src = fetchFromGitHub {
     owner = "tummychow";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-qhUw1wjXn1tyiH175+BadcoKoZ0wHxpMTKDIKOcJjQ0=";
+    sha256 = "sha256-z02bMJ+KQaLHqIzsdB3BCVzTQ0NRG0ylAfTHYgOxZYk=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "sha256-Wh2kA12CggbgdofWJwPAy+587qfMUPSy9nQmO11+keY=";
+  cargoSha256 = "sha256-lP0fU2Cirta4WWha7Pgje537u6TbD5oiHLfamfzJtpU=";
 
   postInstall = ''
     installManPage Documentation/git-absorb.1
diff --git a/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
index 640be8547c02a..1a961b422b249 100644
--- a/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-branchless";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "arxanas";
     repo = "git-branchless";
     rev = "v${version}";
-    sha256 = "sha256-xh+G9bKEL2ho1YrNVTLbCTxSWZtjEuEWutvYEFr2G/g=";
+    sha256 = "sha256-Rf7ai+s2Fp/RFA4on9YBoTjFpvzSZtAHf0rytfZf0rc=";
   };
 
-  cargoSha256 = "sha256-Zz1RQ/mhdIbPiw2StGtTiORXiJ2nVLyZakt1072ha6U=";
+  cargoSha256 = "sha256-GVo0t2dJ6R+1UJf/NlKd5QLIQfDdFEHa+FSeW/Hk/4c=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -43,8 +43,9 @@ rustPlatform.buildRustPackage rec {
   '';
   # FIXME: these tests deadlock when run in the Nix sandbox
   checkFlags = [
-    "--skip=test_checkout_pty"
+    "--skip=test_switch_pty"
     "--skip=test_next_ambiguous_interactive"
+    "--skip=test_switch_auto_switch_interactive"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix b/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
index 4141c6c1b6a46..a48fd5f20c372 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
@@ -9,13 +9,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "git-cinnabar";
-  version = "0.5.10";
+  version = "0.5.11";
 
   src = fetchFromGitHub {
     owner = "glandium";
     repo = "git-cinnabar";
     rev = version;
-    sha256 = "sha256-vHHugCZ7ikB4lIv/TcNuOMSQsm0zCkGqu2hAFrqygu0=";
+    sha256 = "sha256-64ofKGeHwCqiZHOA6MrYrN2eV/qqClcjerDuSqsjKDg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-credential-keepassxc/default.nix b/pkgs/applications/version-management/git-and-tools/git-credential-keepassxc/default.nix
new file mode 100644
index 0000000000000..0e5ba28eebaac
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-credential-keepassxc/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, DiskArbitration
+, Foundation
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "git-credential-keepassxc";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "Frederick888";
+    repo = "git-credential-keepassxc";
+    rev = "v${version}";
+    hash = "sha256-zVE3RQlh0SEV4iavz40YhR+MP31oLCvG54H8gqXwL/k=";
+  };
+
+  cargoHash = "sha256-H75SGbT//02I+umttnPM5BwtFkDVNxEYLf84oULEuEk=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation ];
+
+  meta = with lib; {
+    description = "Helper that allows Git (and shell scripts) to use KeePassXC as credential store";
+    longDescription = ''
+      git-credential-keepassxc is a Git credential helper that allows Git
+      (and shell scripts) to get/store logins from/to KeePassXC.
+      It communicates with KeePassXC using keepassxc-protocol which is
+      originally designed for browser extensions.
+    '';
+    homepage = "https://github.com/Frederick888/git-credential-keepassxc";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/gitnuro/default.nix b/pkgs/applications/version-management/git-and-tools/gitnuro/default.nix
index 7c0dbefc50696..db79637ef9ff9 100644
--- a/pkgs/applications/version-management/git-and-tools/gitnuro/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitnuro/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gitnuro";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchurl {
     url = "https://github.com/JetpackDuba/Gitnuro/releases/download/v${version}/Gitnuro-linux-${version}.jar";
-    hash = "sha256-tAFFl14mmXhLr6V/vTDe9lwX7trsaTWgIqkwxD3mBUw=";
+    hash = "sha256-ugZBk/aQ2pjL9xY66g20MorAQ02GHIdJTv8ejadaBgY=";
   };
 
   icon = fetchurl {
diff --git a/pkgs/applications/version-management/git-and-tools/gitui/default.nix b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
index ccbe593178321..3b383647c2c9d 100644
--- a/pkgs/applications/version-management/git-and-tools/gitui/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitui";
-  version = "0.21.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "extrawurst";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-B/RKPYq1U40NV3AM/cQi2eQaK5vxynP3JA0DReSBuCo=";
+    sha256 = "sha256-ZLGA0LHdGPqIoNG2k4nunVWYlOnwRT8nqTSwUWGkfCU=";
   };
 
-  cargoSha256 = "sha256-r4kritS3v8GgFZfWeeyrsy6v3IlH3DByTU8Ir4FDngs=";
+  cargoSha256 = "sha256-ArJerq3gLzPm66RWDCvkpPFyh7ZyaoqLO/3zSjFTL04=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -32,6 +32,11 @@ rustPlatform.buildRustPackage rec {
   # Needed to get openssl-sys to use pkg-config.
   OPENSSL_NO_VENDOR = 1;
 
+  # The cargo config overrides linkers for some targets, breaking the build
+  # on e.g. `aarch64-linux`. These overrides are not required in the Nix
+  # environment: delete them.
+  postPatch = "rm .cargo/config";
+
   meta = with lib; {
     description = "Blazing fast terminal-ui for Git written in Rust";
     homepage = "https://github.com/extrawurst/gitui";
diff --git a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
index f5cf94629e626..def387980d63f 100644
--- a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lefthook";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "evilmartians";
     repo = "lefthook";
-    sha256 = "sha256-mkGyY50WBmVbZ9FEfZRWoGLeZy0HkBzYACbF2u8EN1o=";
+    sha256 = "sha256-ZMqqiPSNNJw9t3p5h/GUHa9cvl9LcJ4u0HMf1ag8qCc=";
   };
 
   vendorSha256 = "sha256-NTZz0EDIjGdh8dD9jxbNVdWb7NFJsdtnMp7H6Ni0EbQ=";
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index ddbbc1d1e4f34..e47ea6b12dbef 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.29.9";
+  version = "2.30";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "sha256-MJMVKdftA4PZ5vmrekcKAKX+0khHl3e83SXsn+P7VT8=";
+    sha256 = "sha256-Ck+Q7sHhMqUWu6WeA3DhY+svMxH2sU0WvmyvZ5qsW+E=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix
index 9e513fd9676a5..2f207e8ee4746 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.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "gitoxide";
     rev = "v${version}";
-    sha256 = "sha256-UtQ9LcGE9mLowttAAwR1ujD+BSCosFk+GHQvDwG/CAQ=";
+    sha256 = "sha256-VB7v51YW4aA5WHVD5ZWFzv9hQskjQeqMzm+pQ9glODg=";
   };
 
-  cargoSha256 = "sha256-0cZy7hOaREtdFB0Ww1VSV4ILpB0utSBcKlC3t9fhum8=";
+  cargoSha256 = "sha256-uII6o/cJktpUFxROuu11dNSXx0p6phVVqszmbYK9Rd0=";
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = if stdenv.isDarwin
diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix
index b507c0d31947a..dd35fc7847314 100644
--- a/pkgs/applications/video/freetube/default.nix
+++ b/pkgs/applications/video/freetube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freetube";
-  version = "0.17.1";
+  version = "0.18.0";
 
   src = fetchurl {
     url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
-    sha256 = "1n5r1h2khjwdsckiviv8f2pflxibk8rs68fs08jak0kbm0kkyj18";
+    sha256 = "sha256-7IxmlkExM8Q1yyq44ajZ6on4EMPyGt23QmzmBZmofts=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/video/iina/default.nix b/pkgs/applications/video/iina/default.nix
index bb3fd9cd5e5bb..6377b953d5ef0 100644
--- a/pkgs/applications/video/iina/default.nix
+++ b/pkgs/applications/video/iina/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iina";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchurl {
     url = "https://github.com/iina/iina/releases/download/v${version}/IINA.v${version}.dmg";
-    sha256 = "sha256-tQxBaCgAXh7sDcgGbJYe/MOJ5r4aWllVQepi1I0xo5E=";
+    sha256 = "sha256-xkZkKiiEywUWkiFw4PbUmQsStB1iRLCNU/MY27lRjC8=";
   };
 
   nativeBuildInputs = [ undmg ];
diff --git a/pkgs/applications/video/kmplayer/default.nix b/pkgs/applications/video/kmplayer/default.nix
index 986faceb82d01..a3c5b181725a5 100644
--- a/pkgs/applications/video/kmplayer/default.nix
+++ b/pkgs/applications/video/kmplayer/default.nix
@@ -27,6 +27,9 @@ mkDerivation rec {
       -e "s,^Exec.*,Exec=$out/bin/kmplayer -qwindowtitle %c %i %U,"
   '';
 
+  # required for kf5auth to work correctly
+  cmakeFlags = ["-DCMAKE_POLICY_DEFAULT_CMP0012=NEW"];
+
   nativeBuildInputs = [ extra-cmake-modules makeWrapper ];
 
   buildInputs = [
diff --git a/pkgs/applications/video/kooha/default.nix b/pkgs/applications/video/kooha/default.nix
index 37644b10252bd..ba959ec5717e1 100644
--- a/pkgs/applications/video/kooha/default.nix
+++ b/pkgs/applications/video/kooha/default.nix
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gst_all_1.gstreamer
+    gst_all_1.gst-plugins-good
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-ugly
     gtk4
diff --git a/pkgs/applications/video/lbry/default.nix b/pkgs/applications/video/lbry/default.nix
index ea69ea547df87..fa74f138608fe 100644
--- a/pkgs/applications/video/lbry/default.nix
+++ b/pkgs/applications/video/lbry/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "lbry-desktop";
-  version = "0.52.5";
+  version = "0.53.8";
 in appimageTools.wrapAppImage rec {
   name = "${pname}-${version}";
 
@@ -12,7 +12,7 @@ in appimageTools.wrapAppImage rec {
     src = fetchurl {
       url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage";
       # Gotten from latest-linux.yml
-      sha512 = "i0t1Ygf3el7Brh6TA804V6n5r5UczvOPxAdhyJ7Gvvg9VqN1+QXB6hsqF4jYTW3jcKxvorVALwrFDVezBTPv5g==";
+      sha512 = "WZB2pMzSuWGPj6uad+rIECOhuWEOxi0hVUQifOrhUrKj4SnBDws+oy7V2+NpDGkzbG+Kf3IO8rcWBD4wfFoo2Q==";
     };
   };
 
diff --git a/pkgs/applications/video/media-downloader/default.nix b/pkgs/applications/video/media-downloader/default.nix
index 3d76b524e4421..76e26ba017661 100644
--- a/pkgs/applications/video/media-downloader/default.nix
+++ b/pkgs/applications/video/media-downloader/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "media-downloader";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "mhogomchungu";
     repo = pname;
     rev = "${version}";
-    sha256 = "sha256-pDldAg4q6qGvRHuffKU49akDwwSTNCZPJ6AgauxgotI=";
+    sha256 = "sha256-uu/4S7cVWHOhBq52NF0AargE0nbPwjF0txSWL0DquQo=";
   };
 
   nativeBuildInputs = [ cmake qt5.wrapQtAppsHook ];
diff --git a/pkgs/applications/video/mpv/scripts/sponsorblock.nix b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
index 9a4060e59330a..2db4cf53d0044 100644
--- a/pkgs/applications/video/mpv/scripts/sponsorblock.nix
+++ b/pkgs/applications/video/mpv/scripts/sponsorblock.nix
@@ -3,13 +3,13 @@
 # Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.sponsorblock ]; }`
 stdenvNoCC.mkDerivation {
   pname = "mpv_sponsorblock";
-  version = "unstable-2021-12-23";
+  version = "unstable-2022-09-24";
 
   src = fetchFromGitHub {
     owner = "po5";
     repo = "mpv_sponsorblock";
-    rev = "6743bd47d4cfce3ae3d5dd4f587f3193bd4fb9b2";
-    sha256 = "06c37f33cdpz1w1jacjf1wnbh4f9b1xpipxzkg5ixf46cbwssmsj";
+    rev = "248d108c1280e05de551c42867aebb72cf0c83b9";
+    sha256 = "1aacchyci34xyx7rcyd2r02i4rlqq8q61l6dcci8yd4g4hjiqqld";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index ee840598930ea..b14ae35f5fa5c 100644
--- a/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cloud-hypervisor";
-  version = "26.0";
+  version = "28.0";
 
   src = fetchFromGitHub {
     owner = "cloud-hypervisor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-choTT20TVp42nN/vS6xCDA7Mbf1ZuAE1tFQZn49g9ak=";
+    sha256 = "sha256-gl8LgR2Sz0DxPAYeyfTvLJg4Esotg/eBfCjbdgEUfRI=";
   };
 
   separateDebugInfo = true;
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optional stdenv.isAarch64 dtc;
 
-  cargoSha256 = "sha256-mmyaT24he33wLI3zLOOKhVtzrPRyWzKgXUvc37suy5E=";
+  cargoSha256 = "sha256-qPlk8MHuXnfmtQSqIiFBYQK7TgHun1CxLqVOz/DDvrs=";
 
   OPENSSL_NO_VENDOR = true;
 
diff --git a/pkgs/applications/virtualization/cri-o/wrapper.nix b/pkgs/applications/virtualization/cri-o/wrapper.nix
index a984db037d461..b220c8e29cbf0 100644
--- a/pkgs/applications/virtualization/cri-o/wrapper.nix
+++ b/pkgs/applications/virtualization/cri-o/wrapper.nix
@@ -3,7 +3,6 @@
 , makeWrapper
 , lib
 , extraPackages ? []
-, cri-o
 , runc # Default container runtime
 , crun # Container runtime (default with cgroups v2 for podman/buildah)
 , conmon # Container runtime monitor
@@ -12,8 +11,6 @@
 }:
 
 let
-  cri-o = cri-o-unwrapped;
-
   binPath = lib.makeBinPath ([
     runc
     crun
@@ -22,13 +19,13 @@ let
     iptables
   ] ++ extraPackages);
 
-in runCommand cri-o.name {
-  name = "${cri-o.pname}-wrapper-${cri-o.version}";
-  inherit (cri-o) pname version passthru;
+in runCommand cri-o-unwrapped.name {
+  name = "${cri-o-unwrapped.pname}-wrapper-${cri-o-unwrapped.version}";
+  inherit (cri-o-unwrapped) pname version passthru;
 
   preferLocalBuild = true;
 
-  meta = builtins.removeAttrs cri-o.meta [ "outputsToInstall" ];
+  meta = builtins.removeAttrs cri-o-unwrapped.meta [ "outputsToInstall" ];
 
   outputs = [
     "out"
@@ -40,7 +37,7 @@ in runCommand cri-o.name {
   ];
 
 } ''
-  ln -s ${cri-o.man} $man
+  ln -s ${cri-o-unwrapped.man} $man
 
   mkdir -p $out/bin
   ln -s ${cri-o-unwrapped}/share $out/share
diff --git a/pkgs/applications/virtualization/crosvm/Cargo.lock b/pkgs/applications/virtualization/crosvm/Cargo.lock
deleted file mode 100644
index 646562bd27d6c..0000000000000
--- a/pkgs/applications/virtualization/crosvm/Cargo.lock
+++ /dev/null
@@ -1,2214 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "aarch64"
-version = "0.1.0"
-dependencies = [
- "arch",
- "base",
- "data_model",
- "devices",
- "hypervisor",
- "kernel_cmdline",
- "kernel_loader",
- "kvm",
- "kvm_sys",
- "libc",
- "memoffset 0.6.5",
- "minijail",
- "remain",
- "resources",
- "sync",
- "thiserror",
- "vm_control",
- "vm_memory",
-]
-
-[[package]]
-name = "acpi_tables"
-version = "0.1.0"
-dependencies = [
- "data_model",
- "tempfile",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "0.7.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.61"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "508b352bb5c066aac251f6daf6b36eccd03e8a88e8081cd44959ea277a3af9a8"
-
-[[package]]
-name = "arch"
-version = "0.1.0"
-dependencies = [
- "acpi_tables",
- "anyhow",
- "base",
- "devices",
- "gdbstub_arch",
- "hypervisor",
- "kernel_cmdline",
- "libc",
- "minijail",
- "power_monitor",
- "remain",
- "resources",
- "sync",
- "thiserror",
- "vm_control",
- "vm_memory",
-]
-
-[[package]]
-name = "argh"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7e7e4aa7e40747e023c0761dafcb42333a9517575bbf1241747f68dd3177a62"
-dependencies = [
- "argh_derive",
- "argh_shared",
-]
-
-[[package]]
-name = "argh_derive"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69f2bd7ff6ed6414f4e5521bd509bae46454bbd513801767ced3f21a751ab4bc"
-dependencies = [
- "argh_shared",
- "heck",
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "argh_helpers"
-version = "0.1.0"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "argh_shared"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47253b98986dafc7a3e1cf3259194f1f47ac61abb57a57f46ec09e48d004ecda"
-
-[[package]]
-name = "assertions"
-version = "0.1.0"
-
-[[package]]
-name = "async-task"
-version = "4.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
-
-[[package]]
-name = "async-trait"
-version = "0.1.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76464446b8bc32758d7e88ee1a804d9914cd9b1cb264c029899680b0be29826f"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi",
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "audio_streams"
-version = "0.1.0"
-dependencies = [
- "async-trait",
- "futures",
- "remain",
- "thiserror",
-]
-
-[[package]]
-name = "autocfg"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "balloon_control"
-version = "0.1.0"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "base"
-version = "0.1.0"
-dependencies = [
- "audio_streams",
- "base_event_token_derive",
- "cfg-if",
- "chrono",
- "data_model",
- "env_logger",
- "lazy_static",
- "libc",
- "log",
- "once_cell",
- "rand 0.8.5",
- "regex",
- "remain",
- "serde",
- "serde_json",
- "smallvec",
- "sync",
- "tempfile",
- "thiserror",
- "uuid",
- "win_util",
- "winapi",
-]
-
-[[package]]
-name = "base_event_token_derive"
-version = "0.1.0"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "bit_field"
-version = "0.1.0"
-dependencies = [
- "bit_field_derive",
-]
-
-[[package]]
-name = "bit_field_derive"
-version = "0.1.0"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "broker_ipc"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "base",
- "metrics",
- "serde",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "cbindgen"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51e3973b165dc0f435831a9e426de67e894de532754ff7a3f307c03ee5dec7dc"
-dependencies = [
- "clap",
- "heck",
- "indexmap",
- "log",
- "proc-macro2",
- "quote 1.0.21",
- "serde",
- "serde_json",
- "syn 1.0.99",
- "tempfile",
- "toml",
-]
-
-[[package]]
-name = "cc"
-version = "1.0.73"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chrono"
-version = "0.4.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
-dependencies = [
- "iana-time-zone",
- "js-sys",
- "num-integer",
- "num-traits",
- "serde",
- "time",
- "wasm-bindgen",
- "winapi",
-]
-
-[[package]]
-name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
- "strsim",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "const-sha1"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb58b6451e8c2a812ad979ed1d83378caa5e927eef2622017a45f251457c2c9d"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
-
-[[package]]
-name = "crc32fast"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "cros_async"
-version = "0.1.1"
-dependencies = [
- "anyhow",
- "async-task",
- "async-trait",
- "audio_streams",
- "base",
- "cfg-if",
- "data_model",
- "futures",
- "futures-executor",
- "futures-util",
- "intrusive-collections",
- "io_uring",
- "libc",
- "once_cell",
- "paste",
- "pin-utils",
- "remain",
- "serde",
- "slab",
- "smallvec",
- "sync",
- "tempfile",
- "thiserror",
- "win_util",
- "winapi",
-]
-
-[[package]]
-name = "cros_fuzz"
-version = "0.1.0"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
-dependencies = [
- "cfg-if",
- "once_cell",
-]
-
-[[package]]
-name = "crosvm"
-version = "0.1.0"
-dependencies = [
- "aarch64",
- "acpi_tables",
- "anyhow",
- "arch",
- "argh",
- "argh_helpers",
- "assertions",
- "audio_streams",
- "base",
- "bit_field",
- "broker_ipc",
- "cfg-if",
- "crosvm_plugin",
- "data_model",
- "devices",
- "disk",
- "enumn",
- "gdbstub",
- "gdbstub_arch",
- "hypervisor",
- "kernel_cmdline",
- "kernel_loader",
- "kvm",
- "kvm_sys",
- "lazy_static",
- "libc",
- "libcras",
- "log",
- "metrics",
- "minijail",
- "net_util",
- "p9",
- "protobuf",
- "protos",
- "remain",
- "resources",
- "rutabaga_gfx",
- "scudo",
- "serde_json",
- "serde_keyvalue",
- "sync",
- "tempfile",
- "terminal_size",
- "thiserror",
- "tube_transporter",
- "uuid",
- "vhost",
- "vm_control",
- "vm_memory",
- "x86_64",
-]
-
-[[package]]
-name = "crosvm-fuzz"
-version = "0.0.1"
-dependencies = [
- "base",
- "cros_fuzz",
- "data_model",
- "devices",
- "disk",
- "fuse",
- "hypervisor",
- "kernel_loader",
- "libc",
- "rand 0.6.5",
- "tempfile",
- "usb_util",
- "vm_memory",
-]
-
-[[package]]
-name = "crosvm_control"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "base",
- "cbindgen",
- "libc",
- "vm_control",
-]
-
-[[package]]
-name = "crosvm_plugin"
-version = "0.17.0"
-dependencies = [
- "base",
- "kvm",
- "kvm_sys",
- "libc",
- "protobuf",
- "protos",
-]
-
-[[package]]
-name = "data_model"
-version = "0.1.0"
-dependencies = [
- "assertions",
- "cfg-if",
- "libc",
- "remain",
- "serde",
- "thiserror",
- "winapi",
-]
-
-[[package]]
-name = "dbus"
-version = "0.9.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f8bcdd56d2e5c4ed26a529c5a9029f5db8290d433497506f958eae3be148eb6"
-dependencies = [
- "libc",
- "libdbus-sys",
- "winapi",
-]
-
-[[package]]
-name = "derive-into-owned"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "576fce04d31d592013a5887ba8d9c3830adff329e5096d7e1eb5e8e61262ca62"
-dependencies = [
- "quote 0.3.15",
- "syn 0.11.11",
-]
-
-[[package]]
-name = "devices"
-version = "0.1.0"
-dependencies = [
- "acpi_tables",
- "anyhow",
- "argh",
- "async-task",
- "audio_streams",
- "balloon_control",
- "base",
- "bit_field",
- "cfg-if",
- "cros_async",
- "data_model",
- "dbus",
- "disk",
- "enumn",
- "fuse",
- "futures",
- "gpu_display",
- "hypervisor",
- "kvm_sys",
- "libc",
- "libcras",
- "libvda",
- "linux_input_sys",
- "memoffset 0.6.5",
- "minijail",
- "net_sys",
- "net_util",
- "once_cell",
- "p9",
- "power_monitor",
- "protobuf",
- "protos",
- "rand 0.7.3",
- "remain",
- "resources",
- "rutabaga_gfx",
- "serde",
- "serde_json",
- "serde_keyvalue",
- "smallvec",
- "sync",
- "system_api",
- "tempfile",
- "thiserror",
- "tpm2",
- "usb_util",
- "uuid",
- "vfio_sys",
- "vhost",
- "virtio_sys",
- "vm_control",
- "vm_memory",
- "vmm_vhost",
-]
-
-[[package]]
-name = "disk"
-version = "0.1.0"
-dependencies = [
- "async-trait",
- "base",
- "cfg-if",
- "crc32fast",
- "cros_async",
- "data_model",
- "futures",
- "libc",
- "protobuf",
- "protos",
- "remain",
- "serde",
- "tempfile",
- "thiserror",
- "uuid",
- "vm_memory",
-]
-
-[[package]]
-name = "downcast-rs"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
-
-[[package]]
-name = "either"
-version = "1.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
-
-[[package]]
-name = "enumn"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "038b1afa59052df211f9efd58f8b1d84c242935ede1c3dbaed26b018a9e06ae2"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
-dependencies = [
- "atty",
- "humantime",
- "log",
- "regex",
- "termcolor",
-]
-
-[[package]]
-name = "fastrand"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
-dependencies = [
- "instant",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
-[[package]]
-name = "fuse"
-version = "0.1.0"
-dependencies = [
- "base",
- "bitflags",
- "crossbeam-utils",
- "data_model",
- "enumn",
- "libc",
- "remain",
- "thiserror",
-]
-
-[[package]]
-name = "futures"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
-
-[[package]]
-name = "futures-executor"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6"
-dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
- "num_cpus",
-]
-
-[[package]]
-name = "futures-io"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
-
-[[package]]
-name = "futures-macro"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
-
-[[package]]
-name = "futures-task"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
-
-[[package]]
-name = "futures-util"
-version = "0.3.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
-]
-
-[[package]]
-name = "gdbstub"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c1f9371c87c11642ee94dcf92cb48b1484ba250b8e8bff3df71c28651f3f4e7"
-dependencies = [
- "bitflags",
- "cfg-if",
- "log",
- "managed",
- "num-traits",
- "paste",
-]
-
-[[package]]
-name = "gdbstub_arch"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c24f469ba9556c5a063d6df35a8a338025fccf96ecae44f330a156b686f7a268"
-dependencies = [
- "gdbstub",
- "num-traits",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "gpu_display"
-version = "0.1.0"
-dependencies = [
- "base",
- "cc",
- "data_model",
- "libc",
- "linux_input_sys",
- "pkg-config",
- "remain",
- "thiserror",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "heck"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
-name = "hypervisor"
-version = "0.1.0"
-dependencies = [
- "base",
- "bit_field",
- "bitflags",
- "data_model",
- "downcast-rs",
- "enumn",
- "fnv",
- "kvm",
- "kvm_sys",
- "libc",
- "memoffset 0.6.5",
- "serde",
- "sync",
- "tempfile",
- "vm_memory",
- "win_util",
- "winapi",
-]
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808cf7d67cf4a22adc5be66e75ebdf769b3f2ea032041437a7061f97a63dad4b"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "js-sys",
- "wasm-bindgen",
- "winapi",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
-dependencies = [
- "autocfg 1.1.0",
- "hashbrown",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "integration_tests"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "arch",
- "base",
- "libc",
- "tempfile",
-]
-
-[[package]]
-name = "intrusive-collections"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfe531a7789d7120f3e17d4f3f2cd95f54418ba7354f60b7b622b6644a07888a"
-dependencies = [
- "memoffset 0.5.6",
-]
-
-[[package]]
-name = "io_uring"
-version = "0.1.1"
-dependencies = [
- "base",
- "data_model",
- "libc",
- "remain",
- "sync",
- "tempfile",
- "thiserror",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
-
-[[package]]
-name = "js-sys"
-version = "0.3.59"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "kernel_cmdline"
-version = "0.1.0"
-dependencies = [
- "libc",
- "remain",
- "thiserror",
-]
-
-[[package]]
-name = "kernel_loader"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
- "libc",
- "remain",
- "tempfile",
- "thiserror",
- "vm_memory",
-]
-
-[[package]]
-name = "kvm"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
- "kvm_sys",
- "libc",
- "sync",
- "vm_memory",
-]
-
-[[package]]
-name = "kvm_sys"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
- "libc",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.131"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04c3b4822ccebfa39c02fc03d1534441b22ead323fa0f48bb7ddd8e6ba076a40"
-
-[[package]]
-name = "libcras"
-version = "0.1.0"
-
-[[package]]
-name = "libdbus-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c185b5b7ad900923ef3a8ff594083d4d9b5aea80bb4f32b8342363138c0d456b"
-dependencies = [
- "pkg-config",
-]
-
-[[package]]
-name = "libslirp-sys"
-version = "4.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2772370ce9b7fa05c7eae0bd033005e139a64d52cee498a7905b3eb5d243c5f4"
-dependencies = [
- "pkg-config",
-]
-
-[[package]]
-name = "libvda"
-version = "0.1.0"
-dependencies = [
- "enumn",
- "libc",
- "pkg-config",
-]
-
-[[package]]
-name = "linux_input_sys"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
- "libc",
-]
-
-[[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "managed"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d"
-
-[[package]]
-name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "memoffset"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "metrics"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "base",
- "cfg-if",
- "chrono",
- "lazy_static",
- "libc",
- "protobuf",
- "protoc-rust",
- "serde",
- "serde_json",
- "sync",
- "winapi",
- "wmi",
-]
-
-[[package]]
-name = "minijail"
-version = "0.2.3"
-dependencies = [
- "libc",
- "minijail-sys",
-]
-
-[[package]]
-name = "minijail-sys"
-version = "0.0.13"
-dependencies = [
- "libc",
- "pkg-config",
- "which",
-]
-
-[[package]]
-name = "net_sys"
-version = "0.1.0"
-dependencies = [
- "base",
- "libc",
-]
-
-[[package]]
-name = "net_util"
-version = "0.1.0"
-dependencies = [
- "base",
- "cfg-if",
- "cros_async",
- "data_model",
- "libc",
- "libslirp-sys",
- "metrics",
- "net_sys",
- "pcap-file",
- "remain",
- "serde",
- "smallvec",
- "thiserror",
- "virtio_sys",
- "winapi",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg 1.1.0",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
-
-[[package]]
-name = "p9"
-version = "0.1.0"
-dependencies = [
- "libc",
- "wire_format_derive",
-]
-
-[[package]]
-name = "paste"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9423e2b32f7a043629287a536f21951e8c6a82482d0acb1eeebfc90bc2225b22"
-
-[[package]]
-name = "pcap-file"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ad13fed1a83120159aea81b265074f21d753d157dd16b10cc3790ecba40a341"
-dependencies = [
- "byteorder",
- "derive-into-owned",
- "thiserror",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "pkg-config"
-version = "0.3.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
-
-[[package]]
-name = "power_monitor"
-version = "0.1.0"
-dependencies = [
- "base",
- "dbus",
- "protobuf",
- "protoc-rust",
- "remain",
- "thiserror",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.43"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "protobuf"
-version = "2.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf7e6d18738ecd0902d30d1ad232c9125985a3422929b16c65517b38adc14f96"
-dependencies = [
- "serde",
- "serde_derive",
-]
-
-[[package]]
-name = "protobuf-codegen"
-version = "2.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aec1632b7c8f2e620343439a7dfd1f3c47b18906c4be58982079911482b5d707"
-dependencies = [
- "protobuf",
-]
-
-[[package]]
-name = "protoc"
-version = "2.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2ef1dc036942fac2470fdb8a911f125404ee9129e9e807f3d12d8589001a38f"
-dependencies = [
- "log",
- "which",
-]
-
-[[package]]
-name = "protoc-rust"
-version = "2.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a9e315121c8e7e21396e940a3d27f92280a6d28e3931213bf6cbfea76c5cc94"
-dependencies = [
- "protobuf",
- "protobuf-codegen",
- "protoc",
- "tempfile",
-]
-
-[[package]]
-name = "protos"
-version = "0.1.0"
-dependencies = [
- "kvm_sys",
- "protobuf",
- "protoc-rust",
-]
-
-[[package]]
-name = "qcow_utils"
-version = "0.1.0"
-dependencies = [
- "base",
- "disk",
- "libc",
-]
-
-[[package]]
-name = "quote"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
-
-[[package]]
-name = "quote"
-version = "1.0.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.8",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg",
- "rand_xorshift",
- "winapi",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.3",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.3",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
-dependencies = [
- "getrandom 0.2.7",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "regex"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
-
-[[package]]
-name = "remain"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06df529c0d271b27ac4a2c260f5ce2914b60bd44702cecec7b9f271adbdde23b"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "resources"
-version = "0.1.0"
-dependencies = [
- "base",
- "libc",
- "remain",
- "serde",
- "thiserror",
-]
-
-[[package]]
-name = "rutabaga_gfx"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "base",
- "data_model",
- "libc",
- "pkg-config",
- "remain",
- "serde",
- "sync",
- "thiserror",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
-
-[[package]]
-name = "scudo"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a043122e575636c0e47121917446b4f40803fc6defd8797369e7d2d47086d8e3"
-dependencies = [
- "libc",
- "scudo-sys",
-]
-
-[[package]]
-name = "scudo-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7aedac72a22df5e73d23abf6b26a9b124a3e10f0e5cc74b9aa8121c7e14cf106"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "serde"
-version = "1.0.143"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.143"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3d8e8de557aee63c26b85b947f5e59b690d0454c753f3adeb5cd7835ab88391"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.83"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_keyvalue"
-version = "0.1.0"
-dependencies = [
- "argh",
- "num-traits",
- "remain",
- "serde",
- "serde_keyvalue_derive",
- "thiserror",
-]
-
-[[package]]
-name = "serde_keyvalue_derive"
-version = "0.1.0"
-dependencies = [
- "argh",
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
-dependencies = [
- "autocfg 1.1.0",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
-
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "syn"
-version = "0.11.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
-dependencies = [
- "quote 0.3.15",
- "synom",
- "unicode-xid",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.99"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "unicode-ident",
-]
-
-[[package]]
-name = "sync"
-version = "0.1.0"
-
-[[package]]
-name = "synom"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
-name = "system_api"
-version = "0.1.0"
-
-[[package]]
-name = "tempfile"
-version = "3.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
-dependencies = [
- "cfg-if",
- "fastrand",
- "libc",
- "redox_syscall",
- "remove_dir_all",
- "winapi",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "terminal_size"
-version = "0.1.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5f6586b7f764adc0231f4c79be7b920e766bb2f3e51b3661cdb263828f19994"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12bafc5b54507e0149cdf1b145a5d80ab80a90bcd9275df43d4fff68460f6c21"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "time"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
-]
-
-[[package]]
-name = "toml"
-version = "0.5.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "tpm2"
-version = "0.1.0"
-dependencies = [
- "tpm2-sys",
-]
-
-[[package]]
-name = "tpm2-sys"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "pkg-config",
-]
-
-[[package]]
-name = "tube_transporter"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
- "rand 0.8.5",
- "serde",
- "serde_json",
- "thiserror",
- "win_util",
- "winapi",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
-
-[[package]]
-name = "unicode-xid"
-version = "0.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
-
-[[package]]
-name = "usb_sys"
-version = "0.1.0"
-dependencies = [
- "base",
-]
-
-[[package]]
-name = "usb_util"
-version = "0.1.0"
-dependencies = [
- "assertions",
- "base",
- "data_model",
- "libc",
- "remain",
- "thiserror",
- "usb_sys",
-]
-
-[[package]]
-name = "uuid"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
-dependencies = [
- "getrandom 0.2.7",
-]
-
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[package]]
-name = "vfio_sys"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
-]
-
-[[package]]
-name = "vhost"
-version = "0.1.0"
-dependencies = [
- "assertions",
- "base",
- "libc",
- "net_util",
- "remain",
- "thiserror",
- "virtio_sys",
- "vm_memory",
-]
-
-[[package]]
-name = "virtio_sys"
-version = "0.1.0"
-dependencies = [
- "base",
- "data_model",
-]
-
-[[package]]
-name = "vm_control"
-version = "0.1.0"
-dependencies = [
- "balloon_control",
- "base",
- "data_model",
- "gdbstub_arch",
- "hypervisor",
- "libc",
- "remain",
- "resources",
- "rutabaga_gfx",
- "serde",
- "serde_json",
- "sync",
- "thiserror",
- "vm_memory",
-]
-
-[[package]]
-name = "vm_memory"
-version = "0.1.0"
-dependencies = [
- "base",
- "bitflags",
- "cfg-if",
- "cros_async",
- "data_model",
- "libc",
- "remain",
- "serde",
- "thiserror",
-]
-
-[[package]]
-name = "vmm_vhost"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "base",
- "bitflags",
- "cfg-if",
- "data_model",
- "libc",
- "remain",
- "serde",
- "serde_json",
- "tempfile",
- "thiserror",
-]
-
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.82"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.82"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
-dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.82"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
-dependencies = [
- "quote 1.0.21",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.82"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.82"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
-
-[[package]]
-name = "which"
-version = "4.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae"
-dependencies = [
- "either",
- "lazy_static",
- "libc",
-]
-
-[[package]]
-name = "widestring"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983"
-
-[[package]]
-name = "win_util"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "lazy_static",
- "libc",
- "winapi",
- "windows",
-]
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a43e544233e20425d5a58e9671cf76d6aed9e6f211508c050facb29b188dc10f"
-dependencies = [
- "const-sha1",
- "windows_gen",
- "windows_macros",
-]
-
-[[package]]
-name = "windows_gen"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc6283570a39b3594e31c64a498f48058758cc063eb087d972bb6476ad134a16"
-
-[[package]]
-name = "windows_macros"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f757e7665f81f33ace9f89b0f0fc3a7c770e24ff4fa1475c6503bb35b4524893"
-dependencies = [
- "syn 1.0.99",
- "windows_gen",
-]
-
-[[package]]
-name = "wire_format_derive"
-version = "0.1.0"
-dependencies = [
- "proc-macro2",
- "quote 1.0.21",
- "syn 1.0.99",
-]
-
-[[package]]
-name = "wmi"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "757a458f9bfab0542c11feed99bd492cbe23add50515bd8eecf8c6973673d32d"
-dependencies = [
- "chrono",
- "log",
- "serde",
- "thiserror",
- "widestring",
- "winapi",
-]
-
-[[package]]
-name = "x86_64"
-version = "0.1.0"
-dependencies = [
- "acpi_tables",
- "anyhow",
- "arch",
- "assertions",
- "base",
- "data_model",
- "devices",
- "gdbstub_arch",
- "hypervisor",
- "kernel_cmdline",
- "kernel_loader",
- "libc",
- "minijail",
- "once_cell",
- "remain",
- "resources",
- "sync",
- "thiserror",
- "vm_control",
- "vm_memory",
-]
diff --git a/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff
deleted file mode 100644
index 0af27df9a1926..0000000000000
--- a/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git i/src/crosvm.rs w/src/crosvm.rs
-index ab7c466b..636dc140 100644
---- i/src/crosvm.rs
-+++ w/src/crosvm.rs
-@@ -345,7 +345,9 @@ impl Default for JailConfig {
-     fn default() -> Self {
-         JailConfig {
-             pivot_root: PathBuf::from(option_env!("DEFAULT_PIVOT_ROOT").unwrap_or("/var/empty")),
--            seccomp_policy_dir: PathBuf::from(SECCOMP_POLICY_DIR),
-+            seccomp_policy_dir: PathBuf::from(
-+                option_env!("DEFAULT_SECCOMP_POLICY_DIR").unwrap_or(SECCOMP_POLICY_DIR),
-+            ),
-             seccomp_log_failures: false,
-         }
-     }
diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix
index a4de1433ae735..11d8f2223656f 100644
--- a/pkgs/applications/virtualization/crosvm/default.nix
+++ b/pkgs/applications/virtualization/crosvm/default.nix
@@ -1,60 +1,56 @@
-{ stdenv, lib, rustPlatform, fetchgit
-, minijail-tools, pkg-config, protobuf, wayland-scanner
+{ stdenv, lib, rust, rustPlatform, fetchgit, fetchpatch
+, clang, pkg-config, protobuf, python3, wayland-scanner
 , libcap, libdrm, libepoxy, minijail, virglrenderer, wayland, wayland-protocols
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "crosvm";
-  version = "104.0";
+  version = "107.1";
 
   src = fetchgit {
-    url = "https://chromium.googlesource.com/crosvm/crosvm";
-    rev = "265aab613b1eb31598ea0826f04810d9f010a2c6";
-    sha256 = "OzbtPHs6BWK83RZ/6eCQHA61X6SY8FoBkaN70a37pvc=";
+    url = "https://chromium.googlesource.com/chromiumos/platform/crosvm";
+    rev = "5a49a836e63aa6e9ae38b80daa09a013a57bfb7f";
+    sha256 = "F+5i3R7Tbd9xF63Olnyavzg/hD+8HId1duWm8bvAmLA=";
     fetchSubmodules = true;
   };
 
   separateDebugInfo = true;
 
   patches = [
-    ./default-seccomp-policy-dir.diff
+    # Backport seccomp sandbox update for recent Glibc.
+    # fetchpatch is not currently gerrit/gitiles-compatible, so we
+    # have to use the mirror.
+    # https://github.com/NixOS/nixpkgs/pull/133604
+    (fetchpatch {
+      url = "https://github.com/google/crosvm/commit/aae01416807e7c15270b3d44162610bcd73952ff.patch";
+      sha256 = "nQuOMOwBu8QvfwDSuTz64SQhr2dF9qXt2NarbIU55tU=";
+    })
   ];
 
-  cargoLock.lockFile = ./Cargo.lock;
+  cargoSha256 = "1jg9x5adz1lbqdwnzld4xg4igzmh90nd9xm287cgkvh5fbmsjfjv";
 
-  nativeBuildInputs = [ minijail-tools pkg-config protobuf wayland-scanner ];
+  nativeBuildInputs = [ clang pkg-config protobuf python3 wayland-scanner ];
 
   buildInputs = [
     libcap libdrm libepoxy minijail virglrenderer wayland wayland-protocols
   ];
 
-  arch = stdenv.hostPlatform.parsed.cpu.name;
-
-  postPatch = ''
-    cp ${cargoLock.lockFile} Cargo.lock
-    sed -i "s|/usr/share/policy/crosvm/|$PWD/seccomp/$arch/|g" \
-        seccomp/$arch/*.policy
+  preConfigure = ''
+    patchShebangs third_party/minijail/tools/*.py
+    substituteInPlace build.rs --replace '"clang"' '"${stdenv.cc.targetPrefix}clang"'
   '';
 
-  preBuild = ''
-    export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy
-
-    for policy in seccomp/$arch/*.policy; do
-        compile_seccomp_policy \
-            --default-action trap $policy ''${policy%.policy}.bpf
-    done
+  "CARGO_TARGET_${lib.toUpper (builtins.replaceStrings ["-"] ["_"] (rust.toRustTarget stdenv.hostPlatform))}_LINKER" =
+    "${stdenv.cc.targetPrefix}cc";
 
-    substituteInPlace seccomp/$arch/*.policy \
-      --replace "@include $(pwd)/seccomp/$arch/" "@include $out/share/policy/"
-  '';
+  # crosvm mistakenly expects the stable protocols to be in the root
+  # of the pkgdatadir path, rather than under the "stable"
+  # subdirectory.
+  PKG_CONFIG_WAYLAND_PROTOCOLS_PKGDATADIR =
+    "${wayland-protocols}/share/wayland-protocols/stable";
 
   buildFeatures = [ "default" "virgl_renderer" "virgl_renderer_next" ];
 
-  postInstall = ''
-    mkdir -p $out/share/policy/
-    cp -v seccomp/$arch/*.{policy,bpf} $out/share/policy/
-  '';
-
   passthru.updateScript = ./update.py;
 
   meta = with lib; {
diff --git a/pkgs/applications/virtualization/crosvm/generate-cargo.sh b/pkgs/applications/virtualization/crosvm/generate-cargo.sh
deleted file mode 100644
index 216cafe367ca1..0000000000000
--- a/pkgs/applications/virtualization/crosvm/generate-cargo.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-dir="$(mktemp -d)" &&
-    cd "$dir" &&
-    unpackPhase &&
-    cd "${sourceRoot:-}" &&
-    cargo generate-lockfile &&
-    mv Cargo.lock "$1"
-rm -rf "$dir"
diff --git a/pkgs/applications/virtualization/crosvm/update.py b/pkgs/applications/virtualization/crosvm/update.py
index d912c49078c68..7a94aedefdb67 100755
--- a/pkgs/applications/virtualization/crosvm/update.py
+++ b/pkgs/applications/virtualization/crosvm/update.py
@@ -34,7 +34,7 @@ with urlopen('https://chromiumdash.appspot.com/cros/download_serving_builds_csv?
 
 chrome_major_version = chrome_version[0]
 chromeos_tip_build = platform_version[0]
-release_branch = f'release-R{chrome_major_version}-{chromeos_tip_build}.B-chromeos'
+release_branch = f'release-R{chrome_major_version}-{chromeos_tip_build}.B'
 
 # Determine the git revision.
 with urlopen(f'https://chromium.googlesource.com/chromiumos/platform/crosvm/+/refs/heads/{release_branch}?format=JSON') as resp:
@@ -50,16 +50,3 @@ with urlopen(f'https://chromium.googlesource.com/chromiumos/platform/crosvm/+log
 
 # Update the version, git revision, and hash in crosvm's default.nix.
 subprocess.run(['update-source-version', 'crosvm', f'--rev={rev}', version])
-
-# Find the path to crosvm's default.nix, so Cargo.lock can be written
-# into the same directory.
-argv = ['nix-instantiate', '--eval', '--json', '-A', 'crosvm.meta.position']
-position = json.loads(subprocess.check_output(argv).decode('utf-8'))
-filename = re.match(r'[^:]*', position)[0]
-
-# Generate a Cargo.lock
-run = ['.',
-       dirname(abspath(__file__)) + '/generate-cargo.sh',
-       dirname(filename) + '/Cargo.lock']
-expr = '(import ./. {}).crosvm.overrideAttrs (_: { dontCargoSetupPostUnpack = true; })'
-subprocess.run(['nix-shell', '-E', expr, '--run', shlex.join(run)])
diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix
index b0b3c4abd9165..d0131eacdd37e 100644
--- a/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/pkgs/applications/virtualization/podman/wrapper.nix
@@ -5,7 +5,6 @@
 , lib
 , stdenv
 , extraPackages ? []
-, podman # Docker compat
 , runc # Default container runtime
 , crun # Container runtime (default with cgroups v2 for podman/buildah)
 , conmon # Container runtime monitor
@@ -23,8 +22,6 @@
 # adding aardvark-dns/netavark to `helpersBin` requires changes to the modules and tests
 
 let
-  podman = podman-unwrapped;
-
   binPath = lib.makeBinPath ([
   ] ++ lib.optionals stdenv.isLinux [
     runc
@@ -38,24 +35,24 @@ let
   ] ++ extraPackages);
 
   helpersBin = symlinkJoin {
-    name = "${podman.pname}-helper-binary-wrapper-${podman.version}";
+    name = "${podman-unwrapped.pname}-helper-binary-wrapper-${podman-unwrapped.version}";
 
     # this only works for some binaries, others may need to be be added to `binPath` or in the modules
     paths = [
       gvproxy
     ] ++ lib.optionals stdenv.isLinux [
       catatonit # added here for the pause image and also set in `containersConf` for `init_path`
-      podman.rootlessport
+      podman-unwrapped.rootlessport
     ];
   };
 
-in runCommand podman.name {
-  name = "${podman.pname}-wrapper-${podman.version}";
-  inherit (podman) pname version passthru;
+in runCommand podman-unwrapped.name {
+  name = "${podman-unwrapped.pname}-wrapper-${podman-unwrapped.version}";
+  inherit (podman-unwrapped) pname version passthru;
 
   preferLocalBuild = true;
 
-  meta = builtins.removeAttrs podman.meta [ "outputsToInstall" ];
+  meta = builtins.removeAttrs podman-unwrapped.meta [ "outputsToInstall" ];
 
   outputs = [
     "out"
@@ -67,7 +64,7 @@ in runCommand podman.name {
   ];
 
 } ''
-  ln -s ${podman.man} $man
+  ln -s ${podman-unwrapped.man} $man
 
   mkdir -p $out/bin
   ln -s ${podman-unwrapped}/etc $out/etc
diff --git a/pkgs/applications/window-managers/gamescope/default.nix b/pkgs/applications/window-managers/gamescope/default.nix
index 7e4003c68046f..7fdffc27f6526 100644
--- a/pkgs/applications/window-managers/gamescope/default.nix
+++ b/pkgs/applications/window-managers/gamescope/default.nix
@@ -26,7 +26,7 @@
 }:
 let
   pname = "gamescope";
-  version = "3.11.48";
+  version = "3.11.49";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
     owner = "Plagman";
     repo = "gamescope";
     rev = "refs/tags/${version}";
-    hash = "sha256-/a0fW0NVIrg9tuK+mg+D+IOcq3rJJxKdFwspM1ZRR9M=";
+    hash = "sha256-GRq/b013wFRHzFz2YCulJRtcwzX/dhJKd8dkATSLug0=";
   };
 
   patches = [ ./use-pkgconfig.patch ];
@@ -85,7 +85,7 @@ stdenv.mkDerivation {
     description = "SteamOS session compositing window manager";
     homepage = "https://github.com/Plagman/gamescope";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ nrdxp ];
+    maintainers = with maintainers; [ nrdxp zhaofengli ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix
index 332fd509e421d..d71ff01362d25 100644
--- a/pkgs/applications/window-managers/phosh/default.nix
+++ b/pkgs/applications/window-managers/phosh/default.nix
@@ -28,6 +28,7 @@
 , polkit
 , libsecret
 , evolution-data-server
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
@@ -122,6 +123,8 @@ stdenv.mkDerivation rec {
     providedSessions = [
       "sm.puri.Phosh"
     ];
+
+    tests.phosh = nixosTests.phosh;
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/window-managers/picom/default.nix b/pkgs/applications/window-managers/picom/default.nix
index b5a524a38b49e..86329782255d9 100644
--- a/pkgs/applications/window-managers/picom/default.nix
+++ b/pkgs/applications/window-managers/picom/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "picom";
-  version = "9.1";
+  version = "10";
 
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
     rev = "v${version}";
-    sha256 = "sha256-Fqk6bPAOg4muxmSP+ezpGUNw6xrMWchZACKemeA08mA=";
+    sha256 = "sha256-ACQBgAYtJ4OOQIismNYJB3z426GmlyUtXXbH06eRsgg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/build-support/kernel/make-initrd-ng.nix b/pkgs/build-support/kernel/make-initrd-ng.nix
index e762464fc4893..dc0e9b87db2ab 100644
--- a/pkgs/build-support/kernel/make-initrd-ng.nix
+++ b/pkgs/build-support/kernel/make-initrd-ng.nix
@@ -76,7 +76,7 @@ in
 
   nativeBuildInputs = [makeInitrdNGTool cpio] ++ lib.optional makeUInitrd ubootTools ++ lib.optional strip binutils;
 
-  STRIP = if strip then "${(binutils.nativeDrv or binutils).targetPrefix}strip" else null;
+  STRIP = if strip then "${pkgsBuildHost.binutils.targetPrefix}strip" else null;
 }) ''
   mkdir ./root
   make-initrd-ng "$contentsPath" ./root
diff --git a/pkgs/build-support/make-symlinks/builder.sh b/pkgs/build-support/make-symlinks/builder.sh
deleted file mode 100644
index 70f1d2ca1b25a..0000000000000
--- a/pkgs/build-support/make-symlinks/builder.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-source $stdenv/setup
-
-mkdir $out
-for file in $files
-do
-  subdir=`dirname $file`
-  mkdir -p $out/$subdir
-  ln -s $dir/$file $out/$file
-done
diff --git a/pkgs/build-support/make-symlinks/default.nix b/pkgs/build-support/make-symlinks/default.nix
deleted file mode 100644
index 30584aceb9f89..0000000000000
--- a/pkgs/build-support/make-symlinks/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{name ? "", stdenv, dir, files}:
-
-stdenv.mkDerivation {
-  inherit dir files;
-  name = if name == "" then dir.name else name;
-  builder = ./builder.sh;
-}
diff --git a/pkgs/build-support/node/build-npm-package/hooks/default.nix b/pkgs/build-support/node/build-npm-package/hooks/default.nix
index d2293ed42f793..4ac981af916cf 100644
--- a/pkgs/build-support/node/build-npm-package/hooks/default.nix
+++ b/pkgs/build-support/node/build-npm-package/hooks/default.nix
@@ -1,4 +1,4 @@
-{ lib, makeSetupHook, nodejs, srcOnly, diffutils, jq, makeWrapper }:
+{ lib, makeSetupHook, nodejs, srcOnly, buildPackages, makeWrapper }:
 
 {
   npmConfigHook = makeSetupHook
@@ -9,9 +9,8 @@
 
         # Specify the stdenv's `diff` and `jq` by abspath to ensure that the user's build
         # inputs do not cause us to find the wrong binaries.
-        # The `.nativeDrv` stanza works like nativeBuildInputs and ensures cross-compiling has the right version available.
-        diff = "${diffutils.nativeDrv or diffutils}/bin/diff";
-        jq = "${jq.nativeDrv or jq}/bin/jq";
+        diff = "${buildPackages.diffutils}/bin/diff";
+        jq = "${buildPackages.jq}/bin/jq";
 
         nodeVersion = nodejs.version;
         nodeVersionMajor = lib.versions.major nodejs.version;
@@ -29,7 +28,7 @@
       deps = [ makeWrapper ];
       substitutions = {
         hostNode = "${nodejs}/bin/node";
-        jq = "${jq.nativeDrv or jq}/bin/jq";
+        jq = "${buildPackages.jq}/bin/jq";
       };
     } ./npm-install-hook.sh;
 }
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 5129777c9d51e..473a91f9ce07e 100644
--- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -189,9 +189,21 @@ in ''
      EXTRA_LINK=$(sed -n "s/^cargo:rustc-link-lib=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ')
      EXTRA_LINK_SEARCH=$(sed -n "s/^cargo:rustc-link-search=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
 
+     # We want to read part of every line that has cargo:rustc-env= prefix and
+     # export it as environment variables. This turns out tricky if the lines
+     # have spaces: we can't wrap the command in double quotes as that captures
+     # all the lines in single output. We can't use while read loop because
+     # exporting from inside of it doesn't make it to the outside scope. We
+     # can't use xargs as export is a built-in and does not work from it. As a
+     # last resort then, we change the IFS so that the for loop does not split
+     # on spaces and reset it after we are done. See ticket #199298.
+     #
+     _OLDIFS="$IFS"
+     IFS=$'\n'
      for env in $(sed -n "s/^cargo:rustc-env=\(.*\)/\1/p" target/build/${crateName}.opt); do
-       export $env
+       export "$env"
      done
+     IFS="$_OLDIFS"
 
      CRATENAME=$(echo ${crateName} | sed -e "s/\(.*\)-sys$/\U\1/" -e "s/-/_/g")
      grep -P "^cargo:(?!(rustc-|warning=|rerun-if-changed=|rerun-if-env-changed))" target/build/${crateName}.opt \
diff --git a/pkgs/build-support/rust/hooks/default.nix b/pkgs/build-support/rust/hooks/default.nix
index 9d3fc9b126ef6..6ee122adb52a1 100644
--- a/pkgs/build-support/rust/hooks/default.nix
+++ b/pkgs/build-support/rust/hooks/default.nix
@@ -2,7 +2,6 @@
 , callPackage
 , cargo
 , clang
-, diffutils
 , lib
 , makeSetupHook
 , maturin
@@ -65,8 +64,7 @@ in {
 
         # Specify the stdenv's `diff` by abspath to ensure that the user's build
         # inputs do not cause us to find the wrong `diff`.
-        # The `.nativeDrv` stanza works like nativeBuildInputs and ensures cross-compiling has the right version available.
-        diff = "${diffutils.nativeDrv or diffutils}/bin/diff";
+        diff = "${lib.getBin buildPackages.diffutils}/bin/diff";
 
         # We want to specify the correct crt-static flag for both
         # the build and host platforms. This is important when the wanted
diff --git a/pkgs/data/fonts/google-fonts/default.nix b/pkgs/data/fonts/google-fonts/default.nix
index 8b11e5d504aee..b1abb26f9f200 100644
--- a/pkgs/data/fonts/google-fonts/default.nix
+++ b/pkgs/data/fonts/google-fonts/default.nix
@@ -1,27 +1,35 @@
-{ lib, stdenvNoCC, fetchFromGitHub }:
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, fonts ? []
+}:
 
 stdenvNoCC.mkDerivation {
   pname = "google-fonts";
-  version = "unstable-2022-02-26";
+  version = "unstable-2022-11-14";
 
+  # Adobe Blank is split out in a seperate output,
+  # because it causes crashes with `libfontconfig`.
+  # It has an absurd number of symbols
   outputs = [ "out" "adobeBlank" ];
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "fonts";
-    rev = "2fba0d68602b7eb3374d030c1c34939de56023f9";
-    sha256 = "sha256-IFkKwRRyZeOXD8/9n8UDrruUKK6oQK4BD9wYN2dmSAc=";
+    rev = "83e116a566eda04a2469a11ee562cef1d7b33e4f";
+    sha256 = "sha256-sSabk+VWkoXj1Nzv9ufgIU/nkfKf4XkZU1SO+j+eSPA=";
   };
 
-  patchPhase = ''
+  postPatch = ''
     # These directories need to be removed because they contain
     # older or duplicate versions of fonts also present in other
     # directories. This causes non-determinism in the install since
     # the installation order of font files with the same name is not
     # fixed.
     rm -rv ofl/cabincondensed \
-           ofl/signikanegative \
-           ofl/signikanegativesc
+      ofl/signikanegative \
+      ofl/signikanegativesc \
+      axisregistry/tests/data
 
     if find . -name "*.ttf" | sed 's|.*/||' | sort | uniq -c | sort -n | grep -v '^.*1 '; then
       echo "error: duplicate font names"
@@ -31,13 +39,26 @@ stdenvNoCC.mkDerivation {
 
   dontBuild = true;
 
+  # The font files are in the fonts directory and use two naming schemes:
+  # FamilyName-StyleName.ttf and FamilyName[param1,param2,...].ttf
+  # This installs all fonts if fonts is empty and otherwise only
+  # the specified fonts by FamilyName. To do this, it invokes
+  # `find` 2 times for every font, anyone is free to do this
+  # in a more efficient way.
+  fonts = map (font: builtins.replaceStrings [" "] [""] font) fonts;
   installPhase = ''
     adobeBlankDest=$adobeBlank/share/fonts/truetype
     install -m 444 -Dt $adobeBlankDest ofl/adobeblank/AdobeBlank-Regular.ttf
     rm -r ofl/adobeblank
     dest=$out/share/fonts/truetype
+  '' + (if fonts == [] then ''
     find . -name '*.ttf' -exec install -m 444 -Dt $dest '{}' +
-  '';
+  '' else ''
+    for font in $fonts; do
+      find . -name "$font-*.ttf" -exec install -m 444 -Dt $dest '{}' +
+      find . -name "$font[*.ttf" -exec install -m 444 -Dt $dest '{}' +
+    done
+  '');
 
   meta = with lib; {
     homepage = "https://fonts.google.com";
diff --git a/pkgs/data/icons/numix-icon-theme/default.nix b/pkgs/data/icons/numix-icon-theme/default.nix
index 410439da6ca68..cb425ee00cb51 100644
--- a/pkgs/data/icons/numix-icon-theme/default.nix
+++ b/pkgs/data/icons/numix-icon-theme/default.nix
@@ -11,13 +11,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "numix-icon-theme";
-  version = "22.08.16";
+  version = "22.11.17";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-EveIr5XYyQYhz0AqZQBql3j0LnD8taNdzB/6IV7Mz2k=";
+    sha256 = "sha256-B6Yg9NkPBpByMMV4GcEBmOlSKx1s0MClGWL2RWIJMwA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/icons/whitesur-icon-theme/default.nix b/pkgs/data/icons/whitesur-icon-theme/default.nix
index 6270d2a664298..80f6b5ce24ae3 100644
--- a/pkgs/data/icons/whitesur-icon-theme/default.nix
+++ b/pkgs/data/icons/whitesur-icon-theme/default.nix
@@ -9,8 +9,7 @@
 , themeVariants ? []
 }:
 
-let
-  pname = "Whitesur-icon-theme";
+let pname = "Whitesur-icon-theme";
 in
 lib.checkListOfEnum "${pname}: theme variants" [
   "default"
@@ -27,13 +26,13 @@ lib.checkListOfEnum "${pname}: theme variants" [
 
 stdenvNoCC.mkDerivation rec {
   inherit pname;
-  version = "2022-08-30";
+  version = "2022-11-17";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "pcvRD4CUwUT46/kmMbnerj5mqPCcHIRreVIh9wz6Kfg=";
+    hash = "sha256-crZ6JQeXeSjTHGIBptioNiFZas7MksJcjaKGlMP4fo0=";
   };
 
   nativeBuildInputs = [ gtk3 jdupes ];
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 29dfcfc10cfb8..5b654ec8ad0da 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "7e2dca1338ee7f19dbb8cdbc81e9eb1716bbf64e",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/7e2dca1338ee7f19dbb8cdbc81e9eb1716bbf64e.tar.gz",
-  "sha256": "1vrhv9w042sn2sm3niiy5640qvhiqn79zllp4vsbdpds758rj9vm",
-  "msg": "Update from Hackage at 2022-11-03T21:09:38Z"
+  "commit": "e2ccf8a8796c9192280f796ce0f5d98ec783f856",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/e2ccf8a8796c9192280f796ce0f5d98ec783f856.tar.gz",
+  "sha256": "092g4pbxyhkw1isbib967v5aw16iqs3w5iqcicv1irr4rphsr06z",
+  "msg": "Update from Hackage at 2022-11-11T17:48:48Z"
 }
diff --git a/pkgs/data/misc/v2ray-geoip/default.nix b/pkgs/data/misc/v2ray-geoip/default.nix
index 52183660ad04c..66eb722ad91a9 100644
--- a/pkgs/data/misc/v2ray-geoip/default.nix
+++ b/pkgs/data/misc/v2ray-geoip/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "v2ray-geoip";
-  version = "202211100058";
+  version = "202211170054";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "geoip";
-    rev = "6fcf11f003829b16b534a710a26549b741e81311";
-    sha256 = "sha256-XlqfXRJa4xnw8lqC94TfRcXVW/8L7hrqENfC7A7rTpI=";
+    rev = "e01c82114de0b2f3a2e8c80c78fc22e8fb71f68a";
+    sha256 = "sha256-T94G1s3vTkh0pd2ByOpOwJDPn7geaHbnBB7w1K9qwps=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/themes/adw-gtk3/default.nix b/pkgs/data/themes/adw-gtk3/default.nix
index a22a7beac51d6..c9159d505e364 100644
--- a/pkgs/data/themes/adw-gtk3/default.nix
+++ b/pkgs/data/themes/adw-gtk3/default.nix
@@ -9,13 +9,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "adw-gtk3";
-  version = "4.0";
+  version = "4.1";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PR0MmTOXGrMicRLXqIOUpCVSu68HeCaG2z/o+lbHnjk=";
+    sha256 = "sha256-7E+eBbsavWdraCxxtwFdvFkxTWN/XMz8obvnpxf6PQc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/extensions/emoji-selector/default.nix b/pkgs/desktops/gnome/extensions/emoji-selector/default.nix
deleted file mode 100644
index bb89315108763..0000000000000
--- a/pkgs/desktops/gnome/extensions/emoji-selector/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, glib, gettext }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-shell-extension-emoji-selector";
-  version = "22";
-
-  src = fetchFromGitHub {
-    owner = "maoschanz";
-    repo = "emoji-selector-for-gnome";
-    rev = version;
-    sha256 = "sha256-sD/xlNrs2ntI7KaPMopT5CnFyuXd9ZKuKPNQYgiho0U=";
-  };
-
-  passthru = {
-    extensionUuid = "emoji-selector@maestroschan.fr";
-    extensionPortalSlug = "emoji-selector";
-  };
-
-  nativeBuildInputs = [ glib ];
-
-  buildPhase = ''
-    runHook preBuild
-    glib-compile-schemas "./emoji-selector@maestroschan.fr/schemas"
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/share/gnome-shell/extensions
-    cp -r "emoji-selector@maestroschan.fr" $out/share/gnome-shell/extensions
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description =
-      "GNOME Shell extension providing a searchable popup menu displaying most emojis";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ rawkode ];
-    homepage = "https://github.com/maoschanz/emoji-selector-for-gnome";
-  };
-}
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index 1132047c1a14b..37f376dbb2802 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -15,7 +15,7 @@
 , {"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": "22", "sha256": "00sph5bz2q77shsqh6yf9lmb3bp6ryx6crrz0gi7s70i4byji991", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iZXJ0b2xkaWEvZ25vbWUtc2hlbGwtdHJhc2gtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "22", "sha256": "00sph5bz2q77shsqh6yf9lmb3bp6ryx6crrz0gi7s70i4byji991", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iZXJ0b2xkaWEvZ25vbWUtc2hlbGwtdHJhc2gtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "42": {"version": "22", "sha256": "00sph5bz2q77shsqh6yf9lmb3bp6ryx6crrz0gi7s70i4byji991", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iZXJ0b2xkaWEvZ25vbWUtc2hlbGwtdHJhc2gtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "43": {"version": "22", "sha256": "00sph5bz2q77shsqh6yf9lmb3bp6ryx6crrz0gi7s70i4byji991", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iZXJ0b2xkaWEvZ25vbWUtc2hlbGwtdHJhc2gtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
-, {"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": "21", "sha256": "04rm692pwmm9lxl9x3igab6akxfjn6l7y7lfchwl1zc1cyj3lfrk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmFuYW5lbmZpc2NoL1JlY2VudEl0ZW1zIiwKICAidXVpZCI6ICJSZWNlbnRJdGVtc0BiYW5hbmVuZmlzY2gubmV0IiwKICAidmVyc2lvbiI6IDIxCn0="}, "41": {"version": "21", "sha256": "04rm692pwmm9lxl9x3igab6akxfjn6l7y7lfchwl1zc1cyj3lfrk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmFuYW5lbmZpc2NoL1JlY2VudEl0ZW1zIiwKICAidXVpZCI6ICJSZWNlbnRJdGVtc0BiYW5hbmVuZmlzY2gubmV0IiwKICAidmVyc2lvbiI6IDIxCn0="}, "42": {"version": "21", "sha256": "04rm692pwmm9lxl9x3igab6akxfjn6l7y7lfchwl1zc1cyj3lfrk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmFuYW5lbmZpc2NoL1JlY2VudEl0ZW1zIiwKICAidXVpZCI6ICJSZWNlbnRJdGVtc0BiYW5hbmVuZmlzY2gubmV0IiwKICAidmVyc2lvbiI6IDIxCn0="}}}
+, {"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": "22", "sha256": "17xgw3iqcznlsfqjfs99bb5s1h7wlg37xjn9rar1hqpl7dsy84nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JhbmFuZW5maXNjaC9SZWNlbnRJdGVtcyIsCiAgInV1aWQiOiAiUmVjZW50SXRlbXNAYmFuYW5lbmZpc2NoLm5ldCIsCiAgInZlcnNpb24iOiAyMgp9"}, "41": {"version": "22", "sha256": "17xgw3iqcznlsfqjfs99bb5s1h7wlg37xjn9rar1hqpl7dsy84nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JhbmFuZW5maXNjaC9SZWNlbnRJdGVtcyIsCiAgInV1aWQiOiAiUmVjZW50SXRlbXNAYmFuYW5lbmZpc2NoLm5ldCIsCiAgInZlcnNpb24iOiAyMgp9"}, "42": {"version": "22", "sha256": "17xgw3iqcznlsfqjfs99bb5s1h7wlg37xjn9rar1hqpl7dsy84nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JhbmFuZW5maXNjaC9SZWNlbnRJdGVtcyIsCiAgInV1aWQiOiAiUmVjZW50SXRlbXNAYmFuYW5lbmZpc2NoLm5ldCIsCiAgInZlcnNpb24iOiAyMgp9"}, "43": {"version": "22", "sha256": "17xgw3iqcznlsfqjfs99bb5s1h7wlg37xjn9rar1hqpl7dsy84nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JhbmFuZW5maXNjaC9SZWNlbnRJdGVtcyIsCiAgInV1aWQiOiAiUmVjZW50SXRlbXNAYmFuYW5lbmZpc2NoLm5ldCIsCiAgInZlcnNpb24iOiAyMgp9"}}}
 , {"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="}, "42": {"version": "55", "sha256": "16ff2fbv8vf9cgzrxy85vis9a5bgbkn1lb21brpxsf9gs5kk4v8k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RtbzYwL0NvdmVyZmxvd0FsdFRhYiIsCiAgInV1aWQiOiAiQ292ZXJmbG93QWx0VGFiQHBhbGF0aXMuYmxvZ3Nwb3QuY29tIiwKICAidmVyc2lvbiI6IDU1Cn0="}, "43": {"version": "55", "sha256": "16ff2fbv8vf9cgzrxy85vis9a5bgbkn1lb21brpxsf9gs5kk4v8k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RtbzYwL0NvdmVyZmxvd0FsdFRhYiIsCiAgInV1aWQiOiAiQ292ZXJmbG93QWx0VGFiQHBhbGF0aXMuYmxvZ3Nwb3QuY29tIiwKICAidmVyc2lvbiI6IDU1Cn0="}}}
 , {"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=="}}}
@@ -51,7 +51,7 @@
 , {"uuid": "ShellTile@emasab.it", "name": "ShellTile", "pname": "shelltile", "description": "A tiling window extension for GNOME Shell. Just move a window to the edges of the screen to create a tiling, otherwise move a window over another one, holding down the Control key. Grouped windows minimize, resize, raise and change workspace together. Move or maximize a window to remove it from the group.", "link": "https://extensions.gnome.org/extension/657/shelltile/", "shell_version_map": {"38": {"version": "69", "sha256": "1kpsqaq2fcj1z3jcbvgh23c8k6bv9l6vyl05kpw0fclzsmy60mh1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgdGlsaW5nIHdpbmRvdyBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBKdXN0IG1vdmUgYSB3aW5kb3cgdG8gdGhlIGVkZ2VzIG9mIHRoZSBzY3JlZW4gdG8gY3JlYXRlIGEgdGlsaW5nLCBvdGhlcndpc2UgbW92ZSBhIHdpbmRvdyBvdmVyIGFub3RoZXIgb25lLCBob2xkaW5nIGRvd24gdGhlIENvbnRyb2wga2V5LiBHcm91cGVkIHdpbmRvd3MgbWluaW1pemUsIHJlc2l6ZSwgcmFpc2UgYW5kIGNoYW5nZSB3b3Jrc3BhY2UgdG9nZXRoZXIuIE1vdmUgb3IgbWF4aW1pemUgYSB3aW5kb3cgdG8gcmVtb3ZlIGl0IGZyb20gdGhlIGdyb3VwLiIsCiAgImdldHRleHQtZG9tYWluIjogInNoZWxsdGlsZSIsCiAgIm5hbWUiOiAiU2hlbGxUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNoZWxsdGlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW1hc2FiL3NoZWxsdGlsZSIsCiAgInV1aWQiOiAiU2hlbGxUaWxlQGVtYXNhYi5pdCIsCiAgInZlcnNpb24iOiA2OQp9"}}}
 , {"uuid": "lunarcal@ailin.nemui", "name": "Lunar Calendar 农历", "pname": "lunar-calendar", "description": "Display Chinese Lunar Calendar in panel\n\n⚠⚠⚠ dependency: typelib-1_0-LunarDate-3_0 / gir1.2-lunar-date-2.0", "link": "https://extensions.gnome.org/extension/675/lunar-calendar/", "shell_version_map": {"38": {"version": "25", "sha256": "1pj439wdsqpxim6p4d0y09v40kdjga908hagxfyvq0fzjykc51rn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "30", "sha256": "0k8740vjail6ld8vgq3ilbkz2kzjfzwaaah8l3dzn5spvfsmgmb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDMwCn0="}, "41": {"version": "30", "sha256": "0k8740vjail6ld8vgq3ilbkz2kzjfzwaaah8l3dzn5spvfsmgmb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDMwCn0="}, "42": {"version": "30", "sha256": "0k8740vjail6ld8vgq3ilbkz2kzjfzwaaah8l3dzn5spvfsmgmb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDMwCn0="}, "43": {"version": "30", "sha256": "0k8740vjail6ld8vgq3ilbkz2kzjfzwaaah8l3dzn5spvfsmgmb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImx1bmFyY2FsQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDMwCn0="}}}
 , {"uuid": "EasyScreenCast@iacopodeenosee.gmail.com", "name": "EasyScreenCast", "pname": "easyscreencast", "description": "This extension simplifies the use of the video recording function integrated in gnome shell, allows quickly to change the various settings of the desktop recording.\n\nSOURCE CODE ->  https://github.com/EasyScreenCast/EasyScreenCast\n\nVIDEO ->  https://youtu.be/81E9AruraKU\n\n**NOTICE**\nif an error occurs during the update is recommended to reload GNOME Shell (Alt + F2, 'r') and reload the extension's installation page.", "link": "https://extensions.gnome.org/extension/690/easyscreencast/", "shell_version_map": {"38": {"version": "46", "sha256": "1hg4148gi2zpwba8x0vxibz7n4zqm1xn7cpl9mr9cinr9m2ixrl3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FYXN5U2NyZWVuQ2FzdC9FYXN5U2NyZWVuQ2FzdCIsCiAgInV1aWQiOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "40": {"version": "46", "sha256": "1hg4148gi2zpwba8x0vxibz7n4zqm1xn7cpl9mr9cinr9m2ixrl3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FYXN5U2NyZWVuQ2FzdC9FYXN5U2NyZWVuQ2FzdCIsCiAgInV1aWQiOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "41": {"version": "46", "sha256": "1hg4148gi2zpwba8x0vxibz7n4zqm1xn7cpl9mr9cinr9m2ixrl3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FYXN5U2NyZWVuQ2FzdC9FYXN5U2NyZWVuQ2FzdCIsCiAgInV1aWQiOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "42": {"version": "46", "sha256": "1hg4148gi2zpwba8x0vxibz7n4zqm1xn7cpl9mr9cinr9m2ixrl3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FYXN5U2NyZWVuQ2FzdC9FYXN5U2NyZWVuQ2FzdCIsCiAgInV1aWQiOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "43": {"version": "46", "sha256": "1hg4148gi2zpwba8x0vxibz7n4zqm1xn7cpl9mr9cinr9m2ixrl3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0+ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLT4gIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FYXN5U2NyZWVuQ2FzdC9FYXN5U2NyZWVuQ2FzdCIsCiAgInV1aWQiOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}}}
-, {"uuid": "scroll-workspaces@gfxmonk.net", "name": "Top Panel Workspace Scroll", "pname": "top-panel-workspace-scroll", "description": "Change workspaces by scrolling over the top panel", "link": "https://extensions.gnome.org/extension/701/top-panel-workspace-scroll/", "shell_version_map": {"40": {"version": "31", "sha256": "0zc37qnzmnc4l9j8q23bxl59xxwz31pk4wc3vamzwgz65ncjn469", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2Z4bW9uay9nbm9tZS1zaGVsbC1zY3JvbGwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAic2Nyb2xsLXdvcmtzcGFjZXNAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}, "41": {"version": "31", "sha256": "0zc37qnzmnc4l9j8q23bxl59xxwz31pk4wc3vamzwgz65ncjn469", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2Z4bW9uay9nbm9tZS1zaGVsbC1zY3JvbGwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAic2Nyb2xsLXdvcmtzcGFjZXNAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}, "42": {"version": "31", "sha256": "0zc37qnzmnc4l9j8q23bxl59xxwz31pk4wc3vamzwgz65ncjn469", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2Z4bW9uay9nbm9tZS1zaGVsbC1zY3JvbGwtd29ya3NwYWNlcyIsCiAgInV1aWQiOiAic2Nyb2xsLXdvcmtzcGFjZXNAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}}}
+, {"uuid": "scroll-workspaces@gfxmonk.net", "name": "Top Panel Workspace Scroll", "pname": "top-panel-workspace-scroll", "description": "Change workspaces by scrolling over the top panel", "link": "https://extensions.gnome.org/extension/701/top-panel-workspace-scroll/", "shell_version_map": {"40": {"version": "32", "sha256": "0lfklqnwjrvd0ndsbaspr58d5grf33pbaghw8pbhgf564mfj5946", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dmeG1vbmsvZ25vbWUtc2hlbGwtc2Nyb2xsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInNjcm9sbC13b3Jrc3BhY2VzQGdmeG1vbmsubmV0IiwKICAidmVyc2lvbiI6IDMyCn0="}, "41": {"version": "32", "sha256": "0lfklqnwjrvd0ndsbaspr58d5grf33pbaghw8pbhgf564mfj5946", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dmeG1vbmsvZ25vbWUtc2hlbGwtc2Nyb2xsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInNjcm9sbC13b3Jrc3BhY2VzQGdmeG1vbmsubmV0IiwKICAidmVyc2lvbiI6IDMyCn0="}, "42": {"version": "32", "sha256": "0lfklqnwjrvd0ndsbaspr58d5grf33pbaghw8pbhgf564mfj5946", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dmeG1vbmsvZ25vbWUtc2hlbGwtc2Nyb2xsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInNjcm9sbC13b3Jrc3BhY2VzQGdmeG1vbmsubmV0IiwKICAidmVyc2lvbiI6IDMyCn0="}, "43": {"version": "32", "sha256": "0lfklqnwjrvd0ndsbaspr58d5grf33pbaghw8pbhgf564mfj5946", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dmeG1vbmsvZ25vbWUtc2hlbGwtc2Nyb2xsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInNjcm9sbC13b3Jrc3BhY2VzQGdmeG1vbmsubmV0IiwKICAidmVyc2lvbiI6IDMyCn0="}}}
 , {"uuid": "all-windows@ezix.org", "name": "All Windows", "pname": "all-windows", "description": "List open windows of all workspaces", "link": "https://extensions.gnome.org/extension/704/all-windows/", "shell_version_map": {"40": {"version": "13", "sha256": "19cxrgxpim2dca6llbi8cr34hjx3pab2i4687803r96cp2hsg07l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzIiwKICAibmFtZSI6ICJBbGwgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHlvbmVsL2FsbC13aW5kb3dzIiwKICAidXVpZCI6ICJhbGwtd2luZG93c0Bleml4Lm9yZyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "19cxrgxpim2dca6llbi8cr34hjx3pab2i4687803r96cp2hsg07l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzIiwKICAibmFtZSI6ICJBbGwgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHlvbmVsL2FsbC13aW5kb3dzIiwKICAidXVpZCI6ICJhbGwtd2luZG93c0Bleml4Lm9yZyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "panel-osd@berend.de.schouwer.gmail.com", "name": "Panel OSD", "pname": "panel-osd", "description": "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\nConfiguring where on the (main) screen notifications will appear, instead of just above the message tray", "link": "https://extensions.gnome.org/extension/708/panel-osd/", "shell_version_map": {"38": {"version": "39", "sha256": "12mv6fcaanv6r3zrf7717jqzq5mndy25gqh6y7hqh9cmyssakis2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkknbSBzb3JyeSB0byBzYXksIHRoYXQgSSBhbSBub3QgYWJsZSB0byB3b3JrIG9uIHRoaXMgcHJvamVjdCBhbnltb3JlLlxuSSBzaW1wbHkgZG9uJ3QgaGF2ZSB0aGUgcG93ZXIgdG8gZG8gaXQgYW55IGxvbmdlci5cbklmIGFueWJvZHkgd2FudHMgdG8gdGFrZSBpdCBvdmVyLCBmZWVsIGZyZWUgdG8gZm9yayBpdC5cbkJlc3Qgd2lzaGVzIHRvIGFsbCB0aGUgdXNlcnMuXG5cbkplbnNcblxuQ29uZmlndXJpbmcgd2hlcmUgb24gdGhlIChtYWluKSBzY3JlZW4gbm90aWZpY2F0aW9ucyB3aWxsIGFwcGVhciwgaW5zdGVhZCBvZiBqdXN0IGFib3ZlIHRoZSBtZXNzYWdlIHRyYXkiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlBhbmVsIE9TRCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2plbnNsb2R5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1wYW5lbC1vc2QiLAogICJ1dWlkIjogInBhbmVsLW9zZEBiZXJlbmQuZGUuc2Nob3V3ZXIuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM5Cn0="}, "40": {"version": "40", "sha256": "16bqq0w6xrzix74xwhj2pyj22scszvspc770w1pkdhmj54mypwks", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkknbSBzb3JyeSB0byBzYXksIHRoYXQgSSBhbSBub3QgYWJsZSB0byB3b3JrIG9uIHRoaXMgcHJvamVjdCBhbnltb3JlLlxuSSBzaW1wbHkgZG9uJ3QgaGF2ZSB0aGUgcG93ZXIgdG8gZG8gaXQgYW55IGxvbmdlci5cbklmIGFueWJvZHkgd2FudHMgdG8gdGFrZSBpdCBvdmVyLCBmZWVsIGZyZWUgdG8gZm9yayBpdC5cbkJlc3Qgd2lzaGVzIHRvIGFsbCB0aGUgdXNlcnMuXG5cbkplbnNcblxuQ29uZmlndXJpbmcgd2hlcmUgb24gdGhlIChtYWluKSBzY3JlZW4gbm90aWZpY2F0aW9ucyB3aWxsIGFwcGVhciwgaW5zdGVhZCBvZiBqdXN0IGFib3ZlIHRoZSBtZXNzYWdlIHRyYXkiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlBhbmVsIE9TRCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qZW5zbG9keS9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWwtb3NkIiwKICAidXVpZCI6ICJwYW5lbC1vc2RAYmVyZW5kLmRlLnNjaG91d2VyLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MAp9"}}}
 , {"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=="}}}
@@ -71,7 +71,7 @@
 , {"uuid": "keyman@dpoetzsch.github.com", "name": "KeyMan", "pname": "keyman", "description": "Access passwords from the gnome keyring in a convenient way:\nSimply search for your password and copy it to clipboad by clicking it. After a certain amount of time it will be removed automatically (default is 5 seconds). As this only works if the keyrings are unlocked, this extension also provides easy access to lock/unlock keyrings.", "link": "https://extensions.gnome.org/extension/819/keyman/", "shell_version_map": {"40": {"version": "20", "sha256": "1wd76bdnzs7mxwwyvffw0fm8r8chsblz3dinpwiyc5d5kmlnyv5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBwYXNzd29yZHMgZnJvbSB0aGUgZ25vbWUga2V5cmluZyBpbiBhIGNvbnZlbmllbnQgd2F5OlxuU2ltcGx5IHNlYXJjaCBmb3IgeW91ciBwYXNzd29yZCBhbmQgY29weSBpdCB0byBjbGlwYm9hZCBieSBjbGlja2luZyBpdC4gQWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGl0IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5IChkZWZhdWx0IGlzIDUgc2Vjb25kcykuIEFzIHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2V5cmluZ3MgYXJlIHVubG9ja2VkLCB0aGlzIGV4dGVuc2lvbiBhbHNvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvY2svdW5sb2NrIGtleXJpbmdzLiIsCiAgIm5hbWUiOiAiS2V5TWFuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrZXltYW5AcG9laGUuZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtleW1hbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kcG9ldHpzY2gva2V5bWFuIiwKICAidXVpZCI6ICJrZXltYW5AZHBvZXR6c2NoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "23", "sha256": "1qvvwx0h7bakwy1a65vafy0kvlvkmy58kznzrm3zg2ng31279nfr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBwYXNzd29yZHMgZnJvbSB0aGUgZ25vbWUga2V5cmluZyBpbiBhIGNvbnZlbmllbnQgd2F5OlxuU2ltcGx5IHNlYXJjaCBmb3IgeW91ciBwYXNzd29yZCBhbmQgY29weSBpdCB0byBjbGlwYm9hZCBieSBjbGlja2luZyBpdC4gQWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGl0IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5IChkZWZhdWx0IGlzIDUgc2Vjb25kcykuIEFzIHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2V5cmluZ3MgYXJlIHVubG9ja2VkLCB0aGlzIGV4dGVuc2lvbiBhbHNvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvY2svdW5sb2NrIGtleXJpbmdzLiIsCiAgIm5hbWUiOiAiS2V5TWFuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrZXltYW5AcG9laGUuZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtleW1hbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Rwb2V0enNjaC9rZXltYW4iLAogICJ1dWlkIjogImtleW1hbkBkcG9ldHpzY2guZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}, "42": {"version": "23", "sha256": "1qvvwx0h7bakwy1a65vafy0kvlvkmy58kznzrm3zg2ng31279nfr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBwYXNzd29yZHMgZnJvbSB0aGUgZ25vbWUga2V5cmluZyBpbiBhIGNvbnZlbmllbnQgd2F5OlxuU2ltcGx5IHNlYXJjaCBmb3IgeW91ciBwYXNzd29yZCBhbmQgY29weSBpdCB0byBjbGlwYm9hZCBieSBjbGlja2luZyBpdC4gQWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGl0IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5IChkZWZhdWx0IGlzIDUgc2Vjb25kcykuIEFzIHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2V5cmluZ3MgYXJlIHVubG9ja2VkLCB0aGlzIGV4dGVuc2lvbiBhbHNvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvY2svdW5sb2NrIGtleXJpbmdzLiIsCiAgIm5hbWUiOiAiS2V5TWFuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrZXltYW5AcG9laGUuZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtleW1hbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Rwb2V0enNjaC9rZXltYW4iLAogICJ1dWlkIjogImtleW1hbkBkcG9ldHpzY2guZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}, "43": {"version": "23", "sha256": "1qvvwx0h7bakwy1a65vafy0kvlvkmy58kznzrm3zg2ng31279nfr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBwYXNzd29yZHMgZnJvbSB0aGUgZ25vbWUga2V5cmluZyBpbiBhIGNvbnZlbmllbnQgd2F5OlxuU2ltcGx5IHNlYXJjaCBmb3IgeW91ciBwYXNzd29yZCBhbmQgY29weSBpdCB0byBjbGlwYm9hZCBieSBjbGlja2luZyBpdC4gQWZ0ZXIgYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIGl0IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5IChkZWZhdWx0IGlzIDUgc2Vjb25kcykuIEFzIHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2V5cmluZ3MgYXJlIHVubG9ja2VkLCB0aGlzIGV4dGVuc2lvbiBhbHNvIHByb3ZpZGVzIGVhc3kgYWNjZXNzIHRvIGxvY2svdW5sb2NrIGtleXJpbmdzLiIsCiAgIm5hbWUiOiAiS2V5TWFuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrZXltYW5AcG9laGUuZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtleW1hbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Rwb2V0enNjaC9rZXltYW4iLAogICJ1dWlkIjogImtleW1hbkBkcG9ldHpzY2guZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}}}
 , {"uuid": "time_tracker_jsnjack@gmail.com", "name": "Time Tracker", "pname": "time-tracker", "description": "Helps track time", "link": "https://extensions.gnome.org/extension/823/time-tracker/", "shell_version_map": {"40": {"version": "23", "sha256": "1q1jh3s6k6pmjssjmhzajmcr1qxdz4854fyfja0vbwcvxd6a8ff2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhlbHBzIHRyYWNrIHRpbWUiLAogICJuYW1lIjogIlRpbWUgVHJhY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aW1lLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pzbmphY2svdGltZS10cmFja2VyLyIsCiAgInV1aWQiOiAidGltZV90cmFja2VyX2pzbmphY2tAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "1q1jh3s6k6pmjssjmhzajmcr1qxdz4854fyfja0vbwcvxd6a8ff2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhlbHBzIHRyYWNrIHRpbWUiLAogICJuYW1lIjogIlRpbWUgVHJhY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aW1lLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pzbmphY2svdGltZS10cmFja2VyLyIsCiAgInV1aWQiOiAidGltZV90cmFja2VyX2pzbmphY2tAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"uuid": "pwcalc@thilomaurer.de", "name": "Password Calculator", "pname": "password-calculator", "description": "This extension calculates strong passwords for each alias from your single secret. No need to remember dozens of passwords any longer. No need for a password manager any longer. Full freedom in choosing aliases and secret, e.g. alias: \"username@google.com#2014\", secret: \"saFe⚿in漢字\". Recent aliases are kept in a easily accessible drop-down. You may choose between HMAC_SHA1 and SHA1. The formula is as simple as \"[secret][alias]\" → SHA1 → BASE64 ", "link": "https://extensions.gnome.org/extension/825/password-calculator/", "shell_version_map": {"40": {"version": "26", "sha256": "18n86hy3a3gs3xfw6f88rag8gpvl742j8fmd6syp4wpgpqpvv7rx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNhbGN1bGF0ZXMgc3Ryb25nIHBhc3N3b3JkcyBmb3IgZWFjaCBhbGlhcyBmcm9tIHlvdXIgc2luZ2xlIHNlY3JldC4gTm8gbmVlZCB0byByZW1lbWJlciBkb3plbnMgb2YgcGFzc3dvcmRzIGFueSBsb25nZXIuIE5vIG5lZWQgZm9yIGEgcGFzc3dvcmQgbWFuYWdlciBhbnkgbG9uZ2VyLiBGdWxsIGZyZWVkb20gaW4gY2hvb3NpbmcgYWxpYXNlcyBhbmQgc2VjcmV0LCBlLmcuIGFsaWFzOiBcInVzZXJuYW1lQGdvb2dsZS5jb20jMjAxNFwiLCBzZWNyZXQ6IFwic2FGZVx1MjZiZmluXHU2ZjIyXHU1YjU3XCIuIFJlY2VudCBhbGlhc2VzIGFyZSBrZXB0IGluIGEgZWFzaWx5IGFjY2Vzc2libGUgZHJvcC1kb3duLiBZb3UgbWF5IGNob29zZSBiZXR3ZWVuIEhNQUNfU0hBMSBhbmQgU0hBMS4gVGhlIGZvcm11bGEgaXMgYXMgc2ltcGxlIGFzIFwiW3NlY3JldF1bYWxpYXNdXCIgXHUyMTkyIFNIQTEgXHUyMTkyIEJBU0U2NCAiLAogICJuYW1lIjogIlBhc3N3b3JkIENhbGN1bGF0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHdjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGlsb21hdXJlci9wd2NhbGMiLAogICJ1dWlkIjogInB3Y2FsY0B0aGlsb21hdXJlci5kZSIsCiAgInZlcnNpb24iOiAyNgp9"}, "42": {"version": "26", "sha256": "18n86hy3a3gs3xfw6f88rag8gpvl742j8fmd6syp4wpgpqpvv7rx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNhbGN1bGF0ZXMgc3Ryb25nIHBhc3N3b3JkcyBmb3IgZWFjaCBhbGlhcyBmcm9tIHlvdXIgc2luZ2xlIHNlY3JldC4gTm8gbmVlZCB0byByZW1lbWJlciBkb3plbnMgb2YgcGFzc3dvcmRzIGFueSBsb25nZXIuIE5vIG5lZWQgZm9yIGEgcGFzc3dvcmQgbWFuYWdlciBhbnkgbG9uZ2VyLiBGdWxsIGZyZWVkb20gaW4gY2hvb3NpbmcgYWxpYXNlcyBhbmQgc2VjcmV0LCBlLmcuIGFsaWFzOiBcInVzZXJuYW1lQGdvb2dsZS5jb20jMjAxNFwiLCBzZWNyZXQ6IFwic2FGZVx1MjZiZmluXHU2ZjIyXHU1YjU3XCIuIFJlY2VudCBhbGlhc2VzIGFyZSBrZXB0IGluIGEgZWFzaWx5IGFjY2Vzc2libGUgZHJvcC1kb3duLiBZb3UgbWF5IGNob29zZSBiZXR3ZWVuIEhNQUNfU0hBMSBhbmQgU0hBMS4gVGhlIGZvcm11bGEgaXMgYXMgc2ltcGxlIGFzIFwiW3NlY3JldF1bYWxpYXNdXCIgXHUyMTkyIFNIQTEgXHUyMTkyIEJBU0U2NCAiLAogICJuYW1lIjogIlBhc3N3b3JkIENhbGN1bGF0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHdjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGlsb21hdXJlci9wd2NhbGMiLAogICJ1dWlkIjogInB3Y2FsY0B0aGlsb21hdXJlci5kZSIsCiAgInZlcnNpb24iOiAyNgp9"}}}
-, {"uuid": "SwitchFocusType@romano.rgtti.com", "name": "Switch Focus Type", "pname": "switch-focus-type", "description": "Toggle between focus-follow-mouse and click-to-focus mode", "link": "https://extensions.gnome.org/extension/827/switch-focus-type/", "shell_version_map": {"38": {"version": "9", "sha256": "111mpxr8r4n5x18z4zqkvp8w3r89i3wksppfs1wmc8hhxnslvyk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JtYW5vL2dzZS1zd2l0Y2gtZm9jdXMtbW9kZSIsCiAgInV1aWQiOiAiU3dpdGNoRm9jdXNUeXBlQHJvbWFuby5yZ3R0aS5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "111mpxr8r4n5x18z4zqkvp8w3r89i3wksppfs1wmc8hhxnslvyk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JtYW5vL2dzZS1zd2l0Y2gtZm9jdXMtbW9kZSIsCiAgInV1aWQiOiAiU3dpdGNoRm9jdXNUeXBlQHJvbWFuby5yZ3R0aS5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "111mpxr8r4n5x18z4zqkvp8w3r89i3wksppfs1wmc8hhxnslvyk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JtYW5vL2dzZS1zd2l0Y2gtZm9jdXMtbW9kZSIsCiAgInV1aWQiOiAiU3dpdGNoRm9jdXNUeXBlQHJvbWFuby5yZ3R0aS5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "111mpxr8r4n5x18z4zqkvp8w3r89i3wksppfs1wmc8hhxnslvyk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JtYW5vL2dzZS1zd2l0Y2gtZm9jdXMtbW9kZSIsCiAgInV1aWQiOiAiU3dpdGNoRm9jdXNUeXBlQHJvbWFuby5yZ3R0aS5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
+, {"uuid": "SwitchFocusType@romano.rgtti.com", "name": "Switch Focus Type", "pname": "switch-focus-type", "description": "Toggle between focus-follow-mouse and click-to-focus mode", "link": "https://extensions.gnome.org/extension/827/switch-focus-type/", "shell_version_map": {"38": {"version": "10", "sha256": "120x66v9xfpfn2a3nd907khh560695104ghjs84kgwjh65ah0cc4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SbWFuby9nc2Utc3dpdGNoLWZvY3VzLW1vZGUiLAogICJ1dWlkIjogIlN3aXRjaEZvY3VzVHlwZUByb21hbm8ucmd0dGkuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "120x66v9xfpfn2a3nd907khh560695104ghjs84kgwjh65ah0cc4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SbWFuby9nc2Utc3dpdGNoLWZvY3VzLW1vZGUiLAogICJ1dWlkIjogIlN3aXRjaEZvY3VzVHlwZUByb21hbm8ucmd0dGkuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "120x66v9xfpfn2a3nd907khh560695104ghjs84kgwjh65ah0cc4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SbWFuby9nc2Utc3dpdGNoLWZvY3VzLW1vZGUiLAogICJ1dWlkIjogIlN3aXRjaEZvY3VzVHlwZUByb21hbm8ucmd0dGkuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "120x66v9xfpfn2a3nd907khh560695104ghjs84kgwjh65ah0cc4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SbWFuby9nc2Utc3dpdGNoLWZvY3VzLW1vZGUiLAogICJ1dWlkIjogIlN3aXRjaEZvY3VzVHlwZUByb21hbm8ucmd0dGkuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "43": {"version": "10", "sha256": "120x66v9xfpfn2a3nd907khh560695104ghjs84kgwjh65ah0cc4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBiZXR3ZWVuIGZvY3VzLWZvbGxvdy1tb3VzZSBhbmQgY2xpY2stdG8tZm9jdXMgbW9kZSIsCiAgIm5hbWUiOiAiU3dpdGNoIEZvY3VzIFR5cGUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIlJvbWFubyBHaWFubmV0dGkgPHJvbWFuby5naWFubmV0dGlAZ21haWwuY29tPiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SbWFuby9nc2Utc3dpdGNoLWZvY3VzLW1vZGUiLAogICJ1dWlkIjogIlN3aXRjaEZvY3VzVHlwZUByb21hbm8ucmd0dGkuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "radio@hslbck.gmail.com", "name": "Internet Radio", "pname": "internet-radio", "description": "Listen to an Internet Radio Stream", "link": "https://extensions.gnome.org/extension/836/internet-radio/", "shell_version_map": {"38": {"version": "14", "sha256": "013wbf3npz7f438i39cd41s6whs4lgaigv4i1zais994n9ybw5y9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBhbiBJbnRlcm5ldCBSYWRpbyBTdHJlYW0iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyYWRpb0Boc2xiY2suZ21haWwuY29tIiwKICAibmFtZSI6ICJJbnRlcm5ldCBSYWRpbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzbGJjay9nbm9tZS1zaGVsbC1leHRlbnNpb24tcmFkaW8iLAogICJ1dWlkIjogInJhZGlvQGhzbGJjay5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "19", "sha256": "046lh1yhaa2yp64n0ax1abzlw26avnr8z1yc3v6wral9xkz5c94h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBhbiBJbnRlcm5ldCBSYWRpbyBTdHJlYW0iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyYWRpb0Boc2xiY2suZ21haWwuY29tIiwKICAibmFtZSI6ICJJbnRlcm5ldCBSYWRpbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzbGJjay9nbm9tZS1zaGVsbC1leHRlbnNpb24tcmFkaW8iLAogICJ1dWlkIjogInJhZGlvQGhzbGJjay5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "046lh1yhaa2yp64n0ax1abzlw26avnr8z1yc3v6wral9xkz5c94h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBhbiBJbnRlcm5ldCBSYWRpbyBTdHJlYW0iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyYWRpb0Boc2xiY2suZ21haWwuY29tIiwKICAibmFtZSI6ICJJbnRlcm5ldCBSYWRpbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzbGJjay9nbm9tZS1zaGVsbC1leHRlbnNpb24tcmFkaW8iLAogICJ1dWlkIjogInJhZGlvQGhzbGJjay5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "42": {"version": "19", "sha256": "046lh1yhaa2yp64n0ax1abzlw26avnr8z1yc3v6wral9xkz5c94h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBhbiBJbnRlcm5ldCBSYWRpbyBTdHJlYW0iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyYWRpb0Boc2xiY2suZ21haWwuY29tIiwKICAibmFtZSI6ICJJbnRlcm5ldCBSYWRpbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzbGJjay9nbm9tZS1zaGVsbC1leHRlbnNpb24tcmFkaW8iLAogICJ1dWlkIjogInJhZGlvQGhzbGJjay5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "freon@UshakovVasilii_Github.yahoo.com", "name": "Freon", "pname": "freon", "description": "Shows CPU temperature, disk temperature, video card temperature (NVIDIA/Catalyst/Bumblebee&NVIDIA), voltage and fan RPM (forked from xtranophilist/gnome-shell-extension-sensors)", "link": "https://extensions.gnome.org/extension/841/freon/", "shell_version_map": {"38": {"version": "43", "sha256": "06jj01flj6iyx93aqz8ipzijnrammp6xqpgqwxfh0pf2clr6nwrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1VzaGFrb3ZWYXNpbGlpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mcmVvbiIsCiAgInV1aWQiOiAiZnJlb25AVXNoYWtvdlZhc2lsaWlfR2l0aHViLnlhaG9vLmNvbSIsCiAgInZlcnNpb24iOiA0Mwp9"}, "40": {"version": "50", "sha256": "16dc5zf25kc4mga3srb69cji7girv6z314s8k3nabm9whk8jfrg4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Vc2hha292VmFzaWxpaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZnJlb24iLAogICJ1dWlkIjogImZyZW9uQFVzaGFrb3ZWYXNpbGlpX0dpdGh1Yi55YWhvby5jb20iLAogICJ2ZXJzaW9uIjogNTAKfQ=="}, "41": {"version": "50", "sha256": "16dc5zf25kc4mga3srb69cji7girv6z314s8k3nabm9whk8jfrg4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Vc2hha292VmFzaWxpaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZnJlb24iLAogICJ1dWlkIjogImZyZW9uQFVzaGFrb3ZWYXNpbGlpX0dpdGh1Yi55YWhvby5jb20iLAogICJ2ZXJzaW9uIjogNTAKfQ=="}, "42": {"version": "50", "sha256": "16dc5zf25kc4mga3srb69cji7girv6z314s8k3nabm9whk8jfrg4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Vc2hha292VmFzaWxpaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZnJlb24iLAogICJ1dWlkIjogImZyZW9uQFVzaGFrb3ZWYXNpbGlpX0dpdGh1Yi55YWhvby5jb20iLAogICJ2ZXJzaW9uIjogNTAKfQ=="}, "43": {"version": "50", "sha256": "16dc5zf25kc4mga3srb69cji7girv6z314s8k3nabm9whk8jfrg4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIENQVSB0ZW1wZXJhdHVyZSwgZGlzayB0ZW1wZXJhdHVyZSwgdmlkZW8gY2FyZCB0ZW1wZXJhdHVyZSAoTlZJRElBL0NhdGFseXN0L0J1bWJsZWJlZSZOVklESUEpLCB2b2x0YWdlIGFuZCBmYW4gUlBNIChmb3JrZWQgZnJvbSB4dHJhbm9waGlsaXN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZW5zb3JzKSIsCiAgImdldHRleHQtZG9tYWluIjogImZyZW9uIiwKICAibmFtZSI6ICJGcmVvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Vc2hha292VmFzaWxpaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZnJlb24iLAogICJ1dWlkIjogImZyZW9uQFVzaGFrb3ZWYXNpbGlpX0dpdGh1Yi55YWhvby5jb20iLAogICJ2ZXJzaW9uIjogNTAKfQ=="}}}
 , {"uuid": "shell-volume-mixer@derhofbauer.at", "name": "Volume Mixer", "pname": "volume-mixer", "description": "Applet allowing separate configuration of PulseAudio mixers.\n\nShell Volume Mixer is an extension for GNOME Shell allowing separate configuration of PulseAudio devices and output switches. It features a profile switcher to quickly switch between pinned profiles and devices.\n\nMiddle mouse click on a slider mutes the selected stream.\n\nPlease file bugs and feature requests on the GitHub page.", "link": "https://extensions.gnome.org/extension/858/volume-mixer/", "shell_version_map": {"38": {"version": "39", "sha256": "1cnyapjvqri5k5m4nbcmbcx97b4akwv32h7ddav2ipahqh1lqqzj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxldCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gbWl4ZXJzLlxuXG5TaGVsbCBWb2x1bWUgTWl4ZXIgaXMgYW4gZXh0ZW5zaW9uIGZvciBHTk9NRSBTaGVsbCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gZGV2aWNlcyBhbmQgb3V0cHV0IHN3aXRjaGVzLiBJdCBmZWF0dXJlcyBhIHByb2ZpbGUgc3dpdGNoZXIgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiBwaW5uZWQgcHJvZmlsZXMgYW5kIGRldmljZXMuXG5cbk1pZGRsZSBtb3VzZSBjbGljayBvbiBhIHNsaWRlciBtdXRlcyB0aGUgc2VsZWN0ZWQgc3RyZWFtLlxuXG5QbGVhc2UgZmlsZSBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJuYW1lIjogIlZvbHVtZSBNaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWhvL2dub21lLXNoZWxsLXZvbHVtZS1taXhlciIsCiAgInV1aWQiOiAic2hlbGwtdm9sdW1lLW1peGVyQGRlcmhvZmJhdWVyLmF0IiwKICAidmVyc2lvbiI6IDM5Cn0="}, "40": {"version": "40", "sha256": "1s4jzq1iy006k3m0r28qiayb46135y71qqv583k1sn9sppda5b4d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxldCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gbWl4ZXJzLlxuXG5TaGVsbCBWb2x1bWUgTWl4ZXIgaXMgYW4gZXh0ZW5zaW9uIGZvciBHTk9NRSBTaGVsbCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gZGV2aWNlcyBhbmQgb3V0cHV0IHN3aXRjaGVzLiBJdCBmZWF0dXJlcyBhIHByb2ZpbGUgc3dpdGNoZXIgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiBwaW5uZWQgcHJvZmlsZXMgYW5kIGRldmljZXMuXG5cbk1pZGRsZSBtb3VzZSBjbGljayBvbiBhIHNsaWRlciBtdXRlcyB0aGUgc2VsZWN0ZWQgc3RyZWFtLlxuXG5QbGVhc2UgZmlsZSBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLXNoZWxsLXZvbHVtZS1taXhlciIsCiAgIm5hbWUiOiAiVm9sdW1lIE1peGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNoZWxsLXZvbHVtZS1taXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGVoby9nbm9tZS1zaGVsbC12b2x1bWUtbWl4ZXIiLAogICJ1dWlkIjogInNoZWxsLXZvbHVtZS1taXhlckBkZXJob2ZiYXVlci5hdCIsCiAgInZlcnNpb24iOiA0MAp9"}, "41": {"version": "44", "sha256": "0pbw1w3y9clq1pmxkblsp85kw5h8znhjf223bplqhjb74g89v80z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxldCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gbWl4ZXJzLlxuXG5TaGVsbCBWb2x1bWUgTWl4ZXIgaXMgYW4gZXh0ZW5zaW9uIGZvciBHTk9NRSBTaGVsbCBhbGxvd2luZyBzZXBhcmF0ZSBjb25maWd1cmF0aW9uIG9mIFB1bHNlQXVkaW8gZGV2aWNlcyBhbmQgb3V0cHV0IHN3aXRjaGVzLiBJdCBmZWF0dXJlcyBhIHByb2ZpbGUgc3dpdGNoZXIgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiBwaW5uZWQgcHJvZmlsZXMgYW5kIGRldmljZXMuXG5cbk1pZGRsZSBtb3VzZSBjbGljayBvbiBhIHNsaWRlciBtdXRlcyB0aGUgc2VsZWN0ZWQgc3RyZWFtLlxuXG5QbGVhc2UgZmlsZSBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLXNoZWxsLXZvbHVtZS1taXhlciIsCiAgIm5hbWUiOiAiVm9sdW1lIE1peGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNoZWxsLXZvbHVtZS1taXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGVoby9nbm9tZS1zaGVsbC12b2x1bWUtbWl4ZXIiLAogICJ1dWlkIjogInNoZWxsLXZvbHVtZS1taXhlckBkZXJob2ZiYXVlci5hdCIsCiAgInZlcnNpb24iOiA0NAp9"}}}
@@ -104,7 +104,7 @@
 , {"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": "19", "sha256": "13i1hdxxd2xyhm1a3vfwwy2j1xhrx625wmrxn7s5xw9rlxj55p0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbnVub2ZhcnJ1Y2EvV2luZG93SXNSZWFkeV9SZW1vdmVyIiwKICAidXVpZCI6ICJ3aW5kb3dJc1JlYWR5X1JlbW92ZXJAbnVub2ZhcnJ1Y2FAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "13i1hdxxd2xyhm1a3vfwwy2j1xhrx625wmrxn7s5xw9rlxj55p0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbnVub2ZhcnJ1Y2EvV2luZG93SXNSZWFkeV9SZW1vdmVyIiwKICAidXVpZCI6ICJ3aW5kb3dJc1JlYWR5X1JlbW92ZXJAbnVub2ZhcnJ1Y2FAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "13i1hdxxd2xyhm1a3vfwwy2j1xhrx625wmrxn7s5xw9rlxj55p0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbnVub2ZhcnJ1Y2EvV2luZG93SXNSZWFkeV9SZW1vdmVyIiwKICAidXVpZCI6ICJ3aW5kb3dJc1JlYWR5X1JlbW92ZXJAbnVub2ZhcnJ1Y2FAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "19", "sha256": "13i1hdxxd2xyhm1a3vfwwy2j1xhrx625wmrxn7s5xw9rlxj55p0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbnVub2ZhcnJ1Y2EvV2luZG93SXNSZWFkeV9SZW1vdmVyIiwKICAidXVpZCI6ICJ3aW5kb3dJc1JlYWR5X1JlbW92ZXJAbnVub2ZhcnJ1Y2FAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "43": {"version": "19", "sha256": "13i1hdxxd2xyhm1a3vfwwy2j1xhrx625wmrxn7s5xw9rlxj55p0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbnVub2ZhcnJ1Y2EvV2luZG93SXNSZWFkeV9SZW1vdmVyIiwKICAidXVpZCI6ICJ3aW5kb3dJc1JlYWR5X1JlbW92ZXJAbnVub2ZhcnJ1Y2FAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
 , {"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 Gnome Console", "link": "https://extensions.gnome.org/extension/1010/archlinux-updates-indicator/", "shell_version_map": {"38": {"version": "39", "sha256": "1wcyjy9idj674s7pyz0210pb6kzb3jmj1fv08cm93frdl9g61dn3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy5cbiBTZWUgUkVBRE1FIGFib3V0IEdub21lIENvbnNvbGUiLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMSIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "40": {"version": "51", "sha256": "1qz9q8vwdwir5v3idxz8y756aps8lhsdj0yp00lj2n5x55hgrh99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy5cbiBTZWUgUkVBRE1FIGFib3V0IEdub21lIENvbnNvbGUiLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmFwaGFlbFJvY2hldC9hcmNoLXVwZGF0ZSIsCiAgInV1aWQiOiAiYXJjaC11cGRhdGVAUmFwaGFlbFJvY2hldCIsCiAgInZlcnNpb24iOiA1MQp9"}, "41": {"version": "51", "sha256": "1qz9q8vwdwir5v3idxz8y756aps8lhsdj0yp00lj2n5x55hgrh99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy5cbiBTZWUgUkVBRE1FIGFib3V0IEdub21lIENvbnNvbGUiLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmFwaGFlbFJvY2hldC9hcmNoLXVwZGF0ZSIsCiAgInV1aWQiOiAiYXJjaC11cGRhdGVAUmFwaGFlbFJvY2hldCIsCiAgInZlcnNpb24iOiA1MQp9"}, "42": {"version": "51", "sha256": "1qz9q8vwdwir5v3idxz8y756aps8lhsdj0yp00lj2n5x55hgrh99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy5cbiBTZWUgUkVBRE1FIGFib3V0IEdub21lIENvbnNvbGUiLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmFwaGFlbFJvY2hldC9hcmNoLXVwZGF0ZSIsCiAgInV1aWQiOiAiYXJjaC11cGRhdGVAUmFwaGFlbFJvY2hldCIsCiAgInZlcnNpb24iOiA1MQp9"}, "43": {"version": "51", "sha256": "1qz9q8vwdwir5v3idxz8y756aps8lhsdj0yp00lj2n5x55hgrh99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy5cbiBTZWUgUkVBRE1FIGFib3V0IEdub21lIENvbnNvbGUiLAogICJuYW1lIjogIkFyY2ggTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmFwaGFlbFJvY2hldC9hcmNoLXVwZGF0ZSIsCiAgInV1aWQiOiAiYXJjaC11cGRhdGVAUmFwaGFlbFJvY2hldCIsCiAgInZlcnNpb24iOiA1MQp9"}}}
 , {"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": "text-scaler@gnome-shell-extensions.mariospr.org", "name": "Text Scaler", "pname": "text-scaler", "description": "Simple extension to easily define arbitrary values for the text scaling factor", "link": "https://extensions.gnome.org/extension/1018/text-scaler/", "shell_version_map": {"42": {"version": "11", "sha256": "0ly0bh8mz4sbsvqwc6nf7wr9mj6l9sgk247ddd3774h6m07z08qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gZWFzaWx5IGRlZmluZSBhcmJpdHJhcnkgdmFsdWVzIGZvciB0aGUgdGV4dCBzY2FsaW5nIGZhY3RvciIsCiAgImdldHRleHQtZG9tYWluIjogInRleHQtc2NhbGVyIiwKICAibmFtZSI6ICJUZXh0IFNjYWxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXJpb3Nwci90ZXh0LXNjYWxlci1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRleHQtc2NhbGVyQGdub21lLXNoZWxsLWV4dGVuc2lvbnMubWFyaW9zcHIub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "text-scaler@gnome-shell-extensions.mariospr.org", "name": "Text Scaler", "pname": "text-scaler", "description": "Simple extension to easily define arbitrary values for the text scaling factor", "link": "https://extensions.gnome.org/extension/1018/text-scaler/", "shell_version_map": {"42": {"version": "12", "sha256": "0jp6i0x0zw9ldfq9ngcvg1y5ahcgyaw2za9rngivp172zpvgh2xb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gZWFzaWx5IGRlZmluZSBhcmJpdHJhcnkgdmFsdWVzIGZvciB0aGUgdGV4dCBzY2FsaW5nIGZhY3RvciIsCiAgImdldHRleHQtZG9tYWluIjogInRleHQtc2NhbGVyIiwKICAibmFtZSI6ICJUZXh0IFNjYWxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyaW9zcHIvdGV4dC1zY2FsZXItZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0ZXh0LXNjYWxlckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLm1hcmlvc3ByLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "43": {"version": "12", "sha256": "0jp6i0x0zw9ldfq9ngcvg1y5ahcgyaw2za9rngivp172zpvgh2xb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gZWFzaWx5IGRlZmluZSBhcmJpdHJhcnkgdmFsdWVzIGZvciB0aGUgdGV4dCBzY2FsaW5nIGZhY3RvciIsCiAgImdldHRleHQtZG9tYWluIjogInRleHQtc2NhbGVyIiwKICAibmFtZSI6ICJUZXh0IFNjYWxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyaW9zcHIvdGV4dC1zY2FsZXItZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0ZXh0LXNjYWxlckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLm1hcmlvc3ByLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"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": "15", "sha256": "18fzriglzhbcwx8876s9vmlxgcmkps1aa49cqh6r3vxhbgkp3m4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiaWNpbmdhLWNoZWNrZXJAc29zdWxza2kubmV0IiwKICAidmVyc2lvbiI6IDE1Cn0="}, "40": {"version": "15", "sha256": "18fzriglzhbcwx8876s9vmlxgcmkps1aa49cqh6r3vxhbgkp3m4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiaWNpbmdhLWNoZWNrZXJAc29zdWxza2kubmV0IiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "18fzriglzhbcwx8876s9vmlxgcmkps1aa49cqh6r3vxhbgkp3m4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiaWNpbmdhLWNoZWNrZXJAc29zdWxza2kubmV0IiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "18fzriglzhbcwx8876s9vmlxgcmkps1aa49cqh6r3vxhbgkp3m4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiaWNpbmdhLWNoZWNrZXJAc29zdWxza2kubmV0IiwKICAidmVyc2lvbiI6IDE1Cn0="}, "43": {"version": "15", "sha256": "18fzriglzhbcwx8876s9vmlxgcmkps1aa49cqh6r3vxhbgkp3m4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiaWNpbmdhLWNoZWNrZXJAc29zdWxza2kubmV0IiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
 , {"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": "24", "sha256": "1353658yr64wlh4k2nvqmrbzdsdci7zcagk6bf75qi40k923qzlh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2t3aGlzcGVyZXIiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlRhc2tXaGlzcGVyZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFza3doaXNwZXJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL3Rhc2t3aGlzcGVyZXIiLAogICJ1dWlkIjogInRhc2t3aGlzcGVyZXItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMjQKfQ=="}, "41": {"version": "24", "sha256": "1353658yr64wlh4k2nvqmrbzdsdci7zcagk6bf75qi40k923qzlh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2t3aGlzcGVyZXIiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlRhc2tXaGlzcGVyZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFza3doaXNwZXJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL3Rhc2t3aGlzcGVyZXIiLAogICJ1dWlkIjogInRhc2t3aGlzcGVyZXItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMjQKfQ=="}, "42": {"version": "24", "sha256": "1353658yr64wlh4k2nvqmrbzdsdci7zcagk6bf75qi40k923qzlh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2t3aGlzcGVyZXIiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlRhc2tXaGlzcGVyZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFza3doaXNwZXJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL3Rhc2t3aGlzcGVyZXIiLAogICJ1dWlkIjogInRhc2t3aGlzcGVyZXItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMjQKfQ=="}, "43": {"version": "24", "sha256": "1353658yr64wlh4k2nvqmrbzdsdci7zcagk6bf75qi40k923qzlh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2t3aGlzcGVyZXIiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlRhc2tXaGlzcGVyZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFza3doaXNwZXJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL3Rhc2t3aGlzcGVyZXIiLAogICJ1dWlkIjogInRhc2t3aGlzcGVyZXItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
 , {"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=="}}}
@@ -125,7 +125,7 @@
 , {"uuid": "hide_clock@grantmcwilliams.com", "name": "Hide Clock", "pname": "hide-clock", "description": "Hides Clock", "link": "https://extensions.gnome.org/extension/1110/hide-clock/", "shell_version_map": {"38": {"version": "10", "sha256": "1cvwfwd7d86zwgna70p98zb09rvpvkw6ksl5bj23jgsnr9jdpvvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIENsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyYW50bWN3aWxsaWFtcy9Hbm9tZV9IaWRlX0Nsb2NrIiwKICAidXVpZCI6ICJoaWRlX2Nsb2NrQGdyYW50bWN3aWxsaWFtcy5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "1cvwfwd7d86zwgna70p98zb09rvpvkw6ksl5bj23jgsnr9jdpvvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIENsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyYW50bWN3aWxsaWFtcy9Hbm9tZV9IaWRlX0Nsb2NrIiwKICAidXVpZCI6ICJoaWRlX2Nsb2NrQGdyYW50bWN3aWxsaWFtcy5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "1cvwfwd7d86zwgna70p98zb09rvpvkw6ksl5bj23jgsnr9jdpvvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIENsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyYW50bWN3aWxsaWFtcy9Hbm9tZV9IaWRlX0Nsb2NrIiwKICAidXVpZCI6ICJoaWRlX2Nsb2NrQGdyYW50bWN3aWxsaWFtcy5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "1cvwfwd7d86zwgna70p98zb09rvpvkw6ksl5bj23jgsnr9jdpvvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIENsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyYW50bWN3aWxsaWFtcy9Hbm9tZV9IaWRlX0Nsb2NrIiwKICAidXVpZCI6ICJoaWRlX2Nsb2NrQGdyYW50bWN3aWxsaWFtcy5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "43": {"version": "10", "sha256": "1cvwfwd7d86zwgna70p98zb09rvpvkw6ksl5bj23jgsnr9jdpvvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIENsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyYW50bWN3aWxsaWFtcy9Hbm9tZV9IaWRlX0Nsb2NrIiwKICAidXVpZCI6ICJoaWRlX2Nsb2NrQGdyYW50bWN3aWxsaWFtcy5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"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=="}, "43": {"version": "69", "sha256": "1sfv67yj5c973yiizbn7hwxcz7ijyzxcni5f9ck3d02zypg4idjy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2OSIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3R0b0FsbG1lbmRpbmdlci9nbm9tZS1zaGVsbC1zY3JlZW5zaG90LyIsCiAgInV1aWQiOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdEB0dGxsLmRlIiwKICAidmVyc2lvbiI6IDY5Cn0="}}}
 , {"uuid": "nothing-to-say@extensions.gnome.wouter.bolsterl.ee", "name": "Nothing to say", "pname": "nothing-to-say", "description": "Unmute the microphone only when you have something to say.", "link": "https://extensions.gnome.org/extension/1113/nothing-to-say/", "shell_version_map": {"38": {"version": "8", "sha256": "12ngc4dv1ijbvihqn2rjn77bal0gdhdq4cxf1zv5lr2ckz0ishm4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "17", "sha256": "0dwqhikmwir8hyrzzy4kkicn8b1bnbc94mipih5w1qrip69j3j50", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiMy4zNi45IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "41": {"version": "17", "sha256": "0dwqhikmwir8hyrzzy4kkicn8b1bnbc94mipih5w1qrip69j3j50", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiMy4zNi45IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "42": {"version": "17", "sha256": "0dwqhikmwir8hyrzzy4kkicn8b1bnbc94mipih5w1qrip69j3j50", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiMy4zNi45IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "43": {"version": "17", "sha256": "0dwqhikmwir8hyrzzy4kkicn8b1bnbc94mipih5w1qrip69j3j50", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiMy4zNi45IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDE3Cn0="}}}
-, {"uuid": "workspace-switch-wraparound@theychx.org", "name": "Workspace Switch Wraparound", "pname": "workspace-switch-wraparound", "description": "When switching workspaces, going down from the bottom workspace switches to the top workspace. Likewise, up from the top workspace goes to the bottom workspace.", "link": "https://extensions.gnome.org/extension/1116/workspace-switch-wraparound/", "shell_version_map": {"38": {"version": "8", "sha256": "18yncb0jamja0wnxmkk4js5qy8gabqbpp4jxvaixfz1cj4pjqyqr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZXljaHgvV29ya3NwYWNlU3dpdGNoZXJXcmFwQXJvdW5kIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoLXdyYXBhcm91bmRAdGhleWNoeC5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "18yncb0jamja0wnxmkk4js5qy8gabqbpp4jxvaixfz1cj4pjqyqr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZXljaHgvV29ya3NwYWNlU3dpdGNoZXJXcmFwQXJvdW5kIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoLXdyYXBhcm91bmRAdGhleWNoeC5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "18yncb0jamja0wnxmkk4js5qy8gabqbpp4jxvaixfz1cj4pjqyqr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZXljaHgvV29ya3NwYWNlU3dpdGNoZXJXcmFwQXJvdW5kIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoLXdyYXBhcm91bmRAdGhleWNoeC5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "18yncb0jamja0wnxmkk4js5qy8gabqbpp4jxvaixfz1cj4pjqyqr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RoZXljaHgvV29ya3NwYWNlU3dpdGNoZXJXcmFwQXJvdW5kIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoLXdyYXBhcm91bmRAdGhleWNoeC5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"uuid": "workspace-switch-wraparound@theychx.org", "name": "Workspace Switch Wraparound", "pname": "workspace-switch-wraparound", "description": "When switching workspaces, going down from the bottom workspace switches to the top workspace. Likewise, up from the top workspace goes to the bottom workspace.", "link": "https://extensions.gnome.org/extension/1116/workspace-switch-wraparound/", "shell_version_map": {"38": {"version": "9", "sha256": "1219h03rwkks6q4zgs012p8wspmld6j71c8q1bx8vvavgqx6sam6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGV5Y2h4L1dvcmtzcGFjZVN3aXRjaGVyV3JhcEFyb3VuZCIsCiAgInV1aWQiOiAid29ya3NwYWNlLXN3aXRjaC13cmFwYXJvdW5kQHRoZXljaHgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "1219h03rwkks6q4zgs012p8wspmld6j71c8q1bx8vvavgqx6sam6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGV5Y2h4L1dvcmtzcGFjZVN3aXRjaGVyV3JhcEFyb3VuZCIsCiAgInV1aWQiOiAid29ya3NwYWNlLXN3aXRjaC13cmFwYXJvdW5kQHRoZXljaHgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1219h03rwkks6q4zgs012p8wspmld6j71c8q1bx8vvavgqx6sam6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGV5Y2h4L1dvcmtzcGFjZVN3aXRjaGVyV3JhcEFyb3VuZCIsCiAgInV1aWQiOiAid29ya3NwYWNlLXN3aXRjaC13cmFwYXJvdW5kQHRoZXljaHgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "1219h03rwkks6q4zgs012p8wspmld6j71c8q1bx8vvavgqx6sam6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGV5Y2h4L1dvcmtzcGFjZVN3aXRjaGVyV3JhcEFyb3VuZCIsCiAgInV1aWQiOiAid29ya3NwYWNlLXN3aXRjaC13cmFwYXJvdW5kQHRoZXljaHgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "43": {"version": "9", "sha256": "1219h03rwkks6q4zgs012p8wspmld6j71c8q1bx8vvavgqx6sam6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGV5Y2h4L1dvcmtzcGFjZVN3aXRjaGVyV3JhcEFyb3VuZCIsCiAgInV1aWQiOiAid29ya3NwYWNlLXN3aXRjaC13cmFwYXJvdW5kQHRoZXljaHgub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "ibus-font-setting@ibus.github.com", "name": "ibus font setting", "pname": "ibus-font-setting", "description": "use ibus font setting of ibus setup dialog to enhance the user experience", "link": "https://extensions.gnome.org/extension/1121/ibus-font-setting/", "shell_version_map": {"38": {"version": "9", "sha256": "163byvsc3dj2w9xq498py1xjziyi98icyki1cd6wv7vxaxfmk7y6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL3B3dS5mZWRvcmFwZW9wbGUub3JnL2lidXMvaWJ1cy1mb250LXNldHRpbmciLAogICJ1dWlkIjogImlidXMtZm9udC1zZXR0aW5nQGlidXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "12", "sha256": "0vsn7rrkpys580vxg8hzkf1cj2ki7540rvpg1w90nqy7s1agm6w9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3B3dS5mZWRvcmFwZW9wbGUub3JnL2lidXMvaWJ1cy1mb250LXNldHRpbmciLAogICJ1dWlkIjogImlidXMtZm9udC1zZXR0aW5nQGlidXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0vsn7rrkpys580vxg8hzkf1cj2ki7540rvpg1w90nqy7s1agm6w9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3B3dS5mZWRvcmFwZW9wbGUub3JnL2lidXMvaWJ1cy1mb250LXNldHRpbmciLAogICJ1dWlkIjogImlidXMtZm9udC1zZXR0aW5nQGlidXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "12", "sha256": "0vsn7rrkpys580vxg8hzkf1cj2ki7540rvpg1w90nqy7s1agm6w9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3B3dS5mZWRvcmFwZW9wbGUub3JnL2lidXMvaWJ1cy1mb250LXNldHRpbmciLAogICJ1dWlkIjogImlidXMtZm9udC1zZXR0aW5nQGlidXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"uuid": "github.notifications@alexandre.dufournet.gmail.com", "name": "Github Notifications", "pname": "github-notifications", "description": "Integrate Github's notifications within the gnome desktop environment\nSource code is available here: https://github.com/alexduf/gnome-github-notifications", "link": "https://extensions.gnome.org/extension/1125/github-notifications/", "shell_version_map": {"38": {"version": "17", "sha256": "0ccgbllyak1lyp14ynsg17zngfpxkc5v5asv3zwwmpk44bl984ny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRodWIubm90aWZpY2F0aW9uc0BhbGV4YW5kcmUuZHVmb3VybmV0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "22", "sha256": "069lbl8f9c5kcj9nwdnh7bqlffw1kgp96pi46xg3pj8hxdibhahc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRodWIubm90aWZpY2F0aW9uc0BhbGV4YW5kcmUuZHVmb3VybmV0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}, "41": {"version": "22", "sha256": "069lbl8f9c5kcj9nwdnh7bqlffw1kgp96pi46xg3pj8hxdibhahc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRodWIubm90aWZpY2F0aW9uc0BhbGV4YW5kcmUuZHVmb3VybmV0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}, "42": {"version": "22", "sha256": "069lbl8f9c5kcj9nwdnh7bqlffw1kgp96pi46xg3pj8hxdibhahc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRodWIubm90aWZpY2F0aW9uc0BhbGV4YW5kcmUuZHVmb3VybmV0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}}}
 , {"uuid": "desk-changer@eric.gach.gmail.com", "name": "Desk Changer", "pname": "desk-changer", "description": "Simple wallpaper changer with multiple profile support. Integrates into the shell by providing it's own panel icon. The daemon is written using gjs and runs independently of the extension as a background process.", "link": "https://extensions.gnome.org/extension/1131/desk-changer/", "shell_version_map": {"38": {"version": "25", "sha256": "15ah5ipi9b0jqscw8igxxni1p12jzsv1vcm8jfdfrmq8c3dziadf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpZ0UvZGVzay1jaGFuZ2VyLyIsCiAgInV1aWQiOiAiZGVzay1jaGFuZ2VyQGVyaWMuZ2FjaC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "25", "sha256": "15ah5ipi9b0jqscw8igxxni1p12jzsv1vcm8jfdfrmq8c3dziadf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpZ0UvZGVzay1jaGFuZ2VyLyIsCiAgInV1aWQiOiAiZGVzay1jaGFuZ2VyQGVyaWMuZ2FjaC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "41": {"version": "25", "sha256": "15ah5ipi9b0jqscw8igxxni1p12jzsv1vcm8jfdfrmq8c3dziadf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpZ0UvZGVzay1jaGFuZ2VyLyIsCiAgInV1aWQiOiAiZGVzay1jaGFuZ2VyQGVyaWMuZ2FjaC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "42": {"version": "25", "sha256": "15ah5ipi9b0jqscw8igxxni1p12jzsv1vcm8jfdfrmq8c3dziadf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpZ0UvZGVzay1jaGFuZ2VyLyIsCiAgInV1aWQiOiAiZGVzay1jaGFuZ2VyQGVyaWMuZ2FjaC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "43": {"version": "25", "sha256": "15ah5ipi9b0jqscw8igxxni1p12jzsv1vcm8jfdfrmq8c3dziadf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpZ0UvZGVzay1jaGFuZ2VyLyIsCiAgInV1aWQiOiAiZGVzay1jaGFuZ2VyQGVyaWMuZ2FjaC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
@@ -134,7 +134,7 @@
 , {"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": "35", "sha256": "1b1mr30kpn26hhhp871pybymk23w0s5zdn18zsp4lnvf2f618j25", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvYWN0aXZpdHlBcHBMYXVuY2hlciIsCiAgInV1aWQiOiAiYWN0aXZpdHlBcHBMYXVuY2hlckByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiAzNQp9"}, "41": {"version": "35", "sha256": "1b1mr30kpn26hhhp871pybymk23w0s5zdn18zsp4lnvf2f618j25", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvYWN0aXZpdHlBcHBMYXVuY2hlciIsCiAgInV1aWQiOiAiYWN0aXZpdHlBcHBMYXVuY2hlckByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiAzNQp9"}, "42": {"version": "35", "sha256": "1b1mr30kpn26hhhp871pybymk23w0s5zdn18zsp4lnvf2f618j25", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvYWN0aXZpdHlBcHBMYXVuY2hlciIsCiAgInV1aWQiOiAiYWN0aXZpdHlBcHBMYXVuY2hlckByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiAzNQp9"}, "43": {"version": "35", "sha256": "1b1mr30kpn26hhhp871pybymk23w0s5zdn18zsp4lnvf2f618j25", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvYWN0aXZpdHlBcHBMYXVuY2hlciIsCiAgInV1aWQiOiAiYWN0aXZpdHlBcHBMYXVuY2hlckByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiAzNQp9"}}}
 , {"uuid": "shutdown-timer-gnome-shell-extension", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Allows to shutdown, restart and suspend computer after selected amount of time or in selected time.", "link": "https://extensions.gnome.org/extension/1152/shutdowntimer/", "shell_version_map": {"40": {"version": "9", "sha256": "1y69lv3mq66xxfxabngnbb104d26i05cyhmx3dqf4kyf1kd6jqvx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzaHV0ZG93biwgcmVzdGFydCBhbmQgc3VzcGVuZCBjb21wdXRlciBhZnRlciBzZWxlY3RlZCBhbW91bnQgb2YgdGltZSBvciBpbiBzZWxlY3RlZCB0aW1lLiIsCiAgImdldHRleHQtZG9tYWluIjogIkF1dG9tYXRpY1NodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXV0b21hdGljLXNodXRkb3duLXRpbWVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21rcmFqbmFrL3NodXRkb3duLXRpbWVyLWdub21lLXNoZWxsLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNodXRkb3duLXRpbWVyLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "dash-to-panel@jderose9.github.com", "name": "Dash to Panel", "pname": "dash-to-panel", "description": "An icon taskbar for the Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.\n\nFor a more traditional experience, you may also want to use Tweak Tool to enable Windows > Titlebar Buttons > Minimize & Maximize.\n\nFor the best support, please report any issues on Github. Dash-to-panel is developed and maintained by @jderose9 and @charlesg99.", "link": "https://extensions.gnome.org/extension/1160/dash-to-panel/", "shell_version_map": {"38": {"version": "42", "sha256": "1v9n4g9gx5kv21mb15i7b3k6svcv7jynw4zjfi2gh2pr7ii98b5z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob21lLXN3ZWV0LWdub21lL2Rhc2gtdG8tcGFuZWwiLAogICJ1dWlkIjogImRhc2gtdG8tcGFuZWxAamRlcm9zZTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Mgp9"}, "40": {"version": "44", "sha256": "0vdi0dznbawdavqr9j8w480av04r8m0k9czizzvk9bia33cqryi1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG9tZS1zd2VldC1nbm9tZS9kYXNoLXRvLXBhbmVsIiwKICAidXVpZCI6ICJkYXNoLXRvLXBhbmVsQGpkZXJvc2U5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "41": {"version": "52", "sha256": "12z3hgxd8d15qz3529jzgv5slf7isa2f4krrn6c26gla5j6ryay4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob21lLXN3ZWV0LWdub21lL2Rhc2gtdG8tcGFuZWwiLAogICJ1dWlkIjogImRhc2gtdG8tcGFuZWxAamRlcm9zZTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"}, "42": {"version": "52", "sha256": "12z3hgxd8d15qz3529jzgv5slf7isa2f4krrn6c26gla5j6ryay4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob21lLXN3ZWV0LWdub21lL2Rhc2gtdG8tcGFuZWwiLAogICJ1dWlkIjogImRhc2gtdG8tcGFuZWxAamRlcm9zZTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"}, "43": {"version": "52", "sha256": "12z3hgxd8d15qz3529jzgv5slf7isa2f4krrn6c26gla5j6ryay4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob21lLXN3ZWV0LWdub21lL2Rhc2gtdG8tcGFuZWwiLAogICJ1dWlkIjogImRhc2gtdG8tcGFuZWxAamRlcm9zZTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"}}}
-, {"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=="}, "40": {"version": "22", "sha256": "0fd29bxn1vwpsin032lgckk45bf6w9rfh852c18z42j1p7kgb5wi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovZW1vamktc2VsZWN0b3ItZm9yLWdub21lIiwKICAidXVpZCI6ICJlbW9qaS1zZWxlY3RvckBtYWVzdHJvc2NoYW4uZnIiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "22", "sha256": "0fd29bxn1vwpsin032lgckk45bf6w9rfh852c18z42j1p7kgb5wi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovZW1vamktc2VsZWN0b3ItZm9yLWdub21lIiwKICAidXVpZCI6ICJlbW9qaS1zZWxlY3RvckBtYWVzdHJvc2NoYW4uZnIiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "42": {"version": "22", "sha256": "0fd29bxn1vwpsin032lgckk45bf6w9rfh852c18z42j1p7kgb5wi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovZW1vamktc2VsZWN0b3ItZm9yLWdub21lIiwKICAidXVpZCI6ICJlbW9qaS1zZWxlY3RvckBtYWVzdHJvc2NoYW4uZnIiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
+, {"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=="}, "40": {"version": "23", "sha256": "053l31j8ir3sba7577z5wqvcx7v53wl71g9dfpsbka29flz2m1hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFvc2NoYW56L2Vtb2ppLXNlbGVjdG9yLWZvci1nbm9tZSIsCiAgInV1aWQiOiAiZW1vamktc2VsZWN0b3JAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "053l31j8ir3sba7577z5wqvcx7v53wl71g9dfpsbka29flz2m1hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFvc2NoYW56L2Vtb2ppLXNlbGVjdG9yLWZvci1nbm9tZSIsCiAgInV1aWQiOiAiZW1vamktc2VsZWN0b3JAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDIzCn0="}, "42": {"version": "23", "sha256": "053l31j8ir3sba7577z5wqvcx7v53wl71g9dfpsbka29flz2m1hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFvc2NoYW56L2Vtb2ppLXNlbGVjdG9yLWZvci1nbm9tZSIsCiAgInV1aWQiOiAiZW1vamktc2VsZWN0b3JAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDIzCn0="}, "43": {"version": "23", "sha256": "053l31j8ir3sba7577z5wqvcx7v53wl71g9dfpsbka29flz2m1hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFvc2NoYW56L2Vtb2ppLXNlbGVjdG9yLWZvci1nbm9tZSIsCiAgInV1aWQiOiAiZW1vamktc2VsZWN0b3JAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"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": "03drgiaxvnxh8sbng3f8aj54gpz73w2ls779zyz9rx3f877w6n9h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9ib256aW5pL2dub21lLWtpbml0IiwKICAidXVpZCI6ICJnbm9tZS1raW5pdEBib256aW5pLmdudS5vcmciLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "03drgiaxvnxh8sbng3f8aj54gpz73w2ls779zyz9rx3f877w6n9h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9ib256aW5pL2dub21lLWtpbml0IiwKICAidXVpZCI6ICJnbm9tZS1raW5pdEBib256aW5pLmdudS5vcmciLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "7", "sha256": "0ykqd0yazwrrb93gq07mbb0jcyfpmj8imbk324iq1828zsvfld8z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2JvbnppbmkvZ25vbWUta2luaXQiLAogICJ1dWlkIjogImdub21lLWtpbml0QGJvbnppbmkuZ251Lm9yZyIsCiAgInZlcnNpb24iOiA3Cn0="}, "43": {"version": "10", "sha256": "0810pljxcwxyyvxfy57fwk2n9jxv39llq07fdcc2wc3rqpbzc8gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2JvbnppbmkvZ25vbWUta2luaXQiLAogICJ1dWlkIjogImdub21lLWtpbml0QGJvbnppbmkuZ251Lm9yZyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "calculator-button@amivaleo", "name": "Calculator Button", "pname": "calculator-button", "description": "A button to easily open gnome-calculator.\n Credits to extensions.gnome.org/extension/939/display-button/\n\nv10:\n1 - added support for gnome 3.38\n2 - added support for flatpak version of gnome-calculator", "link": "https://extensions.gnome.org/extension/1168/calculator-button/", "shell_version_map": {"38": {"version": "10", "sha256": "1c6b53im6xj4yaf4skvchvgipxfjs2yh3i5r75cw9avnw7imnwk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIHRvIGVhc2lseSBvcGVuIGdub21lLWNhbGN1bGF0b3IuXG4gQ3JlZGl0cyB0byBleHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vOTM5L2Rpc3BsYXktYnV0dG9uL1xuXG52MTA6XG4xIC0gYWRkZWQgc3VwcG9ydCBmb3IgZ25vbWUgMy4zOFxuMiAtIGFkZGVkIHN1cHBvcnQgZm9yIGZsYXRwYWsgdmVyc2lvbiBvZiBnbm9tZS1jYWxjdWxhdG9yIiwKICAibmFtZSI6ICJDYWxjdWxhdG9yIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaXZhbGVvL0NhbGN1bGF0b3ItQnV0dG9uIiwKICAidXVpZCI6ICJjYWxjdWxhdG9yLWJ1dHRvbkBhbWl2YWxlbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "screenshotlocations.timur@linux.com", "name": "Screenshot Locations", "pname": "screenshot-locations", "description": "Change the default GNOME screenshot directory", "link": "https://extensions.gnome.org/extension/1179/screenshot-locations/", "shell_version_map": {"38": {"version": "7", "sha256": "0ymb4m8fgxgi964fdfdqwgjw95qbcm906zgqmyqxgd4ggip3mn47", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3Rsb2NhdGlvbnMuZGF0YS5ncmVzb3VyY2UiLAogICJkZXNjcmlwdGlvbiI6ICJDaGFuZ2UgdGhlIGRlZmF1bHQgR05PTUUgc2NyZWVuc2hvdCBkaXJlY3RvcnkiLAogICJuYW1lIjogIlNjcmVlbnNob3QgTG9jYXRpb25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3Rsb2NhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vY29kZWJlcmcub3JnL2tpeXVpL2dub21lLXNoZWxsLXNjcmVlbnNob3Rsb2NhdGlvbnMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzY3JlZW5zaG90bG9jYXRpb25zLnRpbXVyQGxpbnV4LmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "8", "sha256": "0cxsq1zzmgn6q32wbdfw9hai62li92dwvwnzq2pdbskp9qm6v7nd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgZGVmYXVsdCBHTk9NRSBzY3JlZW5zaG90IGRpcmVjdG9yeSIsCiAgImdldHRleHQtZG9tYWluIjogInNjcmVlbnNob3Rsb2NhdGlvbnMudGltdXJAbGludXguY29tIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IExvY2F0aW9ucyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zY3JlZW5zaG90bG9jYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9jb2RlYmVyZy5vcmcva2l5dWkvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdGxvY2F0aW9ucy1leHRlbnNpb24iLAogICJ1dWlkIjogInNjcmVlbnNob3Rsb2NhdGlvbnMudGltdXJAbGludXguY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
@@ -196,7 +196,7 @@
 , {"uuid": "microphone-loopback@atareao.es", "name": "Microphone Loopback", "pname": "microphone-loopback", "description": "This extension enables hear microphone on headphones or speakers", "link": "https://extensions.gnome.org/extension/1443/microphone-loopback/", "shell_version_map": {"40": {"version": "5", "sha256": "1s9sh3afa3d7vbjlna6c7yls7kglwrxy6j5hns1ql4nprkdx8nb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGVuYWJsZXMgaGVhciBtaWNyb3Bob25lIG9uIGhlYWRwaG9uZXMgb3Igc3BlYWtlcnMiLAogICJleHRlbnNpb24taWQiOiAibWljcm9waG9uZS1sb29wYmFja0BhdGFyZWFvLmVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWljcm9waG9uZS1sb29wYmFja0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJtaWNyb3Bob25lLWxvb3BiYWNrIiwKICAibmFtZSI6ICJNaWNyb3Bob25lIExvb3BiYWNrIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pY3JvcGhvbmUtbG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdGFyZWFvL21pY3JvcGhvbmUtbG9vcGJhY2siLAogICJ1dWlkIjogIm1pY3JvcGhvbmUtbG9vcGJhY2tAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1s9sh3afa3d7vbjlna6c7yls7kglwrxy6j5hns1ql4nprkdx8nb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGVuYWJsZXMgaGVhciBtaWNyb3Bob25lIG9uIGhlYWRwaG9uZXMgb3Igc3BlYWtlcnMiLAogICJleHRlbnNpb24taWQiOiAibWljcm9waG9uZS1sb29wYmFja0BhdGFyZWFvLmVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWljcm9waG9uZS1sb29wYmFja0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJtaWNyb3Bob25lLWxvb3BiYWNrIiwKICAibmFtZSI6ICJNaWNyb3Bob25lIExvb3BiYWNrIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pY3JvcGhvbmUtbG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdGFyZWFvL21pY3JvcGhvbmUtbG9vcGJhY2siLAogICJ1dWlkIjogIm1pY3JvcGhvbmUtbG9vcGJhY2tAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "1s9sh3afa3d7vbjlna6c7yls7kglwrxy6j5hns1ql4nprkdx8nb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGVuYWJsZXMgaGVhciBtaWNyb3Bob25lIG9uIGhlYWRwaG9uZXMgb3Igc3BlYWtlcnMiLAogICJleHRlbnNpb24taWQiOiAibWljcm9waG9uZS1sb29wYmFja0BhdGFyZWFvLmVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWljcm9waG9uZS1sb29wYmFja0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJtaWNyb3Bob25lLWxvb3BiYWNrIiwKICAibmFtZSI6ICJNaWNyb3Bob25lIExvb3BiYWNrIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pY3JvcGhvbmUtbG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdGFyZWFvL21pY3JvcGhvbmUtbG9vcGJhY2siLAogICJ1dWlkIjogIm1pY3JvcGhvbmUtbG9vcGJhY2tAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"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": "11", "sha256": "1dak0ckabddfq8hfl3ppdwbfxnkjhk90jwaqm875avn72zwvlsvi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvdHJhbnNwYXJlbnQtd2luZG93LW1vdmluZyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93LW1vdmluZ0Bub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "1dak0ckabddfq8hfl3ppdwbfxnkjhk90jwaqm875avn72zwvlsvi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvdHJhbnNwYXJlbnQtd2luZG93LW1vdmluZyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93LW1vdmluZ0Bub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "1dak0ckabddfq8hfl3ppdwbfxnkjhk90jwaqm875avn72zwvlsvi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvdHJhbnNwYXJlbnQtd2luZG93LW1vdmluZyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93LW1vdmluZ0Bub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "43": {"version": "11", "sha256": "1dak0ckabddfq8hfl3ppdwbfxnkjhk90jwaqm875avn72zwvlsvi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvdHJhbnNwYXJlbnQtd2luZG93LW1vdmluZyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93LW1vdmluZ0Bub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"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": "11", "sha256": "07qn7hwpv8pzwbgw60mr87ww10mwcz8x8w3d4gq4zszgynw63nbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "07qn7hwpv8pzwbgw60mr87ww10mwcz8x8w3d4gq4zszgynw63nbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "07qn7hwpv8pzwbgw60mr87ww10mwcz8x8w3d4gq4zszgynw63nbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "07qn7hwpv8pzwbgw60mr87ww10mwcz8x8w3d4gq4zszgynw63nbq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
-, {"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": "miniview@thesecretaryofwar.com", "name": "Miniview", "pname": "miniview", "description": "Displays a mini window preview (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": "09bkkqhah75pgx38a601pb65w44d9q8b2n24bxnvwc6bzh1rcbbv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbWluaSB3aW5kb3cgcHJldmlldyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVik6XG5cdTIwMTQgTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG5cdTIwMTQgUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuXHUyMDE0IFNjcm9sbCB3aGVlbCAob3Igc2hpZnQgKyBjbGljayk6IGNoYW5nZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgU2hpZnQgKyBGMTI6IHRvZ2dsZSBwcmV2aWV3IHdpbmRvdyAodGhpcyBjYW4gYmUgY2hhbmdlZCBvciBkaXNhYmxlZCBpbiBwcmVmZXJlbmNlcylcblx1MjAxNCBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWFtbGVtZWMvbWluaXZpZXciLAogICJ1dWlkIjogIm1pbml2aWV3QHRoZXNlY3JldGFyeW9md2FyLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "15", "sha256": "04r06w0yr4agzjhizmx9grvvymnlihk5idchzicyby55zvzma48l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbWluaSB3aW5kb3cgcHJldmlldyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVik6XG5cdTIwMTQgTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG5cdTIwMTQgUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuXHUyMDE0IFNjcm9sbCB3aGVlbCAob3Igc2hpZnQgKyBjbGljayk6IGNoYW5nZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgU2hpZnQgKyBGMTI6IHRvZ2dsZSBwcmV2aWV3IHdpbmRvdyAodGhpcyBjYW4gYmUgY2hhbmdlZCBvciBkaXNhYmxlZCBpbiBwcmVmZXJlbmNlcylcblx1MjAxNCBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lhbWxlbWVjL21pbml2aWV3IiwKICAidXVpZCI6ICJtaW5pdmlld0B0aGVzZWNyZXRhcnlvZndhci5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "04r06w0yr4agzjhizmx9grvvymnlihk5idchzicyby55zvzma48l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbWluaSB3aW5kb3cgcHJldmlldyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVik6XG5cdTIwMTQgTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG5cdTIwMTQgUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuXHUyMDE0IFNjcm9sbCB3aGVlbCAob3Igc2hpZnQgKyBjbGljayk6IGNoYW5nZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgU2hpZnQgKyBGMTI6IHRvZ2dsZSBwcmV2aWV3IHdpbmRvdyAodGhpcyBjYW4gYmUgY2hhbmdlZCBvciBkaXNhYmxlZCBpbiBwcmVmZXJlbmNlcylcblx1MjAxNCBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lhbWxlbWVjL21pbml2aWV3IiwKICAidXVpZCI6ICJtaW5pdmlld0B0aGVzZWNyZXRhcnlvZndhci5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "04r06w0yr4agzjhizmx9grvvymnlihk5idchzicyby55zvzma48l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbWluaSB3aW5kb3cgcHJldmlldyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVik6XG5cdTIwMTQgTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG5cdTIwMTQgUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuXHUyMDE0IFNjcm9sbCB3aGVlbCAob3Igc2hpZnQgKyBjbGljayk6IGNoYW5nZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgU2hpZnQgKyBGMTI6IHRvZ2dsZSBwcmV2aWV3IHdpbmRvdyAodGhpcyBjYW4gYmUgY2hhbmdlZCBvciBkaXNhYmxlZCBpbiBwcmVmZXJlbmNlcylcblx1MjAxNCBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lhbWxlbWVjL21pbml2aWV3IiwKICAidXVpZCI6ICJtaW5pdmlld0B0aGVzZWNyZXRhcnlvZndhci5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "43": {"version": "15", "sha256": "04r06w0yr4agzjhizmx9grvvymnlihk5idchzicyby55zvzma48l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbWluaSB3aW5kb3cgcHJldmlldyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVik6XG5cdTIwMTQgTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG5cdTIwMTQgUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuXHUyMDE0IFNjcm9sbCB3aGVlbCAob3Igc2hpZnQgKyBjbGljayk6IGNoYW5nZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG5cdTIwMTQgU2hpZnQgKyBGMTI6IHRvZ2dsZSBwcmV2aWV3IHdpbmRvdyAodGhpcyBjYW4gYmUgY2hhbmdlZCBvciBkaXNhYmxlZCBpbiBwcmVmZXJlbmNlcylcblx1MjAxNCBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lhbWxlbWVjL21pbml2aWV3IiwKICAidXVpZCI6ICJtaW5pdmlld0B0aGVzZWNyZXRhcnlvZndhci5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"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": "57", "sha256": "1q6h9pc1d31993v5knnb7c4224h6f7x1jida2xnwi0047nz5b8zn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVjb2RpbmcvVml0YWxzIiwKICAidXVpZCI6ICJWaXRhbHNAQ29yZUNvZGluZy5jb20iLAogICJ2ZXJzaW9uIjogNTcKfQ=="}, "40": {"version": "57", "sha256": "1q6h9pc1d31993v5knnb7c4224h6f7x1jida2xnwi0047nz5b8zn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVjb2RpbmcvVml0YWxzIiwKICAidXVpZCI6ICJWaXRhbHNAQ29yZUNvZGluZy5jb20iLAogICJ2ZXJzaW9uIjogNTcKfQ=="}, "41": {"version": "57", "sha256": "1q6h9pc1d31993v5knnb7c4224h6f7x1jida2xnwi0047nz5b8zn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVjb2RpbmcvVml0YWxzIiwKICAidXVpZCI6ICJWaXRhbHNAQ29yZUNvZGluZy5jb20iLAogICJ2ZXJzaW9uIjogNTcKfQ=="}, "42": {"version": "57", "sha256": "1q6h9pc1d31993v5knnb7c4224h6f7x1jida2xnwi0047nz5b8zn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVjb2RpbmcvVml0YWxzIiwKICAidXVpZCI6ICJWaXRhbHNAQ29yZUNvZGluZy5jb20iLAogICJ2ZXJzaW9uIjogNTcKfQ=="}, "43": {"version": "57", "sha256": "1q6h9pc1d31993v5knnb7c4224h6f7x1jida2xnwi0047nz5b8zn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVjb2RpbmcvVml0YWxzIiwKICAidXVpZCI6ICJWaXRhbHNAQ29yZUNvZGluZy5jb20iLAogICJ2ZXJzaW9uIjogNTcKfQ=="}}}
 , {"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": "9", "sha256": "1g6jfb8pq1k88k5fvwavhb77nkkn8kgxy9y8f3kc26hyjwbfpn11", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0tFSUlJL2dub21lLXNoZWxsLXBhbmVsLWRhdGUtZm9ybWF0IiwKICAidXVpZCI6ICJwYW5lbC1kYXRlLWZvcm1hdEBrZWlpaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1g6jfb8pq1k88k5fvwavhb77nkkn8kgxy9y8f3kc26hyjwbfpn11", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0tFSUlJL2dub21lLXNoZWxsLXBhbmVsLWRhdGUtZm9ybWF0IiwKICAidXVpZCI6ICJwYW5lbC1kYXRlLWZvcm1hdEBrZWlpaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "1g6jfb8pq1k88k5fvwavhb77nkkn8kgxy9y8f3kc26hyjwbfpn11", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0tFSUlJL2dub21lLXNoZWxsLXBhbmVsLWRhdGUtZm9ybWF0IiwKICAidXVpZCI6ICJwYW5lbC1kYXRlLWZvcm1hdEBrZWlpaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "43": {"version": "9", "sha256": "1g6jfb8pq1k88k5fvwavhb77nkkn8kgxy9y8f3kc26hyjwbfpn11", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0tFSUlJL2dub21lLXNoZWxsLXBhbmVsLWRhdGUtZm9ybWF0IiwKICAidXVpZCI6ICJwYW5lbC1kYXRlLWZvcm1hdEBrZWlpaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"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=="}}}
@@ -254,7 +254,7 @@
 , {"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": "27", "sha256": "13km181vzf13id19xrv2b1mbry6378c9vhhpzm9agplgka104xap", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2dvbGRwcmljZW1vbml0b3IiLAogICJ1dWlkIjogIkdvbGRfUHJpY2VfTW9uaXRvckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}, "41": {"version": "27", "sha256": "13km181vzf13id19xrv2b1mbry6378c9vhhpzm9agplgka104xap", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2dvbGRwcmljZW1vbml0b3IiLAogICJ1dWlkIjogIkdvbGRfUHJpY2VfTW9uaXRvckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}, "42": {"version": "27", "sha256": "13km181vzf13id19xrv2b1mbry6378c9vhhpzm9agplgka104xap", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2dvbGRwcmljZW1vbml0b3IiLAogICJ1dWlkIjogIkdvbGRfUHJpY2VfTW9uaXRvckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}, "43": {"version": "27", "sha256": "13km181vzf13id19xrv2b1mbry6378c9vhhpzm9agplgka104xap", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2dvbGRwcmljZW1vbml0b3IiLAogICJ1dWlkIjogIkdvbGRfUHJpY2VfTW9uaXRvckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}}}
 , {"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": "50", "sha256": "0f69lk9mdxmf2z9mx6wvx5l876nryjm1vjrwb70bxwxhqj5qwp5p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvZGVza3RvcC1pY29ucy1uZyIsCiAgInV1aWQiOiAiZGluZ0ByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"}, "40": {"version": "50", "sha256": "0f69lk9mdxmf2z9mx6wvx5l876nryjm1vjrwb70bxwxhqj5qwp5p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvZGVza3RvcC1pY29ucy1uZyIsCiAgInV1aWQiOiAiZGluZ0ByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"}, "41": {"version": "50", "sha256": "0f69lk9mdxmf2z9mx6wvx5l876nryjm1vjrwb70bxwxhqj5qwp5p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvZGVza3RvcC1pY29ucy1uZyIsCiAgInV1aWQiOiAiZGluZ0ByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"}, "42": {"version": "50", "sha256": "0f69lk9mdxmf2z9mx6wvx5l876nryjm1vjrwb70bxwxhqj5qwp5p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvZGVza3RvcC1pY29ucy1uZyIsCiAgInV1aWQiOiAiZGluZ0ByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"}, "43": {"version": "50", "sha256": "0f69lk9mdxmf2z9mx6wvx5l876nryjm1vjrwb70bxwxhqj5qwp5p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3Jhc3RlcnNvZnQvZGVza3RvcC1pY29ucy1uZyIsCiAgInV1aWQiOiAiZGluZ0ByYXN0ZXJzb2Z0LmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"}}}
-, {"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": "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"}, "40": {"version": "13", "sha256": "1ld85pl6d5axmy6413x8dsb1n7g98qja0065fz6h1f924c23wqh5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJvcmRlci1leHRlbnNpb25zQHdhNDU1Ny5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "1ld85pl6d5axmy6413x8dsb1n7g98qja0065fz6h1f924c23wqh5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJvcmRlci1leHRlbnNpb25zQHdhNDU1Ny5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "1ld85pl6d5axmy6413x8dsb1n7g98qja0065fz6h1f924c23wqh5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJvcmRlci1leHRlbnNpb25zQHdhNDU1Ny5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "43": {"version": "13", "sha256": "1ld85pl6d5axmy6413x8dsb1n7g98qja0065fz6h1f924c23wqh5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJvcmRlci1leHRlbnNpb25zQHdhNDU1Ny5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "sound-percentage@maestroschan.fr", "name": "Sound percentage", "pname": "sound-percentage", "description": "Display the current sound percentage in the system tray", "link": "https://extensions.gnome.org/extension/2120/sound-percentage/", "shell_version_map": {"38": {"version": "3", "sha256": "140a83mqwja4vkk83ajmknginh0izli65b8x7nab32sif99z7nya", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgc291bmQgcGVyY2VudGFnZSBpbiB0aGUgc3lzdGVtIHRyYXkiLAogICJuYW1lIjogIlNvdW5kIHBlcmNlbnRhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovc291bmQtcGVyY2VudGFnZS1ncy1leHRlbnNpb24iLAogICJ1dWlkIjogInNvdW5kLXBlcmNlbnRhZ2VAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "140a83mqwja4vkk83ajmknginh0izli65b8x7nab32sif99z7nya", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgc291bmQgcGVyY2VudGFnZSBpbiB0aGUgc3lzdGVtIHRyYXkiLAogICJuYW1lIjogIlNvdW5kIHBlcmNlbnRhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovc291bmQtcGVyY2VudGFnZS1ncy1leHRlbnNpb24iLAogICJ1dWlkIjogInNvdW5kLXBlcmNlbnRhZ2VAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "140a83mqwja4vkk83ajmknginh0izli65b8x7nab32sif99z7nya", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgc291bmQgcGVyY2VudGFnZSBpbiB0aGUgc3lzdGVtIHRyYXkiLAogICJuYW1lIjogIlNvdW5kIHBlcmNlbnRhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovc291bmQtcGVyY2VudGFnZS1ncy1leHRlbnNpb24iLAogICJ1dWlkIjogInNvdW5kLXBlcmNlbnRhZ2VAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "140a83mqwja4vkk83ajmknginh0izli65b8x7nab32sif99z7nya", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgc291bmQgcGVyY2VudGFnZSBpbiB0aGUgc3lzdGVtIHRyYXkiLAogICJuYW1lIjogIlNvdW5kIHBlcmNlbnRhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovc291bmQtcGVyY2VudGFnZS1ncy1leHRlbnNpb24iLAogICJ1dWlkIjogInNvdW5kLXBlcmNlbnRhZ2VAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"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="}}}
@@ -282,7 +282,7 @@
 , {"uuid": "eruption-profile-switcher@x3n0m0rph59.org", "name": "Eruption Profile Switcher", "pname": "eruption-profile-switcher", "description": "Runtime Profile switcher for the Eruption Realtime RGB LED Driver for Linux", "link": "https://extensions.gnome.org/extension/2621/eruption-profile-switcher/", "shell_version_map": {"38": {"version": "15", "sha256": "14zgczf2z7jv707whimggl3h31c44m1qdzncin38vdcdzhm2g7hv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgUHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIFJlYWx0aW1lIFJHQiBMRUQgRHJpdmVyIGZvciBMaW51eCIsCiAgIm5hbWUiOiAiRXJ1cHRpb24gUHJvZmlsZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9YM24wbTBycGg1OS9lcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyIiwKICAidXVpZCI6ICJlcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyQHgzbjBtMHJwaDU5Lm9yZyIsCiAgInZlcnNpb24iOiAxNQp9"}, "40": {"version": "27", "sha256": "1lcsf8611365d8pjk4s905jmj3sc8dq6y833fbv6yxbd36xvkghs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgUHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIFJlYWx0aW1lIFJHQiBMRUQgRHJpdmVyIGZvciBMaW51eCIsCiAgIm5hbWUiOiAiRXJ1cHRpb24gUHJvZmlsZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "41": {"version": "27", "sha256": "1lcsf8611365d8pjk4s905jmj3sc8dq6y833fbv6yxbd36xvkghs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgUHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIFJlYWx0aW1lIFJHQiBMRUQgRHJpdmVyIGZvciBMaW51eCIsCiAgIm5hbWUiOiAiRXJ1cHRpb24gUHJvZmlsZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "42": {"version": "27", "sha256": "1lcsf8611365d8pjk4s905jmj3sc8dq6y833fbv6yxbd36xvkghs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgUHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIFJlYWx0aW1lIFJHQiBMRUQgRHJpdmVyIGZvciBMaW51eCIsCiAgIm5hbWUiOiAiRXJ1cHRpb24gUHJvZmlsZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "43": {"version": "27", "sha256": "1lcsf8611365d8pjk4s905jmj3sc8dq6y833fbv6yxbd36xvkghs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgUHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIFJlYWx0aW1lIFJHQiBMRUQgRHJpdmVyIGZvciBMaW51eCIsCiAgIm5hbWUiOiAiRXJ1cHRpb24gUHJvZmlsZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI3Cn0="}}}
 , {"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": "8", "sha256": "1qzjh4gf6gry6xy6759bha3s3rsnfmizw32isap4j0rdsyl77j90", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidXNlci1pZC1pbi10b3AtcGFuZWxAZnRoeCIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "1qzjh4gf6gry6xy6759bha3s3rsnfmizw32isap4j0rdsyl77j90", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidXNlci1pZC1pbi10b3AtcGFuZWxAZnRoeCIsCiAgInZlcnNpb24iOiA4Cn0="}, "42": {"version": "8", "sha256": "1qzjh4gf6gry6xy6759bha3s3rsnfmizw32isap4j0rdsyl77j90", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidXNlci1pZC1pbi10b3AtcGFuZWxAZnRoeCIsCiAgInZlcnNpb24iOiA4Cn0="}, "43": {"version": "8", "sha256": "1qzjh4gf6gry6xy6759bha3s3rsnfmizw32isap4j0rdsyl77j90", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidXNlci1pZC1pbi10b3AtcGFuZWxAZnRoeCIsCiAgInZlcnNpb24iOiA4Cn0="}}}
-, {"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": "6", "sha256": "02nm3nxz3adx6zs6qblmmkwnh01bxfv2zzka2imw36s09agc5g2s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "02nm3nxz3adx6zs6qblmmkwnh01bxfv2zzka2imw36s09agc5g2s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "02nm3nxz3adx6zs6qblmmkwnh01bxfv2zzka2imw36s09agc5g2s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "02nm3nxz3adx6zs6qblmmkwnh01bxfv2zzka2imw36s09agc5g2s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"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": "7", "sha256": "03x65bms6ns9jz1m0kmklpjaq1lgdl9h2pmqvfczmk2vf3bmjjwv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vaGlkZS1taW5pbWl6ZWQiLAogICJ1dWlkIjogImhpZGUtbWluaW1pemVkQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "03x65bms6ns9jz1m0kmklpjaq1lgdl9h2pmqvfczmk2vf3bmjjwv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vaGlkZS1taW5pbWl6ZWQiLAogICJ1dWlkIjogImhpZGUtbWluaW1pemVkQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "03x65bms6ns9jz1m0kmklpjaq1lgdl9h2pmqvfczmk2vf3bmjjwv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vaGlkZS1taW5pbWl6ZWQiLAogICJ1dWlkIjogImhpZGUtbWluaW1pemVkQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogNwp9"}, "42": {"version": "7", "sha256": "03x65bms6ns9jz1m0kmklpjaq1lgdl9h2pmqvfczmk2vf3bmjjwv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vaGlkZS1taW5pbWl6ZWQiLAogICJ1dWlkIjogImhpZGUtbWluaW1pemVkQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogNwp9"}, "43": {"version": "7", "sha256": "03x65bms6ns9jz1m0kmklpjaq1lgdl9h2pmqvfczmk2vf3bmjjwv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vaGlkZS1taW5pbWl6ZWQiLAogICJ1dWlkIjogImhpZGUtbWluaW1pemVkQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"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": "31", "sha256": "0lzcpankfsis4z0hb6hk03k1rzcipdb5645vz4wvlkzbriqdvwmd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzEKfQ=="}, "43": {"version": "32", "sha256": "0rf7bb4mgca7g03rb7xbs001zpa3lyccvn4xvlybiisgsvzw3z7d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}}}
 , {"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"}}}
@@ -295,7 +295,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": "7", "sha256": "0xycwf9zks6kcwxrrn5rk1sn0km7zvzxzzp6bfag6qnibkgliwsn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG8tc2NoL2dub21lLXNoZWxsLWJyaWdodG5lc3MtcGFuZWwtbWVudS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJyaWdodG5lc3NwYW5lbG1lbnVpbmRpY2F0b3JAZG8uc2NoLmRldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "0xycwf9zks6kcwxrrn5rk1sn0km7zvzxzzp6bfag6qnibkgliwsn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG8tc2NoL2dub21lLXNoZWxsLWJyaWdodG5lc3MtcGFuZWwtbWVudS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJyaWdodG5lc3NwYW5lbG1lbnVpbmRpY2F0b3JAZG8uc2NoLmRldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "0xycwf9zks6kcwxrrn5rk1sn0km7zvzxzzp6bfag6qnibkgliwsn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG8tc2NoL2dub21lLXNoZWxsLWJyaWdodG5lc3MtcGFuZWwtbWVudS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJyaWdodG5lc3NwYW5lbG1lbnVpbmRpY2F0b3JAZG8uc2NoLmRldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "42": {"version": "7", "sha256": "0xycwf9zks6kcwxrrn5rk1sn0km7zvzxzzp6bfag6qnibkgliwsn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG8tc2NoL2dub21lLXNoZWxsLWJyaWdodG5lc3MtcGFuZWwtbWVudS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJyaWdodG5lc3NwYW5lbG1lbnVpbmRpY2F0b3JAZG8uc2NoLmRldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "43": {"version": "7", "sha256": "0xycwf9zks6kcwxrrn5rk1sn0km7zvzxzzp6bfag6qnibkgliwsn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG8tc2NoL2dub21lLXNoZWxsLWJyaWdodG5lc3MtcGFuZWwtbWVudS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJyaWdodG5lc3NwYW5lbG1lbnVpbmRpY2F0b3JAZG8uc2NoLmRldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "crypto@alipirpiran.github", "name": "Crypto Price Tracker", "pname": "crypto-price-tracker", "description": "Simple extension to track price of Crypto Currencies\n\nSources: Binance, OKX, Coingecko\n\nAdd coins by symbols, for example:\n* Binance pairs: \"BTC/USDT\"\n* OKX pairs: \"LTC/USDT\"\n* Coingecko pairs: \"BTC/USD\"\nUsing api.coingecko.com, okx.com, binance.com\nComplete list of pairs: https://www.binance.com/indexSpa.html\nComplete guide: https://github.com/alipirpiran/Crypto-Price-Tracker-for-Gnome-Shell#readme\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": "33", "sha256": "0d6rgxarjvms3p2qvgq04mk46f8jkwswxspvbblamkjv7yiy2330", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuU291cmNlczogQmluYW5jZSwgT0tYLCBDb2luZ2Vja29cblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuVXNpbmcgYXBpLmNvaW5nZWNrby5jb20sIG9reC5jb20sIGJpbmFuY2UuY29tXG5Db21wbGV0ZSBsaXN0IG9mIHBhaXJzOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5Db21wbGV0ZSBndWlkZTogaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCNyZWFkbWVcblxuKiogaWYgaXQgZmFjZWQgZXJyb3IgYWZ0ZXIgdXBkYXRlOlxuKipSZXN0YXJ0IEdub21lLXNoZWxsLiAoQUxUK0YyLCByLCBFbnRlcikiLAogICJuYW1lIjogIkNyeXB0byBQcmljZSBUcmFja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by10cmFja2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAzMwp9"}, "41": {"version": "33", "sha256": "0d6rgxarjvms3p2qvgq04mk46f8jkwswxspvbblamkjv7yiy2330", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuU291cmNlczogQmluYW5jZSwgT0tYLCBDb2luZ2Vja29cblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuVXNpbmcgYXBpLmNvaW5nZWNrby5jb20sIG9reC5jb20sIGJpbmFuY2UuY29tXG5Db21wbGV0ZSBsaXN0IG9mIHBhaXJzOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5Db21wbGV0ZSBndWlkZTogaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCNyZWFkbWVcblxuKiogaWYgaXQgZmFjZWQgZXJyb3IgYWZ0ZXIgdXBkYXRlOlxuKipSZXN0YXJ0IEdub21lLXNoZWxsLiAoQUxUK0YyLCByLCBFbnRlcikiLAogICJuYW1lIjogIkNyeXB0byBQcmljZSBUcmFja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by10cmFja2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAzMwp9"}, "42": {"version": "33", "sha256": "0d6rgxarjvms3p2qvgq04mk46f8jkwswxspvbblamkjv7yiy2330", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuU291cmNlczogQmluYW5jZSwgT0tYLCBDb2luZ2Vja29cblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuVXNpbmcgYXBpLmNvaW5nZWNrby5jb20sIG9reC5jb20sIGJpbmFuY2UuY29tXG5Db21wbGV0ZSBsaXN0IG9mIHBhaXJzOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5Db21wbGV0ZSBndWlkZTogaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCNyZWFkbWVcblxuKiogaWYgaXQgZmFjZWQgZXJyb3IgYWZ0ZXIgdXBkYXRlOlxuKipSZXN0YXJ0IEdub21lLXNoZWxsLiAoQUxUK0YyLCByLCBFbnRlcikiLAogICJuYW1lIjogIkNyeXB0byBQcmljZSBUcmFja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by10cmFja2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAzMwp9"}, "43": {"version": "33", "sha256": "0d6rgxarjvms3p2qvgq04mk46f8jkwswxspvbblamkjv7yiy2330", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuU291cmNlczogQmluYW5jZSwgT0tYLCBDb2luZ2Vja29cblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuVXNpbmcgYXBpLmNvaW5nZWNrby5jb20sIG9reC5jb20sIGJpbmFuY2UuY29tXG5Db21wbGV0ZSBsaXN0IG9mIHBhaXJzOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5Db21wbGV0ZSBndWlkZTogaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCNyZWFkbWVcblxuKiogaWYgaXQgZmFjZWQgZXJyb3IgYWZ0ZXIgdXBkYXRlOlxuKipSZXN0YXJ0IEdub21lLXNoZWxsLiAoQUxUK0YyLCByLCBFbnRlcikiLAogICJuYW1lIjogIkNyeXB0byBQcmljZSBUcmFja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by10cmFja2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAzMwp9"}}}
+, {"uuid": "crypto@alipirpiran.github", "name": "Crypto Price Tracker", "pname": "crypto-price-tracker", "description": "Simple extension to track price of Crypto Currencies\n\nSources: Binance, OKX, Coingecko\n\nAdd coins by symbols, for example:\n* Binance pairs: \"BTC/USDT\"\n* OKX pairs: \"LTC/USDT\"\n* Coingecko pairs: \"BTC/USD\"\n\nUsing api.coingecko.com, okx.com, binance.com\nComplete list of pairs: https://www.binance.com/indexSpa.html\nComplete guide: https://github.com/alipirpiran/Crypto-Price-Tracker-for-Gnome-Shell#readme\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": "35", "sha256": "08kyk70q4id0wj3h094mp2iw2hc35r8i97whwp4qmkaz87ldrpyi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuU291cmNlczogQmluYW5jZSwgT0tYLCBDb2luZ2Vja29cblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuXG5Vc2luZyBhcGkuY29pbmdlY2tvLmNvbSwgb2t4LmNvbSwgYmluYW5jZS5jb21cbkNvbXBsZXRlIGxpc3Qgb2YgcGFpcnM6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWxcbkNvbXBsZXRlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsI3JlYWRtZVxuXG4qKiBpZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKSIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJjcnlwdG9AYWxpcGlycGlyYW4uZ2l0aHViIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "41": {"version": "35", "sha256": "08kyk70q4id0wj3h094mp2iw2hc35r8i97whwp4qmkaz87ldrpyi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuU291cmNlczogQmluYW5jZSwgT0tYLCBDb2luZ2Vja29cblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuXG5Vc2luZyBhcGkuY29pbmdlY2tvLmNvbSwgb2t4LmNvbSwgYmluYW5jZS5jb21cbkNvbXBsZXRlIGxpc3Qgb2YgcGFpcnM6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWxcbkNvbXBsZXRlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsI3JlYWRtZVxuXG4qKiBpZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKSIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJjcnlwdG9AYWxpcGlycGlyYW4uZ2l0aHViIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "42": {"version": "35", "sha256": "08kyk70q4id0wj3h094mp2iw2hc35r8i97whwp4qmkaz87ldrpyi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuU291cmNlczogQmluYW5jZSwgT0tYLCBDb2luZ2Vja29cblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuXG5Vc2luZyBhcGkuY29pbmdlY2tvLmNvbSwgb2t4LmNvbSwgYmluYW5jZS5jb21cbkNvbXBsZXRlIGxpc3Qgb2YgcGFpcnM6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWxcbkNvbXBsZXRlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsI3JlYWRtZVxuXG4qKiBpZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKSIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJjcnlwdG9AYWxpcGlycGlyYW4uZ2l0aHViIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "43": {"version": "35", "sha256": "08kyk70q4id0wj3h094mp2iw2hc35r8i97whwp4qmkaz87ldrpyi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuU291cmNlczogQmluYW5jZSwgT0tYLCBDb2luZ2Vja29cblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuXG5Vc2luZyBhcGkuY29pbmdlY2tvLmNvbSwgb2t4LmNvbSwgYmluYW5jZS5jb21cbkNvbXBsZXRlIGxpc3Qgb2YgcGFpcnM6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWxcbkNvbXBsZXRlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsI3JlYWRtZVxuXG4qKiBpZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKSIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJjcnlwdG9AYWxpcGlycGlyYW4uZ2l0aHViIiwKICAidmVyc2lvbiI6IDM1Cn0="}}}
 , {"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="}, "43": {"version": "40", "sha256": "0b807s4bfxmxf6131749gi3nil42dabmz2ndwwsblcpbj0cas7mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24taWJ1cy10d2Vha2VyIiwKICAibmFtZSI6ICJJQnVzIFR3ZWFrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaWJ1cy10d2Vha2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvaWJ1cy10d2Vha2VyIiwKICAidXVpZCI6ICJpYnVzLXR3ZWFrZXJAdHViZXJyeS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="}}}
 , {"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": "12", "sha256": "1bdn84l653p8m3r5wshz0939h6jhq2a27hcls4mhydz53vkxy6pd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQyLjMiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEyCn0="}, "42": {"version": "12", "sha256": "1bdn84l653p8m3r5wshz0939h6jhq2a27hcls4mhydz53vkxy6pd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQyLjMiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEyCn0="}, "43": {"version": "12", "sha256": "1bdn84l653p8m3r5wshz0939h6jhq2a27hcls4mhydz53vkxy6pd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQyLjMiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
 , {"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": "5", "sha256": "12axnvpbpv1pnpbxinr9ay2pxdgd36f3fjqhx37ymvdjdhak5x4p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9oaWRlLWtleWJvYXJkLWxheW91dCIsCiAgInV1aWQiOiAiaGlkZS1rZXlib2FyZC1sYXlvdXRAc2l0bmlrLnJ1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "12axnvpbpv1pnpbxinr9ay2pxdgd36f3fjqhx37ymvdjdhak5x4p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9oaWRlLWtleWJvYXJkLWxheW91dCIsCiAgInV1aWQiOiAiaGlkZS1rZXlib2FyZC1sYXlvdXRAc2l0bmlrLnJ1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "12axnvpbpv1pnpbxinr9ay2pxdgd36f3fjqhx37ymvdjdhak5x4p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9oaWRlLWtleWJvYXJkLWxheW91dCIsCiAgInV1aWQiOiAiaGlkZS1rZXlib2FyZC1sYXlvdXRAc2l0bmlrLnJ1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "12axnvpbpv1pnpbxinr9ay2pxdgd36f3fjqhx37ymvdjdhak5x4p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9oaWRlLWtleWJvYXJkLWxheW91dCIsCiAgInV1aWQiOiAiaGlkZS1rZXlib2FyZC1sYXlvdXRAc2l0bmlrLnJ1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "43": {"version": "5", "sha256": "12axnvpbpv1pnpbxinr9ay2pxdgd36f3fjqhx37ymvdjdhak5x4p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9oaWRlLWtleWJvYXJkLWxheW91dCIsCiAgInV1aWQiOiAiaGlkZS1rZXlib2FyZC1sYXlvdXRAc2l0bmlrLnJ1IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
@@ -305,7 +305,7 @@
 , {"uuid": "transparent_panel@fawtytoo", "name": "Transparent Top Panel", "pname": "transparent-top-panel", "description": "Totally transparent top panel in the Overview.\nAlso adds drop shadows to text and icons for those using GS 3.38.", "link": "https://extensions.gnome.org/extension/2878/transparent-top-panel/", "shell_version_map": {"38": {"version": "11", "sha256": "11628vpgmal4w46apsg6vyv7q9hxdr1z6x6yfh5344nv605904cq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnRfcGFuZWxAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "11628vpgmal4w46apsg6vyv7q9hxdr1z6x6yfh5344nv605904cq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnRfcGFuZWxAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "11628vpgmal4w46apsg6vyv7q9hxdr1z6x6yfh5344nv605904cq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnRfcGFuZWxAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "11628vpgmal4w46apsg6vyv7q9hxdr1z6x6yfh5344nv605904cq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnRfcGFuZWxAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "overview_full_bright@fawtytoo", "name": "Overview Full Bright", "pname": "overview-full-bright", "description": "Shows the Overview in full brightness and without the vignette.\n\nNOTE: This will not be developed beyond GS 3.38.", "link": "https://extensions.gnome.org/extension/2884/overview-full-bright/", "shell_version_map": {"38": {"version": "4", "sha256": "1dm5h1kl40lsly9a80ch4mfi67ppwd7dgg4idx8vrcx5iksnzxil", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBPdmVydmlldyBpbiBmdWxsIGJyaWdodG5lc3MgYW5kIHdpdGhvdXQgdGhlIHZpZ25ldHRlLlxuXG5OT1RFOiBUaGlzIHdpbGwgbm90IGJlIGRldmVsb3BlZCBiZXlvbmQgR1MgMy4zOC4iLAogICJuYW1lIjogIk92ZXJ2aWV3IEZ1bGwgQnJpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm92ZXJ2aWV3X2Z1bGxfYnJpZ2h0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "trayIconsReloaded@selfmade.pl", "name": "Tray Icons: Reloaded", "pname": "tray-icons-reloaded", "description": "Tray Icons Reloaded is a GNOME Shell extension which bring back Tray Icons to top panel, with additional features.", "link": "https://extensions.gnome.org/extension/2890/tray-icons-reloaded/", "shell_version_map": {"38": {"version": "11", "sha256": "16dx06l7m8jjcy1xr7s3vj57csnbdmdwlmmjwxhilq10a1dapiw8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLiIsCiAgIm5hbWUiOiAiVHJheSBJY29uczogUmVsb2FkZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJheUljb25zUmVsb2FkZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXJ0aW5QTC9UcmF5LUljb25zLVJlbG9hZGVkIiwKICAidXVpZCI6ICJ0cmF5SWNvbnNSZWxvYWRlZEBzZWxmbWFkZS5wbCIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "16", "sha256": "0ywl1v26b3qfkj58g2l7y1g2qf1fi7kkjd6403546hwyzcqkph0z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLiIsCiAgIm5hbWUiOiAiVHJheSBJY29uczogUmVsb2FkZWQiLAogICJvcGVuLWJsYWNrbGlzdCI6IFsKICAgICJFbGVjdHJvbiIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJheUljb25zUmVsb2FkZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvVHJheS1JY29ucy1SZWxvYWRlZCIsCiAgInV1aWQiOiAidHJheUljb25zUmVsb2FkZWRAc2VsZm1hZGUucGwiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "22", "sha256": "0nmrjpk93afmywq0zrm7qjpkil6s6wszmr9f78q0ybnjv58jf953", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLiIsCiAgIm5hbWUiOiAiVHJheSBJY29uczogUmVsb2FkZWQiLAogICJvcGVuLWJsYWNrbGlzdCI6IFsKICAgICJFbGVjdHJvbiIsCiAgICAiWWFkIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmF5SWNvbnNSZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXJ0aW5QTC9UcmF5LUljb25zLVJlbG9hZGVkIiwKICAidXVpZCI6ICJ0cmF5SWNvbnNSZWxvYWRlZEBzZWxmbWFkZS5wbCIsCiAgInZlcnNpb24iOiAyMgp9"}, "42": {"version": "25", "sha256": "0y3sks6idn9v2r54rb4i69gliip0c9na5q5kwl9vfc7irncgmqjr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLiIsCiAgIm5hbWUiOiAiVHJheSBJY29uczogUmVsb2FkZWQiLAogICJvcGVuLWJsYWNrbGlzdCI6IFsKICAgICJFbGVjdHJvbiIsCiAgICAiWWFkIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmF5SWNvbnNSZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXJ0aW5QTC9UcmF5LUljb25zLVJlbG9hZGVkIiwKICAidXVpZCI6ICJ0cmF5SWNvbnNSZWxvYWRlZEBzZWxmbWFkZS5wbCIsCiAgInZlcnNpb24iOiAyNQp9"}, "43": {"version": "26", "sha256": "1yx9w70ql13f0gnjbihkscyhi8mgapbl6p0hy0aqmnirhwn3fc31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLiIsCiAgIm5hbWUiOiAiVHJheSBJY29uczogUmVsb2FkZWQiLAogICJvcGVuLWJsYWNrbGlzdCI6IFsKICAgICJFbGVjdHJvbiIsCiAgICAiWWFkIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmF5SWNvbnNSZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXJ0aW5QTC9UcmF5LUljb25zLVJlbG9hZGVkIiwKICAidXVpZCI6ICJ0cmF5SWNvbnNSZWxvYWRlZEBzZWxmbWFkZS5wbCIsCiAgInZlcnNpb24iOiAyNgp9"}}}
-, {"uuid": "messagingmenu@lauinger-clan.de", "name": "Messaging Menu", "pname": "messaging-menu", "description": "A Messaging Menu for the Gnome Shell. All Email and Chat Applications in one Place.", "link": "https://extensions.gnome.org/extension/2896/messaging-menu/", "shell_version_map": {"38": {"version": "4", "sha256": "1xa0hyvs2aw1z7kg5gcsgh2pjn7b13zhps98j4xpwfiv6zm0sa73", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvbWVzc2FnaW5nbWVudSIsCiAgInV1aWQiOiAibWVzc2FnaW5nbWVudUBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "15", "sha256": "1zp8wrzwq1abflk075knscp3sfjihlskillbb5jzlrdmq834jq6r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L21lc3NhZ2luZ21lbnUiLAogICJ1dWlkIjogIm1lc3NhZ2luZ21lbnVAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "1zp8wrzwq1abflk075knscp3sfjihlskillbb5jzlrdmq834jq6r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L21lc3NhZ2luZ21lbnUiLAogICJ1dWlkIjogIm1lc3NhZ2luZ21lbnVAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxNQp9"}, "42": {"version": "15", "sha256": "1zp8wrzwq1abflk075knscp3sfjihlskillbb5jzlrdmq834jq6r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L21lc3NhZ2luZ21lbnUiLAogICJ1dWlkIjogIm1lc3NhZ2luZ21lbnVAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxNQp9"}, "43": {"version": "15", "sha256": "1zp8wrzwq1abflk075knscp3sfjihlskillbb5jzlrdmq834jq6r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L21lc3NhZ2luZ21lbnUiLAogICJ1dWlkIjogIm1lc3NhZ2luZ21lbnVAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxNQp9"}}}
+, {"uuid": "messagingmenu@lauinger-clan.de", "name": "Messaging Menu", "pname": "messaging-menu", "description": "A Messaging Menu for the Gnome Shell. All Email and Chat Applications in one Place.", "link": "https://extensions.gnome.org/extension/2896/messaging-menu/", "shell_version_map": {"38": {"version": "4", "sha256": "1xa0hyvs2aw1z7kg5gcsgh2pjn7b13zhps98j4xpwfiv6zm0sa73", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvbWVzc2FnaW5nbWVudSIsCiAgInV1aWQiOiAibWVzc2FnaW5nbWVudUBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "16", "sha256": "1xb9fj4i29sjxjj978mlab32kx0p0wwwbycp84ck12acr2p8l06l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L21lc3NhZ2luZ21lbnUiLAogICJ1dWlkIjogIm1lc3NhZ2luZ21lbnVAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxNgp9"}, "41": {"version": "16", "sha256": "1xb9fj4i29sjxjj978mlab32kx0p0wwwbycp84ck12acr2p8l06l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L21lc3NhZ2luZ21lbnUiLAogICJ1dWlkIjogIm1lc3NhZ2luZ21lbnVAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxNgp9"}, "42": {"version": "16", "sha256": "1xb9fj4i29sjxjj978mlab32kx0p0wwwbycp84ck12acr2p8l06l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L21lc3NhZ2luZ21lbnUiLAogICJ1dWlkIjogIm1lc3NhZ2luZ21lbnVAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxNgp9"}, "43": {"version": "16", "sha256": "1xb9fj4i29sjxjj978mlab32kx0p0wwwbycp84ck12acr2p8l06l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L21lc3NhZ2luZ21lbnUiLAogICJ1dWlkIjogIm1lc3NhZ2luZ21lbnVAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxNgp9"}}}
 , {"uuid": "SettingsCenter@lauinger-clan.de", "name": "SettingsCenter", "pname": "settingscenter", "description": "Settings Center is a customizable drop-down menu for quickly launching frequently used apps in Gnome:Shell via the quicksettings. Originally created by XES.\n\nSettings shortcuts : gnome-tweak-tool, dconf-editor, gconf-editor, gnome-session-properties, gnome-shell-extension-prefs, seahorse and nvidia-settings. You can add your own\n\nOriginal source : http://svn.xesnet.fr/gnomeextensions", "link": "https://extensions.gnome.org/extension/2899/settingscenter/", "shell_version_map": {"38": {"version": "2", "sha256": "0sywdlmfgy4k5bkxmawcb7b8100g8wnpndmwvdzjq51xv5605gcs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSBxdWlja3NldHRpbmdzLiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyIsCiAgImxvY2FsZSI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2V0dGluZ3NDZW50ZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiWGVzLCBsMzAwbHZsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjQiLAogICAgIjMuNiIsCiAgICAiMy41LjQiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "11", "sha256": "17na0a5bm4qkh1lcch9frpmlxn44kg7d4lx96lmpx8v0zp4v0c2a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSBxdWlja3NldHRpbmdzLiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyIsCiAgImxvY2FsZSI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2V0dGluZ3NDZW50ZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiWGVzLCBsMzAwbHZsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLlNldHRpbmdzQ2VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L1hFUy1TZXR0aW5ncy1DZW50ZXItRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJTZXR0aW5nc0NlbnRlckBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "17na0a5bm4qkh1lcch9frpmlxn44kg7d4lx96lmpx8v0zp4v0c2a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSBxdWlja3NldHRpbmdzLiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyIsCiAgImxvY2FsZSI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2V0dGluZ3NDZW50ZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiWGVzLCBsMzAwbHZsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLlNldHRpbmdzQ2VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L1hFUy1TZXR0aW5ncy1DZW50ZXItRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJTZXR0aW5nc0NlbnRlckBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "17na0a5bm4qkh1lcch9frpmlxn44kg7d4lx96lmpx8v0zp4v0c2a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSBxdWlja3NldHRpbmdzLiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyIsCiAgImxvY2FsZSI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2V0dGluZ3NDZW50ZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiWGVzLCBsMzAwbHZsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLlNldHRpbmdzQ2VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L1hFUy1TZXR0aW5ncy1DZW50ZXItRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJTZXR0aW5nc0NlbnRlckBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "43": {"version": "13", "sha256": "07jx19xfn6np66nnm5ip1jhlp4nfh05qnvnhaqhq3h7yzshr92j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSBxdWlja3NldHRpbmdzLiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyIsCiAgImdldHRleHQtZG9tYWluIjogIlNldHRpbmdzQ2VudGVyIiwKICAibmFtZSI6ICJTZXR0aW5nc0NlbnRlciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJYZXMsIGwzMDBsdmwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuU2V0dGluZ3NDZW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L1hFUy1TZXR0aW5ncy1DZW50ZXItRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJTZXR0aW5nc0NlbnRlckBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "auto-mute-toggle@garotosopa.github.io", "name": "Auto-mute toggle", "pname": "auto-mute-toggle", "description": "Toggle whether to auto-mute speakers when headphones are plugged in.", "link": "https://extensions.gnome.org/extension/2905/auto-mute-toggle/", "shell_version_map": {"40": {"version": "6", "sha256": "1lyh51gvsh9ydip77vjj8rigjiah97lh8gp91jcpqblwx69fs3dk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB3aGV0aGVyIHRvIGF1dG8tbXV0ZSBzcGVha2VycyB3aGVuIGhlYWRwaG9uZXMgYXJlIHBsdWdnZWQgaW4uIiwKICAibmFtZSI6ICJBdXRvLW11dGUgdG9nZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dhcm90b3NvcGEvZ3NlLWF1dG8tbXV0ZS10b2dnbGUiLAogICJ1dWlkIjogImF1dG8tbXV0ZS10b2dnbGVAZ2Fyb3Rvc29wYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "optimus-manager-indicator@andr3slelouch.github.com", "name": "Optimus Manager Indicator", "pname": "optimus-manager-indicator", "description": "Intel/Hybrid/NVIDIA GPU Switch Note: The GPU mode activated doesn't show up in the options, by example: When you turn on the PC you are gonna be in Intel mode so Intel option is not gonna be shown. Note: Optimus Manager Indicator is made(for the moment) for Arch based distributions with optimus-manager.", "link": "https://extensions.gnome.org/extension/2908/optimus-manager-indicator/", "shell_version_map": {"38": {"version": "5", "sha256": "1mqgnwfdbd2460ngkkq6wiswvb9bvwgm5n32j7jgvn1xhb3mqn58", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVsL0h5YnJpZC9OVklESUEgR1BVIFN3aXRjaCBOb3RlOiBUaGUgR1BVIG1vZGUgYWN0aXZhdGVkIGRvZXNuJ3Qgc2hvdyB1cCBpbiB0aGUgb3B0aW9ucywgYnkgZXhhbXBsZTogV2hlbiB5b3UgdHVybiBvbiB0aGUgUEMgeW91IGFyZSBnb25uYSBiZSBpbiBJbnRlbCBtb2RlIHNvIEludGVsIG9wdGlvbiBpcyBub3QgZ29ubmEgYmUgc2hvd24uIE5vdGU6IE9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IgaXMgbWFkZShmb3IgdGhlIG1vbWVudCkgZm9yIEFyY2ggYmFzZWQgZGlzdHJpYnV0aW9ucyB3aXRoIG9wdGltdXMtbWFuYWdlci4iLAogICJuYW1lIjogIk9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyM3NsZWxvdWNoL09wdGltdXMtTWFuYWdlci1JbmRpY2F0b3IiLAogICJ1dWlkIjogIm9wdGltdXMtbWFuYWdlci1pbmRpY2F0b3JAYW5kcjNzbGVsb3VjaC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "1mqgnwfdbd2460ngkkq6wiswvb9bvwgm5n32j7jgvn1xhb3mqn58", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVsL0h5YnJpZC9OVklESUEgR1BVIFN3aXRjaCBOb3RlOiBUaGUgR1BVIG1vZGUgYWN0aXZhdGVkIGRvZXNuJ3Qgc2hvdyB1cCBpbiB0aGUgb3B0aW9ucywgYnkgZXhhbXBsZTogV2hlbiB5b3UgdHVybiBvbiB0aGUgUEMgeW91IGFyZSBnb25uYSBiZSBpbiBJbnRlbCBtb2RlIHNvIEludGVsIG9wdGlvbiBpcyBub3QgZ29ubmEgYmUgc2hvd24uIE5vdGU6IE9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IgaXMgbWFkZShmb3IgdGhlIG1vbWVudCkgZm9yIEFyY2ggYmFzZWQgZGlzdHJpYnV0aW9ucyB3aXRoIG9wdGltdXMtbWFuYWdlci4iLAogICJuYW1lIjogIk9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyM3NsZWxvdWNoL09wdGltdXMtTWFuYWdlci1JbmRpY2F0b3IiLAogICJ1dWlkIjogIm9wdGltdXMtbWFuYWdlci1pbmRpY2F0b3JAYW5kcjNzbGVsb3VjaC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
@@ -398,7 +398,7 @@
 , {"uuid": "battery-status@atareao.es", "name": "Battery Status", "pname": "battery-status", "description": "Get information about your battery status", "link": "https://extensions.gnome.org/extension/3763/battery-status/", "shell_version_map": {"40": {"version": "6", "sha256": "00zz3f00bdr95579250m7blrgavqziwh88dw45x928lq06xb052w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIGJhdHRlcnkgc3RhdHVzIiwKICAiZXh0ZW5zaW9uLWlkIjogImJhdHRlcnktc3RhdHVzQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5LXN0YXR1c0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJiYXR0ZXJ5LXN0YXR1cy1pY29uIiwKICAibmFtZSI6ICJCYXR0ZXJ5IFN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLmJhdHRlcnktc3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby9iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYmF0dGVyeS1zdGF0dXNAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "00zz3f00bdr95579250m7blrgavqziwh88dw45x928lq06xb052w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIGJhdHRlcnkgc3RhdHVzIiwKICAiZXh0ZW5zaW9uLWlkIjogImJhdHRlcnktc3RhdHVzQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5LXN0YXR1c0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJiYXR0ZXJ5LXN0YXR1cy1pY29uIiwKICAibmFtZSI6ICJCYXR0ZXJ5IFN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLmJhdHRlcnktc3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby9iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYmF0dGVyeS1zdGF0dXNAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "00zz3f00bdr95579250m7blrgavqziwh88dw45x928lq06xb052w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIGJhdHRlcnkgc3RhdHVzIiwKICAiZXh0ZW5zaW9uLWlkIjogImJhdHRlcnktc3RhdHVzQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5LXN0YXR1c0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJiYXR0ZXJ5LXN0YXR1cy1pY29uIiwKICAibmFtZSI6ICJCYXR0ZXJ5IFN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLmJhdHRlcnktc3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby9iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYmF0dGVyeS1zdGF0dXNAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "distinct@sireliah.com", "name": "Distinct Windows", "pname": "distinct-windows", "description": "Visually differentiate windows with colors and symbols", "link": "https://extensions.gnome.org/extension/3769/distinct-windows/", "shell_version_map": {"38": {"version": "4", "sha256": "1iqga92l9mk3ykf8bdy9igvqfx9k78jasdmqsrrz9zcz33d7k4h7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc3VhbGx5IGRpZmZlcmVudGlhdGUgd2luZG93cyB3aXRoIGNvbG9ycyBhbmQgc3ltYm9scyIsCiAgIm5hbWUiOiAiRGlzdGluY3QgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NpcmVsaWFoL2Rpc3RpbmN0LXdpbmRvd3MiLAogICJ1dWlkIjogImRpc3RpbmN0QHNpcmVsaWFoLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "miniCal2@breiq", "name": "Minimalist Calendar 2", "pname": "minimalist-calendar-2", "description": "Remove event list and clock/calendar app buttons from the calendar window.", "link": "https://extensions.gnome.org/extension/3775/minimalist-calendar-2/", "shell_version_map": {"38": {"version": "1", "sha256": "1nh10ik3zk3r4jr31mr8nw8nnamgj3mk1f3im06657wv18x9wvam", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIiwKICAibmFtZSI6ICJNaW5pbWFsaXN0IENhbGVuZGFyIDIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibWluaUNhbDJAYnJlaXEiLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "ddterm@amezin.github.com", "name": "ddterm", "pname": "ddterm", "description": "Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively", "link": "https://extensions.gnome.org/extension/3780/ddterm/", "shell_version_map": {"38": {"version": "40", "sha256": "1fa8fr4gwjsvr46h991fx245vgzz3kba73k3l6l2ix3sgfiggfkr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="}, "40": {"version": "40", "sha256": "1fa8fr4gwjsvr46h991fx245vgzz3kba73k3l6l2ix3sgfiggfkr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="}, "41": {"version": "40", "sha256": "1fa8fr4gwjsvr46h991fx245vgzz3kba73k3l6l2ix3sgfiggfkr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="}, "42": {"version": "40", "sha256": "1fa8fr4gwjsvr46h991fx245vgzz3kba73k3l6l2ix3sgfiggfkr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="}, "43": {"version": "40", "sha256": "1fa8fr4gwjsvr46h991fx245vgzz3kba73k3l6l2ix3sgfiggfkr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="}}}
+, {"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": "41", "sha256": "0cff42krfad74yscn0l36p1sgskdg86wqdr5a3hrwy2777i4ds5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQxCn0="}, "40": {"version": "41", "sha256": "0cff42krfad74yscn0l36p1sgskdg86wqdr5a3hrwy2777i4ds5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQxCn0="}, "41": {"version": "41", "sha256": "0cff42krfad74yscn0l36p1sgskdg86wqdr5a3hrwy2777i4ds5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQxCn0="}, "42": {"version": "41", "sha256": "0cff42krfad74yscn0l36p1sgskdg86wqdr5a3hrwy2777i4ds5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQxCn0="}, "43": {"version": "41", "sha256": "0cff42krfad74yscn0l36p1sgskdg86wqdr5a3hrwy2777i4ds5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgImdldHRleHQtZG9tYWluIjogImRkdGVybUBhbWV6aW4uZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kZHRlcm0vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkdGVybSIsCiAgInV1aWQiOiAiZGR0ZXJtQGFtZXppbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQxCn0="}}}
 , {"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": "6", "sha256": "0fgz8zcs913i13jar3bvwp41zvc9gmgmwg3xiw71jlhbjl128f07", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vbm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi10aW1lb3V0QGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0fgz8zcs913i13jar3bvwp41zvc9gmgmwg3xiw71jlhbjl128f07", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vbm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi10aW1lb3V0QGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0fgz8zcs913i13jar3bvwp41zvc9gmgmwg3xiw71jlhbjl128f07", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vbm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi10aW1lb3V0QGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "0fgz8zcs913i13jar3bvwp41zvc9gmgmwg3xiw71jlhbjl128f07", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vbm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi10aW1lb3V0QGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "43": {"version": "6", "sha256": "0fgz8zcs913i13jar3bvwp41zvc9gmgmwg3xiw71jlhbjl128f07", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vbm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi10aW1lb3V0QGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"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=="}}}
@@ -417,7 +417,7 @@
 , {"uuid": "sticky-terminal@fthx", "name": "Sticky Terminal", "pname": "sticky-terminal", "description": "Toggle a sticky GNOME terminal window. Your terminal window will always be in foreground while you use another app.\n\nA button in panel allows to toggle the visibility of the terminal. Window is resizeable.\n\nYou can easily change it to default another terminal app or another app. Some other settings. See comments in extension.js file.", "link": "https://extensions.gnome.org/extension/3915/sticky-terminal/", "shell_version_map": {"38": {"version": "2", "sha256": "0j65ihfhama6scp2b8qbqr1h4gamy4v0w1ygxrfglhvl3jhjm5zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBhIHN0aWNreSBHTk9NRSB0ZXJtaW5hbCB3aW5kb3cuIFlvdXIgdGVybWluYWwgd2luZG93IHdpbGwgYWx3YXlzIGJlIGluIGZvcmVncm91bmQgd2hpbGUgeW91IHVzZSBhbm90aGVyIGFwcC5cblxuQSBidXR0b24gaW4gcGFuZWwgYWxsb3dzIHRvIHRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgdGVybWluYWwuIFdpbmRvdyBpcyByZXNpemVhYmxlLlxuXG5Zb3UgY2FuIGVhc2lseSBjaGFuZ2UgaXQgdG8gZGVmYXVsdCBhbm90aGVyIHRlcm1pbmFsIGFwcCBvciBhbm90aGVyIGFwcC4gU29tZSBvdGhlciBzZXR0aW5ncy4gU2VlIGNvbW1lbnRzIGluIGV4dGVuc2lvbi5qcyBmaWxlLiIsCiAgIm5hbWUiOiAiU3RpY2t5IFRlcm1pbmFsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zdGlja3ktdGVybWluYWwiLAogICJ1dWlkIjogInN0aWNreS10ZXJtaW5hbEBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "sticky-r-terminal@fthx", "name": "Sticky R Terminal", "pname": "sticky-r-terminal", "description": "Toggle a sticky R terminal window. Your R window will always be in foreground while you use another app.\n\nYou can easily change it to default another terminal app or another app. Some other settings. See comments in extension.js file. Same extension only running a terminal: https://extensions.gnome.org/extension/3915/sticky-terminal . You can use it with R if this extension does not work for your R installation setup.\n\nKeywords: stat, stats, statistics, statistical, r-cran.", "link": "https://extensions.gnome.org/extension/3916/sticky-r-terminal/", "shell_version_map": {"38": {"version": "1", "sha256": "17x84g6fb785jmcl5jz41nw4rgzaad48mc5zllh5b3a485731f0s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBhIHN0aWNreSBSIHRlcm1pbmFsIHdpbmRvdy4gWW91ciBSIHdpbmRvdyB3aWxsIGFsd2F5cyBiZSBpbiBmb3JlZ3JvdW5kIHdoaWxlIHlvdSB1c2UgYW5vdGhlciBhcHAuXG5cbllvdSBjYW4gZWFzaWx5IGNoYW5nZSBpdCB0byBkZWZhdWx0IGFub3RoZXIgdGVybWluYWwgYXBwIG9yIGFub3RoZXIgYXBwLiBTb21lIG90aGVyIHNldHRpbmdzLiBTZWUgY29tbWVudHMgaW4gZXh0ZW5zaW9uLmpzIGZpbGUuIFNhbWUgZXh0ZW5zaW9uIG9ubHkgcnVubmluZyBhIHRlcm1pbmFsOiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zOTE1L3N0aWNreS10ZXJtaW5hbCAuIFlvdSBjYW4gdXNlIGl0IHdpdGggUiBpZiB0aGlzIGV4dGVuc2lvbiBkb2VzIG5vdCB3b3JrIGZvciB5b3VyIFIgaW5zdGFsbGF0aW9uIHNldHVwLlxuXG5LZXl3b3Jkczogc3RhdCwgc3RhdHMsIHN0YXRpc3RpY3MsIHN0YXRpc3RpY2FsLCByLWNyYW4uIiwKICAibmFtZSI6ICJTdGlja3kgUiBUZXJtaW5hbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvc3RpY2t5LXItdGVybWluYWwiLAogICJ1dWlkIjogInN0aWNreS1yLXRlcm1pbmFsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "onedrive@diegobazzanella.com", "name": "One Drive", "pname": "one-drive", "description": "One Drive extension", "link": "https://extensions.gnome.org/extension/3919/one-drive/", "shell_version_map": {"38": {"version": "4", "sha256": "0h37rr9hw6azrlf465ngl7w7miii9bm4sh33wkr0x8q51rz62ydd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZSBEcml2ZSBleHRlbnNpb24iLAogICJuYW1lIjogIk9uZSBEcml2ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RiYXp6YS9vbmVEcml2ZSIsCiAgInV1aWQiOiAib25lZHJpdmVAZGllZ29iYXp6YW5lbGxhLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "snowy@exposedcat", "name": "Snowy", "pname": "snowy", "description": "Adds snow to your system\nP.S. Looking for help with UI. Please submit an issue on GitHub if you want to help", "link": "https://extensions.gnome.org/extension/3921/snowy/", "shell_version_map": {"40": {"version": "12", "sha256": "1zq04rr1s6xghiv3ck4w2cb3x98iq16xy6ndqb03dv8f030l9kdj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc25vdyB0byB5b3VyIHN5c3RlbVxuUC5TLiBMb29raW5nIGZvciBoZWxwIHdpdGggVUkuIFBsZWFzZSBzdWJtaXQgYW4gaXNzdWUgb24gR2l0SHViIGlmIHlvdSB3YW50IHRvIGhlbHAiLAogICJuYW1lIjogIlNub3d5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FeHBvc2VkQ2F0L3Nub3d5IiwKICAidXVpZCI6ICJzbm93eUBleHBvc2VkY2F0IiwKICAidmVyc2lvbiI6IDEyCn0="}, "41": {"version": "12", "sha256": "1zq04rr1s6xghiv3ck4w2cb3x98iq16xy6ndqb03dv8f030l9kdj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc25vdyB0byB5b3VyIHN5c3RlbVxuUC5TLiBMb29raW5nIGZvciBoZWxwIHdpdGggVUkuIFBsZWFzZSBzdWJtaXQgYW4gaXNzdWUgb24gR2l0SHViIGlmIHlvdSB3YW50IHRvIGhlbHAiLAogICJuYW1lIjogIlNub3d5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FeHBvc2VkQ2F0L3Nub3d5IiwKICAidXVpZCI6ICJzbm93eUBleHBvc2VkY2F0IiwKICAidmVyc2lvbiI6IDEyCn0="}}}
+, {"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": "14", "sha256": "015q21hnllkpj3566rr8086qi9kcig5n5wgg91j3s4j62sszwa2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91IGZlc3RpdmUgbW9vZCB3aXRoIGZhbGxpbmcgc25vdyBvbiB5b3VyIEdOT01FIERFIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRXhwb3NlZENhdC9zbm93eSIsCiAgInV1aWQiOiAic25vd3lAZXhwb3NlZGNhdCIsCiAgInZlcnNpb24iOiAxNAp9"}, "41": {"version": "14", "sha256": "015q21hnllkpj3566rr8086qi9kcig5n5wgg91j3s4j62sszwa2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91IGZlc3RpdmUgbW9vZCB3aXRoIGZhbGxpbmcgc25vdyBvbiB5b3VyIEdOT01FIERFIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRXhwb3NlZENhdC9zbm93eSIsCiAgInV1aWQiOiAic25vd3lAZXhwb3NlZGNhdCIsCiAgInZlcnNpb24iOiAxNAp9"}, "42": {"version": "14", "sha256": "015q21hnllkpj3566rr8086qi9kcig5n5wgg91j3s4j62sszwa2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91IGZlc3RpdmUgbW9vZCB3aXRoIGZhbGxpbmcgc25vdyBvbiB5b3VyIEdOT01FIERFIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRXhwb3NlZENhdC9zbm93eSIsCiAgInV1aWQiOiAic25vd3lAZXhwb3NlZGNhdCIsCiAgInZlcnNpb24iOiAxNAp9"}, "43": {"version": "14", "sha256": "015q21hnllkpj3566rr8086qi9kcig5n5wgg91j3s4j62sszwa2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91IGZlc3RpdmUgbW9vZCB3aXRoIGZhbGxpbmcgc25vdyBvbiB5b3VyIEdOT01FIERFIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRXhwb3NlZENhdC9zbm93eSIsCiAgInV1aWQiOiAic25vd3lAZXhwb3NlZGNhdCIsCiAgInZlcnNpb24iOiAxNAp9"}}}
 , {"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": "10", "sha256": "0y5myj24bkci6y944dnl9p52jz87fiqjxq5x3xcm8s4lc7zgzkfs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NjYXJ5cmF3ci9nbm9tZS1mb2N1cyIsCiAgInV1aWQiOiAiZm9jdXNAc2NhcnlyYXdyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "0y5myj24bkci6y944dnl9p52jz87fiqjxq5x3xcm8s4lc7zgzkfs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NjYXJ5cmF3ci9nbm9tZS1mb2N1cyIsCiAgInV1aWQiOiAiZm9jdXNAc2NhcnlyYXdyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "0y5myj24bkci6y944dnl9p52jz87fiqjxq5x3xcm8s4lc7zgzkfs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NjYXJ5cmF3ci9nbm9tZS1mb2N1cyIsCiAgInV1aWQiOiAiZm9jdXNAc2NhcnlyYXdyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "42": {"version": "10", "sha256": "0y5myj24bkci6y944dnl9p52jz87fiqjxq5x3xcm8s4lc7zgzkfs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NjYXJ5cmF3ci9nbm9tZS1mb2N1cyIsCiAgInV1aWQiOiAiZm9jdXNAc2NhcnlyYXdyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "43": {"version": "10", "sha256": "0y5myj24bkci6y944dnl9p52jz87fiqjxq5x3xcm8s4lc7zgzkfs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NjYXJ5cmF3ci9nbm9tZS1mb2N1cyIsCiAgInV1aWQiOiAiZm9jdXNAc2NhcnlyYXdyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"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": "6", "sha256": "1p4fyaxdhnyfzz1ba6zvpjv2ik5mvrc55cv2ii0ghr6ia0xi5yda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qb3NlcGhsYmFybmV0dC9hdXRvc2VsZWN0aGVhZHNldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImF1dG9zZWxlY3RoZWFkc2V0QGpvc2VwaGxiYXJuZXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1p4fyaxdhnyfzz1ba6zvpjv2ik5mvrc55cv2ii0ghr6ia0xi5yda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qb3NlcGhsYmFybmV0dC9hdXRvc2VsZWN0aGVhZHNldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImF1dG9zZWxlY3RoZWFkc2V0QGpvc2VwaGxiYXJuZXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1p4fyaxdhnyfzz1ba6zvpjv2ik5mvrc55cv2ii0ghr6ia0xi5yda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qb3NlcGhsYmFybmV0dC9hdXRvc2VsZWN0aGVhZHNldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImF1dG9zZWxlY3RoZWFkc2V0QGpvc2VwaGxiYXJuZXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "1p4fyaxdhnyfzz1ba6zvpjv2ik5mvrc55cv2ii0ghr6ia0xi5yda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qb3NlcGhsYmFybmV0dC9hdXRvc2VsZWN0aGVhZHNldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImF1dG9zZWxlY3RoZWFkc2V0QGpvc2VwaGxiYXJuZXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "43": {"version": "6", "sha256": "1p4fyaxdhnyfzz1ba6zvpjv2ik5mvrc55cv2ii0ghr6ia0xi5yda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qb3NlcGhsYmFybmV0dC9hdXRvc2VsZWN0aGVhZHNldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImF1dG9zZWxlY3RoZWFkc2V0QGpvc2VwaGxiYXJuZXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"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=="}}}
@@ -613,9 +613,9 @@
 , {"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": "1g9jsfwxxz2as2nwkqdzr0km24ykkzhdfmya9mqxvr68fsanw27n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9pdC11bmQtZW50d2lja2x1bmctZmcvVXNlcm5hbWUtYW5kLUhvc3RuYW1lLyIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1g9jsfwxxz2as2nwkqdzr0km24ykkzhdfmya9mqxvr68fsanw27n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9pdC11bmQtZW50d2lja2x1bmctZmcvVXNlcm5hbWUtYW5kLUhvc3RuYW1lLyIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1g9jsfwxxz2as2nwkqdzr0km24ykkzhdfmya9mqxvr68fsanw27n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9pdC11bmQtZW50d2lja2x1bmctZmcvVXNlcm5hbWUtYW5kLUhvc3RuYW1lLyIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "1g9jsfwxxz2as2nwkqdzr0km24ykkzhdfmya9mqxvr68fsanw27n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9pdC11bmQtZW50d2lja2x1bmctZmcvVXNlcm5hbWUtYW5kLUhvc3RuYW1lLyIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"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": "7", "sha256": "12szbvm51zq13z9mqfvwsrwbjhqf59f9cwnmpa204c7yxnfcxqp1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cbiBJdCBpcyBhIGZvcmsgb2YgSW50ZXJuZXRTcGVlZE1ldGVyIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yaXNodWluZmluaXR5L0ludGVybmV0U3BlZWRNb25pdG9yIiwKICAidXVpZCI6ICJJbnRlcm5ldFNwZWVkTW9uaXRvckBSaXNodSIsCiAgInZlcnNpb24iOiA3Cn0="}, "43": {"version": "7", "sha256": "12szbvm51zq13z9mqfvwsrwbjhqf59f9cwnmpa204c7yxnfcxqp1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cbiBJdCBpcyBhIGZvcmsgb2YgSW50ZXJuZXRTcGVlZE1ldGVyIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yaXNodWluZmluaXR5L0ludGVybmV0U3BlZWRNb25pdG9yIiwKICAidXVpZCI6ICJJbnRlcm5ldFNwZWVkTW9uaXRvckBSaXNodSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"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": "9", "sha256": "16lv8hysyc0yla5w6i5l94nc9h425bgf9z3cj9xqfsfzc0icalga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hlbGVkYXJvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3IiLAogICJ1dWlkIjogInNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yQG1pY2hlbGVkYXJvcy5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "16lv8hysyc0yla5w6i5l94nc9h425bgf9z3cj9xqfsfzc0icalga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hlbGVkYXJvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3IiLAogICJ1dWlkIjogInNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yQG1pY2hlbGVkYXJvcy5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "16lv8hysyc0yla5w6i5l94nc9h425bgf9z3cj9xqfsfzc0icalga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hlbGVkYXJvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3IiLAogICJ1dWlkIjogInNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yQG1pY2hlbGVkYXJvcy5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "16lv8hysyc0yla5w6i5l94nc9h425bgf9z3cj9xqfsfzc0icalga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hlbGVkYXJvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3IiLAogICJ1dWlkIjogInNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yQG1pY2hlbGVkYXJvcy5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "43": {"version": "9", "sha256": "16lv8hysyc0yla5w6i5l94nc9h425bgf9z3cj9xqfsfzc0icalga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hlbGVkYXJvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3IiLAogICJ1dWlkIjogInNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yQG1pY2hlbGVkYXJvcy5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"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: \n  - Use a shortcut to move the in-focus window to a *new* workspace on the right of your current workspace: `Ctl + Super + Shift + Right`\n  - Or to the left / *backward*: `Ctl + Super + Shift + Left`\n\n\nNew-empty-workspace Shortcut:\n  - Use a shortcut to create an *empty* workspace on the right: `Ctl + Super + Alt + Right`\n  - Or to the left / *backward*: `Ctl + Super + Alt + Left`\n\n\nReorder-workspace Shortcut:\n  - Use a shortcut to move an entire workspace left or right of the current workspace: `Ctl + Super + Left` or `Ctl + Super + Right`\n\nFor more info, see the github page", "link": "https://extensions.gnome.org/extension/4597/new-workspace-shortcut/", "shell_version_map": {"41": {"version": "8", "sha256": "1dpvinjrgw5xspa614dkpr8v2ivzqvqsv3w652xwyhnwjsh9hxfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHdpbGwgZW5hYmxlIHRoZSBmb2xsb3dpbmc6XG5cbk1vdmUtd2luZG93LXRvLW5ldy13b3Jrc3BhY2UgU2hvcnRjdXQ6IFxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgdGhlIGluLWZvY3VzIHdpbmRvdyB0byBhICpuZXcqIHdvcmtzcGFjZSBvbiB0aGUgcmlnaHQgb2YgeW91ciBjdXJyZW50IHdvcmtzcGFjZTogYEN0bCArIFN1cGVyICsgU2hpZnQgKyBSaWdodGBcbiAgLSBPciB0byB0aGUgbGVmdCAvICpiYWNrd2FyZCo6IGBDdGwgKyBTdXBlciArIFNoaWZ0ICsgTGVmdGBcblxuXG5OZXctZW1wdHktd29ya3NwYWNlIFNob3J0Y3V0OlxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIGNyZWF0ZSBhbiAqZW1wdHkqIHdvcmtzcGFjZSBvbiB0aGUgcmlnaHQ6IGBDdGwgKyBTdXBlciArIEFsdCArIFJpZ2h0YFxuICAtIE9yIHRvIHRoZSBsZWZ0IC8gKmJhY2t3YXJkKjogYEN0bCArIFN1cGVyICsgQWx0ICsgTGVmdGBcblxuXG5SZW9yZGVyLXdvcmtzcGFjZSBTaG9ydGN1dDpcbiAgLSBVc2UgYSBzaG9ydGN1dCB0byBtb3ZlIGFuIGVudGlyZSB3b3Jrc3BhY2UgbGVmdCBvciByaWdodCBvZiB0aGUgY3VycmVudCB3b3Jrc3BhY2U6IGBDdGwgKyBTdXBlciArIExlZnRgIG9yIGBDdGwgKyBTdXBlciArIFJpZ2h0YFxuXG5Gb3IgbW9yZSBpbmZvLCBzZWUgdGhlIGdpdGh1YiBwYWdlIiwKICAibmFtZSI6ICJOZXcgV29ya3NwYWNlIFNob3J0Y3V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ld3dvcmtzcGFjZXNob3J0Y3V0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iYXJuc2NvdHQvbmV3d29ya3NwYWNlc2hvcnRjdXQtYmFybml4LmlvIiwKICAidXVpZCI6ICJuZXd3b3Jrc3BhY2VzaG9ydGN1dEBiYXJuaXguaW8iLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "1dpvinjrgw5xspa614dkpr8v2ivzqvqsv3w652xwyhnwjsh9hxfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHdpbGwgZW5hYmxlIHRoZSBmb2xsb3dpbmc6XG5cbk1vdmUtd2luZG93LXRvLW5ldy13b3Jrc3BhY2UgU2hvcnRjdXQ6IFxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgdGhlIGluLWZvY3VzIHdpbmRvdyB0byBhICpuZXcqIHdvcmtzcGFjZSBvbiB0aGUgcmlnaHQgb2YgeW91ciBjdXJyZW50IHdvcmtzcGFjZTogYEN0bCArIFN1cGVyICsgU2hpZnQgKyBSaWdodGBcbiAgLSBPciB0byB0aGUgbGVmdCAvICpiYWNrd2FyZCo6IGBDdGwgKyBTdXBlciArIFNoaWZ0ICsgTGVmdGBcblxuXG5OZXctZW1wdHktd29ya3NwYWNlIFNob3J0Y3V0OlxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIGNyZWF0ZSBhbiAqZW1wdHkqIHdvcmtzcGFjZSBvbiB0aGUgcmlnaHQ6IGBDdGwgKyBTdXBlciArIEFsdCArIFJpZ2h0YFxuICAtIE9yIHRvIHRoZSBsZWZ0IC8gKmJhY2t3YXJkKjogYEN0bCArIFN1cGVyICsgQWx0ICsgTGVmdGBcblxuXG5SZW9yZGVyLXdvcmtzcGFjZSBTaG9ydGN1dDpcbiAgLSBVc2UgYSBzaG9ydGN1dCB0byBtb3ZlIGFuIGVudGlyZSB3b3Jrc3BhY2UgbGVmdCBvciByaWdodCBvZiB0aGUgY3VycmVudCB3b3Jrc3BhY2U6IGBDdGwgKyBTdXBlciArIExlZnRgIG9yIGBDdGwgKyBTdXBlciArIFJpZ2h0YFxuXG5Gb3IgbW9yZSBpbmZvLCBzZWUgdGhlIGdpdGh1YiBwYWdlIiwKICAibmFtZSI6ICJOZXcgV29ya3NwYWNlIFNob3J0Y3V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ld3dvcmtzcGFjZXNob3J0Y3V0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iYXJuc2NvdHQvbmV3d29ya3NwYWNlc2hvcnRjdXQtYmFybml4LmlvIiwKICAidXVpZCI6ICJuZXd3b3Jrc3BhY2VzaG9ydGN1dEBiYXJuaXguaW8iLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"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: \n  - Use a shortcut to move the in-focus window to a *new* workspace on the right/left of your current workspace\n\nNew-empty-workspace Shortcut:\n  - Use a shortcut to create an *empty* workspace\n\nReorder-workspace Shortcut:\n  - Use a shortcut to move an entire workspace left or right of the current workspace", "link": "https://extensions.gnome.org/extension/4597/new-workspace-shortcut/", "shell_version_map": {"41": {"version": "9", "sha256": "0lhfwz45qb6dhfwg6f1hlhixibypzx9w6q1x8xh5pv04y2zb6h2a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHdpbGwgZW5hYmxlIHRoZSBmb2xsb3dpbmc6XG5cbk1vdmUtd2luZG93LXRvLW5ldy13b3Jrc3BhY2UgU2hvcnRjdXQ6IFxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgdGhlIGluLWZvY3VzIHdpbmRvdyB0byBhICpuZXcqIHdvcmtzcGFjZSBvbiB0aGUgcmlnaHQvbGVmdCBvZiB5b3VyIGN1cnJlbnQgd29ya3NwYWNlXG5cbk5ldy1lbXB0eS13b3Jrc3BhY2UgU2hvcnRjdXQ6XG4gIC0gVXNlIGEgc2hvcnRjdXQgdG8gY3JlYXRlIGFuICplbXB0eSogd29ya3NwYWNlXG5cblJlb3JkZXItd29ya3NwYWNlIFNob3J0Y3V0OlxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgYW4gZW50aXJlIHdvcmtzcGFjZSBsZWZ0IG9yIHJpZ2h0IG9mIHRoZSBjdXJyZW50IHdvcmtzcGFjZSIsCiAgIm5hbWUiOiAiTmV3IFdvcmtzcGFjZSBTaG9ydGN1dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uZXd3b3Jrc3BhY2VzaG9ydGN1dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Jhcm5zY290dC9uZXd3b3Jrc3BhY2VzaG9ydGN1dC1iYXJuaXguaW8iLAogICJ1dWlkIjogIm5ld3dvcmtzcGFjZXNob3J0Y3V0QGJhcm5peC5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}, "42": {"version": "9", "sha256": "0lhfwz45qb6dhfwg6f1hlhixibypzx9w6q1x8xh5pv04y2zb6h2a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHdpbGwgZW5hYmxlIHRoZSBmb2xsb3dpbmc6XG5cbk1vdmUtd2luZG93LXRvLW5ldy13b3Jrc3BhY2UgU2hvcnRjdXQ6IFxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgdGhlIGluLWZvY3VzIHdpbmRvdyB0byBhICpuZXcqIHdvcmtzcGFjZSBvbiB0aGUgcmlnaHQvbGVmdCBvZiB5b3VyIGN1cnJlbnQgd29ya3NwYWNlXG5cbk5ldy1lbXB0eS13b3Jrc3BhY2UgU2hvcnRjdXQ6XG4gIC0gVXNlIGEgc2hvcnRjdXQgdG8gY3JlYXRlIGFuICplbXB0eSogd29ya3NwYWNlXG5cblJlb3JkZXItd29ya3NwYWNlIFNob3J0Y3V0OlxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgYW4gZW50aXJlIHdvcmtzcGFjZSBsZWZ0IG9yIHJpZ2h0IG9mIHRoZSBjdXJyZW50IHdvcmtzcGFjZSIsCiAgIm5hbWUiOiAiTmV3IFdvcmtzcGFjZSBTaG9ydGN1dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uZXd3b3Jrc3BhY2VzaG9ydGN1dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Jhcm5zY290dC9uZXd3b3Jrc3BhY2VzaG9ydGN1dC1iYXJuaXguaW8iLAogICJ1dWlkIjogIm5ld3dvcmtzcGFjZXNob3J0Y3V0QGJhcm5peC5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}, "43": {"version": "9", "sha256": "0lhfwz45qb6dhfwg6f1hlhixibypzx9w6q1x8xh5pv04y2zb6h2a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHdpbGwgZW5hYmxlIHRoZSBmb2xsb3dpbmc6XG5cbk1vdmUtd2luZG93LXRvLW5ldy13b3Jrc3BhY2UgU2hvcnRjdXQ6IFxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgdGhlIGluLWZvY3VzIHdpbmRvdyB0byBhICpuZXcqIHdvcmtzcGFjZSBvbiB0aGUgcmlnaHQvbGVmdCBvZiB5b3VyIGN1cnJlbnQgd29ya3NwYWNlXG5cbk5ldy1lbXB0eS13b3Jrc3BhY2UgU2hvcnRjdXQ6XG4gIC0gVXNlIGEgc2hvcnRjdXQgdG8gY3JlYXRlIGFuICplbXB0eSogd29ya3NwYWNlXG5cblJlb3JkZXItd29ya3NwYWNlIFNob3J0Y3V0OlxuICAtIFVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgYW4gZW50aXJlIHdvcmtzcGFjZSBsZWZ0IG9yIHJpZ2h0IG9mIHRoZSBjdXJyZW50IHdvcmtzcGFjZSIsCiAgIm5hbWUiOiAiTmV3IFdvcmtzcGFjZSBTaG9ydGN1dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uZXd3b3Jrc3BhY2VzaG9ydGN1dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Jhcm5zY290dC9uZXd3b3Jrc3BhY2VzaG9ydGN1dC1iYXJuaXguaW8iLAogICJ1dWlkIjogIm5ld3dvcmtzcGFjZXNob3J0Y3V0QGJhcm5peC5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "p.stonham@switcheroo.org", "name": "Switcheroo", "pname": "switcheroo", "description": "Switch to the first window with the title x\n\nA very small extension to allow you to switch windows via gdbus. This is particularly useful if you are using wayland as utilities such as wmctrl won't work.\n\nSince Gnome 41 removed org.gnome.Shell.Eval for security reasons, if you ever used a command such as:\n\ngdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval\"var mw = global.get_window_actors().map(w=&gt;w.meta_window).find(mw=&gt;mw.get_title().includes('Firefox'));mw &amp;&amp; mw.activate(0)\"\n\nthis can now be replaced with:\n\ngdbus call --session --dest org.gnome.Shell --object-path /org/switcheroo/Switcheroo --method org.switcheroo.Switcheroo.Set Firefox\n\nThis can then be assigned to a shortcut key in Gnome settings or called programmatically.", "link": "https://extensions.gnome.org/extension/4600/switcheroo/", "shell_version_map": {"41": {"version": "3", "sha256": "0pfjhx8pm26zpizazd2pbpfqsr8vwc6znrm1cbf4ydcyvfxsnwwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB0byB0aGUgZmlyc3Qgd2luZG93IHdpdGggdGhlIHRpdGxlIHhcblxuQSB2ZXJ5IHNtYWxsIGV4dGVuc2lvbiB0byBhbGxvdyB5b3UgdG8gc3dpdGNoIHdpbmRvd3MgdmlhIGdkYnVzLiBUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgaWYgeW91IGFyZSB1c2luZyB3YXlsYW5kIGFzIHV0aWxpdGllcyBzdWNoIGFzIHdtY3RybCB3b24ndCB3b3JrLlxuXG5TaW5jZSBHbm9tZSA0MSByZW1vdmVkIG9yZy5nbm9tZS5TaGVsbC5FdmFsIGZvciBzZWN1cml0eSByZWFzb25zLCBpZiB5b3UgZXZlciB1c2VkIGEgY29tbWFuZCBzdWNoIGFzOlxuXG5nZGJ1cyBjYWxsIC0tc2Vzc2lvbiAtLWRlc3Qgb3JnLmdub21lLlNoZWxsIC0tb2JqZWN0LXBhdGggL29yZy9nbm9tZS9TaGVsbCAtLW1ldGhvZCBvcmcuZ25vbWUuU2hlbGwuRXZhbFwidmFyIG13ID0gZ2xvYmFsLmdldF93aW5kb3dfYWN0b3JzKCkubWFwKHc9Jmd0O3cubWV0YV93aW5kb3cpLmZpbmQobXc9Jmd0O213LmdldF90aXRsZSgpLmluY2x1ZGVzKCdGaXJlZm94JykpO213ICZhbXA7JmFtcDsgbXcuYWN0aXZhdGUoMClcIlxuXG50aGlzIGNhbiBub3cgYmUgcmVwbGFjZWQgd2l0aDpcblxuZ2RidXMgY2FsbCAtLXNlc3Npb24gLS1kZXN0IG9yZy5nbm9tZS5TaGVsbCAtLW9iamVjdC1wYXRoIC9vcmcvc3dpdGNoZXJvby9Td2l0Y2hlcm9vIC0tbWV0aG9kIG9yZy5zd2l0Y2hlcm9vLlN3aXRjaGVyb28uU2V0IEZpcmVmb3hcblxuVGhpcyBjYW4gdGhlbiBiZSBhc3NpZ25lZCB0byBhIHNob3J0Y3V0IGtleSBpbiBHbm9tZSBzZXR0aW5ncyBvciBjYWxsZWQgcHJvZ3JhbW1hdGljYWxseS4iLAogICJuYW1lIjogIlN3aXRjaGVyb28iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInAuc3RvbmhhbUBzd2l0Y2hlcm9vLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "sane-airplane-mode@kippi", "name": "Sane Airplane Mode", "pname": "sane-airplane-mode", "description": "Make airplane mode sane again! This extension gives you better control over the airplane mode. Or at least it is my attempt to make a utterly broken airplane mode implementation somewhat sane to handle.\n\nHint: With this extension you can also turn off the annoying \"Bluetooth gets turned on when I disable airplane mode\" behavior. \n\nTo everyone who is experiencing issues with this extension: Please report errors on GitHub!", "link": "https://extensions.gnome.org/extension/4604/sane-airplane-mode/", "shell_version_map": {"40": {"version": "8", "sha256": "0fkk9g35yfybqdg5mvv76b8hn8xdyxav92mk2cqn6gh1l5z0zgc7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gT3IgYXQgbGVhc3QgaXQgaXMgbXkgYXR0ZW1wdCB0byBtYWtlIGEgdXR0ZXJseSBicm9rZW4gYWlycGxhbmUgbW9kZSBpbXBsZW1lbnRhdGlvbiBzb21ld2hhdCBzYW5lIHRvIGhhbmRsZS5cblxuSGludDogV2l0aCB0aGlzIGV4dGVuc2lvbiB5b3UgY2FuIGFsc28gdHVybiBvZmYgdGhlIGFubm95aW5nIFwiQmx1ZXRvb3RoIGdldHMgdHVybmVkIG9uIHdoZW4gSSBkaXNhYmxlIGFpcnBsYW5lIG1vZGVcIiBiZWhhdmlvci4gXG5cblRvIGV2ZXJ5b25lIHdobyBpcyBleHBlcmllbmNpbmcgaXNzdWVzIHdpdGggdGhpcyBleHRlbnNpb246IFBsZWFzZSByZXBvcnQgZXJyb3JzIG9uIEdpdEh1YiEiLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hLaXBwaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2FuZS1haXJwbGFuZS1tb2RlIiwKICAidXVpZCI6ICJzYW5lLWFpcnBsYW5lLW1vZGVAa2lwcGkiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "0fkk9g35yfybqdg5mvv76b8hn8xdyxav92mk2cqn6gh1l5z0zgc7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gT3IgYXQgbGVhc3QgaXQgaXMgbXkgYXR0ZW1wdCB0byBtYWtlIGEgdXR0ZXJseSBicm9rZW4gYWlycGxhbmUgbW9kZSBpbXBsZW1lbnRhdGlvbiBzb21ld2hhdCBzYW5lIHRvIGhhbmRsZS5cblxuSGludDogV2l0aCB0aGlzIGV4dGVuc2lvbiB5b3UgY2FuIGFsc28gdHVybiBvZmYgdGhlIGFubm95aW5nIFwiQmx1ZXRvb3RoIGdldHMgdHVybmVkIG9uIHdoZW4gSSBkaXNhYmxlIGFpcnBsYW5lIG1vZGVcIiBiZWhhdmlvci4gXG5cblRvIGV2ZXJ5b25lIHdobyBpcyBleHBlcmllbmNpbmcgaXNzdWVzIHdpdGggdGhpcyBleHRlbnNpb246IFBsZWFzZSByZXBvcnQgZXJyb3JzIG9uIEdpdEh1YiEiLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hLaXBwaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2FuZS1haXJwbGFuZS1tb2RlIiwKICAidXVpZCI6ICJzYW5lLWFpcnBsYW5lLW1vZGVAa2lwcGkiLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "0fkk9g35yfybqdg5mvv76b8hn8xdyxav92mk2cqn6gh1l5z0zgc7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gT3IgYXQgbGVhc3QgaXQgaXMgbXkgYXR0ZW1wdCB0byBtYWtlIGEgdXR0ZXJseSBicm9rZW4gYWlycGxhbmUgbW9kZSBpbXBsZW1lbnRhdGlvbiBzb21ld2hhdCBzYW5lIHRvIGhhbmRsZS5cblxuSGludDogV2l0aCB0aGlzIGV4dGVuc2lvbiB5b3UgY2FuIGFsc28gdHVybiBvZmYgdGhlIGFubm95aW5nIFwiQmx1ZXRvb3RoIGdldHMgdHVybmVkIG9uIHdoZW4gSSBkaXNhYmxlIGFpcnBsYW5lIG1vZGVcIiBiZWhhdmlvci4gXG5cblRvIGV2ZXJ5b25lIHdobyBpcyBleHBlcmllbmNpbmcgaXNzdWVzIHdpdGggdGhpcyBleHRlbnNpb246IFBsZWFzZSByZXBvcnQgZXJyb3JzIG9uIEdpdEh1YiEiLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hLaXBwaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2FuZS1haXJwbGFuZS1tb2RlIiwKICAidXVpZCI6ICJzYW5lLWFpcnBsYW5lLW1vZGVAa2lwcGkiLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"uuid": "sane-airplane-mode@kippi", "name": "Sane Airplane Mode", "pname": "sane-airplane-mode", "description": "Make airplane mode sane again! This extension gives you better control over the airplane mode. \nHint: With this extension you can also turn off the annoying \"Bluetooth gets turned on when I disable airplane mode\" behaviour.", "link": "https://extensions.gnome.org/extension/4604/sane-airplane-mode/", "shell_version_map": {"40": {"version": "9", "sha256": "14p3wrx43a9lgq7g7bdmkj4i9jb6kpc1x8kl9q6197xdgyzpvll3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS94S2lwcGkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNhbmUtYWlycGxhbmUtbW9kZSIsCiAgInV1aWQiOiAic2FuZS1haXJwbGFuZS1tb2RlQGtpcHBpIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "14p3wrx43a9lgq7g7bdmkj4i9jb6kpc1x8kl9q6197xdgyzpvll3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS94S2lwcGkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNhbmUtYWlycGxhbmUtbW9kZSIsCiAgInV1aWQiOiAic2FuZS1haXJwbGFuZS1tb2RlQGtpcHBpIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "14p3wrx43a9lgq7g7bdmkj4i9jb6kpc1x8kl9q6197xdgyzpvll3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS94S2lwcGkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNhbmUtYWlycGxhbmUtbW9kZSIsCiAgInV1aWQiOiAic2FuZS1haXJwbGFuZS1tb2RlQGtpcHBpIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "43": {"version": "9", "sha256": "14p3wrx43a9lgq7g7bdmkj4i9jb6kpc1x8kl9q6197xdgyzpvll3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS94S2lwcGkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNhbmUtYWlycGxhbmUtbW9kZSIsCiAgInV1aWQiOiAic2FuZS1haXJwbGFuZS1tb2RlQGtpcHBpIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "undecorate@tabdeveloper.com", "name": "Undecorate Window for Wayland", "pname": "undecorate-window-for-wayland", "description": "Adds undecorate option to window menu to toggle window decoration.", "link": "https://extensions.gnome.org/extension/4606/undecorate-window-for-wayland/", "shell_version_map": {"40": {"version": "3", "sha256": "1ikbxwqdc204w6vjn1slbrmqvxmkcbyzgqg35jacv8r1z66n6nwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdW5kZWNvcmF0ZSBvcHRpb24gdG8gd2luZG93IG1lbnUgdG8gdG9nZ2xlIHdpbmRvdyBkZWNvcmF0aW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11bmRlY29yYXRlIiwKICAibmFtZSI6ICJVbmRlY29yYXRlIFdpbmRvdyBmb3IgV2F5bGFuZCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iLAogICAgInRpbUB0YWJkZXZlbG9wZXIuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmRlY29yYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGJyYW55ZW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAdGFiZGV2ZWxvcGVyLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1ikbxwqdc204w6vjn1slbrmqvxmkcbyzgqg35jacv8r1z66n6nwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdW5kZWNvcmF0ZSBvcHRpb24gdG8gd2luZG93IG1lbnUgdG8gdG9nZ2xlIHdpbmRvdyBkZWNvcmF0aW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11bmRlY29yYXRlIiwKICAibmFtZSI6ICJVbmRlY29yYXRlIFdpbmRvdyBmb3IgV2F5bGFuZCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iLAogICAgInRpbUB0YWJkZXZlbG9wZXIuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmRlY29yYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGJyYW55ZW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAdGFiZGV2ZWxvcGVyLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "1ikbxwqdc204w6vjn1slbrmqvxmkcbyzgqg35jacv8r1z66n6nwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdW5kZWNvcmF0ZSBvcHRpb24gdG8gd2luZG93IG1lbnUgdG8gdG9nZ2xlIHdpbmRvdyBkZWNvcmF0aW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11bmRlY29yYXRlIiwKICAibmFtZSI6ICJVbmRlY29yYXRlIFdpbmRvdyBmb3IgV2F5bGFuZCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iLAogICAgInRpbUB0YWJkZXZlbG9wZXIuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmRlY29yYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGJyYW55ZW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAdGFiZGV2ZWxvcGVyLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "zenbook-duo@laurinneff.ch", "name": "Asus ZenBook Duo Integration", "pname": "asus-zenbook-duo-integration", "description": "Integrate the features of the Asus ZenBook Duo into GNOME", "link": "https://extensions.gnome.org/extension/4607/asus-zenbook-duo-integration/", "shell_version_map": {"40": {"version": "5", "sha256": "1xljk5qklm8f9k6hx6ax2axp6r6si510706bksrsbzy72i2dp46w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSB0aGUgZmVhdHVyZXMgb2YgdGhlIEFzdXMgWmVuQm9vayBEdW8gaW50byBHTk9NRSIsCiAgIm5hbWUiOiAiQXN1cyBaZW5Cb29rIER1byBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJpbm5lZmYvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXplbmJvb2stZHVvIiwKICAidXVpZCI6ICJ6ZW5ib29rLWR1b0BsYXVyaW5uZWZmLmNoIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1xljk5qklm8f9k6hx6ax2axp6r6si510706bksrsbzy72i2dp46w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSB0aGUgZmVhdHVyZXMgb2YgdGhlIEFzdXMgWmVuQm9vayBEdW8gaW50byBHTk9NRSIsCiAgIm5hbWUiOiAiQXN1cyBaZW5Cb29rIER1byBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJpbm5lZmYvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXplbmJvb2stZHVvIiwKICAidXVpZCI6ICJ6ZW5ib29rLWR1b0BsYXVyaW5uZWZmLmNoIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "1xljk5qklm8f9k6hx6ax2axp6r6si510706bksrsbzy72i2dp46w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSB0aGUgZmVhdHVyZXMgb2YgdGhlIEFzdXMgWmVuQm9vayBEdW8gaW50byBHTk9NRSIsCiAgIm5hbWUiOiAiQXN1cyBaZW5Cb29rIER1byBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJpbm5lZmYvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXplbmJvb2stZHVvIiwKICAidXVpZCI6ICJ6ZW5ib29rLWR1b0BsYXVyaW5uZWZmLmNoIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "batterythreshold@francku.gitlab.com", "name": "Battery threshold", "pname": "battery-threshold", "description": "A simple extension for gnome-shell that let easily set a threshold to limit battery charge level.\n\nThis extension uses \"pkexec\" since sudo permissions are needed to change the threshold level.\n\nTested on Fedora Silverblue 35 (gnome-shell 3.41) on an Asus Vivobook.\n\nGithub page: https://github.com/francku/gnome-shell-extension-battery-threshold", "link": "https://extensions.gnome.org/extension/4612/battery-threshold/", "shell_version_map": {"41": {"version": "3", "sha256": "0jydbi1lwz6ls0rg3660b3s7gwlmkd9a08v1mhx12zp89rgrxfm2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZ25vbWUtc2hlbGwgdGhhdCBsZXQgZWFzaWx5IHNldCBhIHRocmVzaG9sZCB0byBsaW1pdCBiYXR0ZXJ5IGNoYXJnZSBsZXZlbC5cblxuVGhpcyBleHRlbnNpb24gdXNlcyBcInBrZXhlY1wiIHNpbmNlIHN1ZG8gcGVybWlzc2lvbnMgYXJlIG5lZWRlZCB0byBjaGFuZ2UgdGhlIHRocmVzaG9sZCBsZXZlbC5cblxuVGVzdGVkIG9uIEZlZG9yYSBTaWx2ZXJibHVlIDM1IChnbm9tZS1zaGVsbCAzLjQxKSBvbiBhbiBBc3VzIFZpdm9ib29rLlxuXG5HaXRodWIgcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2ZyYW5ja3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJhdHRlcnktdGhyZXNob2xkIiwKICAibmFtZSI6ICJCYXR0ZXJ5IHRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJiYXR0ZXJ5dGhyZXNob2xkQGZyYW5ja3UuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0jydbi1lwz6ls0rg3660b3s7gwlmkd9a08v1mhx12zp89rgrxfm2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZ25vbWUtc2hlbGwgdGhhdCBsZXQgZWFzaWx5IHNldCBhIHRocmVzaG9sZCB0byBsaW1pdCBiYXR0ZXJ5IGNoYXJnZSBsZXZlbC5cblxuVGhpcyBleHRlbnNpb24gdXNlcyBcInBrZXhlY1wiIHNpbmNlIHN1ZG8gcGVybWlzc2lvbnMgYXJlIG5lZWRlZCB0byBjaGFuZ2UgdGhlIHRocmVzaG9sZCBsZXZlbC5cblxuVGVzdGVkIG9uIEZlZG9yYSBTaWx2ZXJibHVlIDM1IChnbm9tZS1zaGVsbCAzLjQxKSBvbiBhbiBBc3VzIFZpdm9ib29rLlxuXG5HaXRodWIgcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2ZyYW5ja3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJhdHRlcnktdGhyZXNob2xkIiwKICAibmFtZSI6ICJCYXR0ZXJ5IHRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJiYXR0ZXJ5dGhyZXNob2xkQGZyYW5ja3UuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "43": {"version": "3", "sha256": "0jydbi1lwz6ls0rg3660b3s7gwlmkd9a08v1mhx12zp89rgrxfm2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZ25vbWUtc2hlbGwgdGhhdCBsZXQgZWFzaWx5IHNldCBhIHRocmVzaG9sZCB0byBsaW1pdCBiYXR0ZXJ5IGNoYXJnZSBsZXZlbC5cblxuVGhpcyBleHRlbnNpb24gdXNlcyBcInBrZXhlY1wiIHNpbmNlIHN1ZG8gcGVybWlzc2lvbnMgYXJlIG5lZWRlZCB0byBjaGFuZ2UgdGhlIHRocmVzaG9sZCBsZXZlbC5cblxuVGVzdGVkIG9uIEZlZG9yYSBTaWx2ZXJibHVlIDM1IChnbm9tZS1zaGVsbCAzLjQxKSBvbiBhbiBBc3VzIFZpdm9ib29rLlxuXG5HaXRodWIgcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2ZyYW5ja3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJhdHRlcnktdGhyZXNob2xkIiwKICAibmFtZSI6ICJCYXR0ZXJ5IHRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJiYXR0ZXJ5dGhyZXNob2xkQGZyYW5ja3UuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
@@ -650,13 +650,13 @@
 , {"uuid": "awesome-tiles@velitasali.com", "name": "Awesome Tiles", "pname": "awesome-tiles", "description": "Tile windows using keyboard shortcuts.", "link": "https://extensions.gnome.org/extension/4702/awesome-tiles/", "shell_version_map": {"40": {"version": "8", "sha256": "16xvdmlm7fgy81igyrxd29mfxih10f35vmiqcna8kvsnzxs77cp9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmVsaXRhc2FsaS9nbm9tZS1hd2Vzb21lLXRpbGVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXdlc29tZS10aWxlc0B2ZWxpdGFzYWxpLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "16xvdmlm7fgy81igyrxd29mfxih10f35vmiqcna8kvsnzxs77cp9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmVsaXRhc2FsaS9nbm9tZS1hd2Vzb21lLXRpbGVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXdlc29tZS10aWxlc0B2ZWxpdGFzYWxpLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "42": {"version": "8", "sha256": "16xvdmlm7fgy81igyrxd29mfxih10f35vmiqcna8kvsnzxs77cp9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmVsaXRhc2FsaS9nbm9tZS1hd2Vzb21lLXRpbGVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXdlc29tZS10aWxlc0B2ZWxpdGFzYWxpLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "43": {"version": "8", "sha256": "16xvdmlm7fgy81igyrxd29mfxih10f35vmiqcna8kvsnzxs77cp9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmVsaXRhc2FsaS9nbm9tZS1hd2Vzb21lLXRpbGVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXdlc29tZS10aWxlc0B2ZWxpdGFzYWxpLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "dock-from-dash@fthx", "name": "Dock from Dash", "pname": "dock-from-dash", "description": "Dock for GNOME Shell 40+. Does use native GNOME Shell Dash. Very light extension.\n\n Hover the bottom of your screen and GNOME Shell dash will appear without overview and will hide when you leave the dash. Native GNOME Shell click behavior is modified: minimize if one window is open, overview if many windows are open. Scroll on the dock to change workspace. Some preferences in UI (thanks @rastersoft).\n\n I'm not notified of messages here, please report bugs only through GitHub.", "link": "https://extensions.gnome.org/extension/4703/dock-from-dash/", "shell_version_map": {"40": {"version": "58", "sha256": "0z4k8mc6dqfhr8p7irqwimxskcn51gnrj9pyk6fw101rmqb0xm72", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZG9jay1mcm9tLWRhc2giLAogICJ1dWlkIjogImRvY2stZnJvbS1kYXNoQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "41": {"version": "58", "sha256": "0z4k8mc6dqfhr8p7irqwimxskcn51gnrj9pyk6fw101rmqb0xm72", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZG9jay1mcm9tLWRhc2giLAogICJ1dWlkIjogImRvY2stZnJvbS1kYXNoQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "42": {"version": "58", "sha256": "0z4k8mc6dqfhr8p7irqwimxskcn51gnrj9pyk6fw101rmqb0xm72", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZG9jay1mcm9tLWRhc2giLAogICJ1dWlkIjogImRvY2stZnJvbS1kYXNoQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "43": {"version": "58", "sha256": "0z4k8mc6dqfhr8p7irqwimxskcn51gnrj9pyk6fw101rmqb0xm72", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZG9jay1mcm9tLWRhc2giLAogICJ1dWlkIjogImRvY2stZnJvbS1kYXNoQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}}}
 , {"uuid": "another-window-session-manager@gmail.com", "name": "Another Window Session Manager", "pname": "another-window-session-manager", "description": "Close open windows gracefully and save them as a session. And you can restore them when necessary manually or automatically at startup. Most importantly, it supports both X11 and Wayland!\n\nMain features:\n- Close open windows gracefully\n- Close apps with multiple windows gracefully via `ydotool` so you don't lose sessions of this app. Please see https://github.com/nlpsuge/gnome-shell-extension-another-window-session-manager#how-to-restore-a-session-at-startup to learn how to make `Close by rules` work\n- Save open windows\n- Restore session(s)\n- Restore a session at startup. Please note that this feature is disabled by default. See https://github.com/nlpsuge/gnome-shell-extension-another-window-session-manager#how-to-restore-a-session-at-startup to learn how to enable and use it\n- Restore window state, including Always on Top,  Always on Visible Workspace and maximization\n- Restore window workspace, size and position\n- Restore 2 column window tiling\n- Stash all supported window states so that those states will be restored after gnome shell restarts via `Alt+F2 then type r` or `killall -3 gnome-shell`.\n- Move windows to their own workspace according to a saved session\n- Support multi-monitor\n- Remove saved session to trash\n- Search saved session by the session name fuzzily", "link": "https://extensions.gnome.org/extension/4709/another-window-session-manager/", "shell_version_map": {"40": {"version": "29", "sha256": "0x49f6j1jfk54aki0if1w5y6582p7dn486qc7aczbz304rq311va", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzIGdyYWNlZnVsbHlcbi0gQ2xvc2UgYXBwcyB3aXRoIG11bHRpcGxlIHdpbmRvd3MgZ3JhY2VmdWxseSB2aWEgYHlkb3Rvb2xgIHNvIHlvdSBkb24ndCBsb3NlIHNlc3Npb25zIG9mIHRoaXMgYXBwLiBQbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIjaG93LXRvLXJlc3RvcmUtYS1zZXNzaW9uLWF0LXN0YXJ0dXAgdG8gbGVhcm4gaG93IHRvIG1ha2UgYENsb3NlIGJ5IHJ1bGVzYCB3b3JrXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2Vzc2lvbihzKVxuLSBSZXN0b3JlIGEgc2Vzc2lvbiBhdCBzdGFydHVwLiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciNob3ctdG8tcmVzdG9yZS1hLXNlc3Npb24tYXQtc3RhcnR1cCB0byBsZWFybiBob3cgdG8gZW5hYmxlIGFuZCB1c2UgaXRcbi0gUmVzdG9yZSB3aW5kb3cgc3RhdGUsIGluY2x1ZGluZyBBbHdheXMgb24gVG9wLCAgQWx3YXlzIG9uIFZpc2libGUgV29ya3NwYWNlIGFuZCBtYXhpbWl6YXRpb25cbi0gUmVzdG9yZSB3aW5kb3cgd29ya3NwYWNlLCBzaXplIGFuZCBwb3NpdGlvblxuLSBSZXN0b3JlIDIgY29sdW1uIHdpbmRvdyB0aWxpbmdcbi0gU3Rhc2ggYWxsIHN1cHBvcnRlZCB3aW5kb3cgc3RhdGVzIHNvIHRoYXQgdGhvc2Ugc3RhdGVzIHdpbGwgYmUgcmVzdG9yZWQgYWZ0ZXIgZ25vbWUgc2hlbGwgcmVzdGFydHMgdmlhIGBBbHQrRjIgdGhlbiB0eXBlIHJgIG9yIGBraWxsYWxsIC0zIGdub21lLXNoZWxsYC5cbi0gTW92ZSB3aW5kb3dzIHRvIHRoZWlyIG93biB3b3Jrc3BhY2UgYWNjb3JkaW5nIHRvIGEgc2F2ZWQgc2Vzc2lvblxuLSBTdXBwb3J0IG11bHRpLW1vbml0b3Jcbi0gUmVtb3ZlIHNhdmVkIHNlc3Npb24gdG8gdHJhc2hcbi0gU2VhcmNoIHNhdmVkIHNlc3Npb24gYnkgdGhlIHNlc3Npb24gbmFtZSBmdXp6aWx5IiwKICAibmFtZSI6ICJBbm90aGVyIFdpbmRvdyBTZXNzaW9uIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyIiwKICAidXVpZCI6ICJhbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXJAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "41": {"version": "29", "sha256": "0x49f6j1jfk54aki0if1w5y6582p7dn486qc7aczbz304rq311va", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzIGdyYWNlZnVsbHlcbi0gQ2xvc2UgYXBwcyB3aXRoIG11bHRpcGxlIHdpbmRvd3MgZ3JhY2VmdWxseSB2aWEgYHlkb3Rvb2xgIHNvIHlvdSBkb24ndCBsb3NlIHNlc3Npb25zIG9mIHRoaXMgYXBwLiBQbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIjaG93LXRvLXJlc3RvcmUtYS1zZXNzaW9uLWF0LXN0YXJ0dXAgdG8gbGVhcm4gaG93IHRvIG1ha2UgYENsb3NlIGJ5IHJ1bGVzYCB3b3JrXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2Vzc2lvbihzKVxuLSBSZXN0b3JlIGEgc2Vzc2lvbiBhdCBzdGFydHVwLiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciNob3ctdG8tcmVzdG9yZS1hLXNlc3Npb24tYXQtc3RhcnR1cCB0byBsZWFybiBob3cgdG8gZW5hYmxlIGFuZCB1c2UgaXRcbi0gUmVzdG9yZSB3aW5kb3cgc3RhdGUsIGluY2x1ZGluZyBBbHdheXMgb24gVG9wLCAgQWx3YXlzIG9uIFZpc2libGUgV29ya3NwYWNlIGFuZCBtYXhpbWl6YXRpb25cbi0gUmVzdG9yZSB3aW5kb3cgd29ya3NwYWNlLCBzaXplIGFuZCBwb3NpdGlvblxuLSBSZXN0b3JlIDIgY29sdW1uIHdpbmRvdyB0aWxpbmdcbi0gU3Rhc2ggYWxsIHN1cHBvcnRlZCB3aW5kb3cgc3RhdGVzIHNvIHRoYXQgdGhvc2Ugc3RhdGVzIHdpbGwgYmUgcmVzdG9yZWQgYWZ0ZXIgZ25vbWUgc2hlbGwgcmVzdGFydHMgdmlhIGBBbHQrRjIgdGhlbiB0eXBlIHJgIG9yIGBraWxsYWxsIC0zIGdub21lLXNoZWxsYC5cbi0gTW92ZSB3aW5kb3dzIHRvIHRoZWlyIG93biB3b3Jrc3BhY2UgYWNjb3JkaW5nIHRvIGEgc2F2ZWQgc2Vzc2lvblxuLSBTdXBwb3J0IG11bHRpLW1vbml0b3Jcbi0gUmVtb3ZlIHNhdmVkIHNlc3Npb24gdG8gdHJhc2hcbi0gU2VhcmNoIHNhdmVkIHNlc3Npb24gYnkgdGhlIHNlc3Npb24gbmFtZSBmdXp6aWx5IiwKICAibmFtZSI6ICJBbm90aGVyIFdpbmRvdyBTZXNzaW9uIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyIiwKICAidXVpZCI6ICJhbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXJAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "42": {"version": "29", "sha256": "0x49f6j1jfk54aki0if1w5y6582p7dn486qc7aczbz304rq311va", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzIGdyYWNlZnVsbHlcbi0gQ2xvc2UgYXBwcyB3aXRoIG11bHRpcGxlIHdpbmRvd3MgZ3JhY2VmdWxseSB2aWEgYHlkb3Rvb2xgIHNvIHlvdSBkb24ndCBsb3NlIHNlc3Npb25zIG9mIHRoaXMgYXBwLiBQbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIjaG93LXRvLXJlc3RvcmUtYS1zZXNzaW9uLWF0LXN0YXJ0dXAgdG8gbGVhcm4gaG93IHRvIG1ha2UgYENsb3NlIGJ5IHJ1bGVzYCB3b3JrXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2Vzc2lvbihzKVxuLSBSZXN0b3JlIGEgc2Vzc2lvbiBhdCBzdGFydHVwLiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciNob3ctdG8tcmVzdG9yZS1hLXNlc3Npb24tYXQtc3RhcnR1cCB0byBsZWFybiBob3cgdG8gZW5hYmxlIGFuZCB1c2UgaXRcbi0gUmVzdG9yZSB3aW5kb3cgc3RhdGUsIGluY2x1ZGluZyBBbHdheXMgb24gVG9wLCAgQWx3YXlzIG9uIFZpc2libGUgV29ya3NwYWNlIGFuZCBtYXhpbWl6YXRpb25cbi0gUmVzdG9yZSB3aW5kb3cgd29ya3NwYWNlLCBzaXplIGFuZCBwb3NpdGlvblxuLSBSZXN0b3JlIDIgY29sdW1uIHdpbmRvdyB0aWxpbmdcbi0gU3Rhc2ggYWxsIHN1cHBvcnRlZCB3aW5kb3cgc3RhdGVzIHNvIHRoYXQgdGhvc2Ugc3RhdGVzIHdpbGwgYmUgcmVzdG9yZWQgYWZ0ZXIgZ25vbWUgc2hlbGwgcmVzdGFydHMgdmlhIGBBbHQrRjIgdGhlbiB0eXBlIHJgIG9yIGBraWxsYWxsIC0zIGdub21lLXNoZWxsYC5cbi0gTW92ZSB3aW5kb3dzIHRvIHRoZWlyIG93biB3b3Jrc3BhY2UgYWNjb3JkaW5nIHRvIGEgc2F2ZWQgc2Vzc2lvblxuLSBTdXBwb3J0IG11bHRpLW1vbml0b3Jcbi0gUmVtb3ZlIHNhdmVkIHNlc3Npb24gdG8gdHJhc2hcbi0gU2VhcmNoIHNhdmVkIHNlc3Npb24gYnkgdGhlIHNlc3Npb24gbmFtZSBmdXp6aWx5IiwKICAibmFtZSI6ICJBbm90aGVyIFdpbmRvdyBTZXNzaW9uIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyIiwKICAidXVpZCI6ICJhbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXJAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "43": {"version": "29", "sha256": "0x49f6j1jfk54aki0if1w5y6582p7dn486qc7aczbz304rq311va", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzIGdyYWNlZnVsbHlcbi0gQ2xvc2UgYXBwcyB3aXRoIG11bHRpcGxlIHdpbmRvd3MgZ3JhY2VmdWxseSB2aWEgYHlkb3Rvb2xgIHNvIHlvdSBkb24ndCBsb3NlIHNlc3Npb25zIG9mIHRoaXMgYXBwLiBQbGVhc2Ugc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIjaG93LXRvLXJlc3RvcmUtYS1zZXNzaW9uLWF0LXN0YXJ0dXAgdG8gbGVhcm4gaG93IHRvIG1ha2UgYENsb3NlIGJ5IHJ1bGVzYCB3b3JrXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2Vzc2lvbihzKVxuLSBSZXN0b3JlIGEgc2Vzc2lvbiBhdCBzdGFydHVwLiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciNob3ctdG8tcmVzdG9yZS1hLXNlc3Npb24tYXQtc3RhcnR1cCB0byBsZWFybiBob3cgdG8gZW5hYmxlIGFuZCB1c2UgaXRcbi0gUmVzdG9yZSB3aW5kb3cgc3RhdGUsIGluY2x1ZGluZyBBbHdheXMgb24gVG9wLCAgQWx3YXlzIG9uIFZpc2libGUgV29ya3NwYWNlIGFuZCBtYXhpbWl6YXRpb25cbi0gUmVzdG9yZSB3aW5kb3cgd29ya3NwYWNlLCBzaXplIGFuZCBwb3NpdGlvblxuLSBSZXN0b3JlIDIgY29sdW1uIHdpbmRvdyB0aWxpbmdcbi0gU3Rhc2ggYWxsIHN1cHBvcnRlZCB3aW5kb3cgc3RhdGVzIHNvIHRoYXQgdGhvc2Ugc3RhdGVzIHdpbGwgYmUgcmVzdG9yZWQgYWZ0ZXIgZ25vbWUgc2hlbGwgcmVzdGFydHMgdmlhIGBBbHQrRjIgdGhlbiB0eXBlIHJgIG9yIGBraWxsYWxsIC0zIGdub21lLXNoZWxsYC5cbi0gTW92ZSB3aW5kb3dzIHRvIHRoZWlyIG93biB3b3Jrc3BhY2UgYWNjb3JkaW5nIHRvIGEgc2F2ZWQgc2Vzc2lvblxuLSBTdXBwb3J0IG11bHRpLW1vbml0b3Jcbi0gUmVtb3ZlIHNhdmVkIHNlc3Npb24gdG8gdHJhc2hcbi0gU2VhcmNoIHNhdmVkIHNlc3Npb24gYnkgdGhlIHNlc3Npb24gbmFtZSBmdXp6aWx5IiwKICAibmFtZSI6ICJBbm90aGVyIFdpbmRvdyBTZXNzaW9uIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyIiwKICAidXVpZCI6ICJhbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXJAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}}}
-, {"uuid": "prevent-double-empty-window@silliewous.nl", "name": "Prevent double empty window", "pname": "prevent-double-empty-window", "description": "Set MIN_NUMBER_WORKSPACES to 1 so there is only one empty workspace when there are no windows open.\n\nhttps://gitlab.com/g3786/prevent-double-empty-window", "link": "https://extensions.gnome.org/extension/4711/prevent-double-empty-window/", "shell_version_map": {"40": {"version": "2", "sha256": "1xsnrdzqckr5l6lp8biz2zamkmsagdi43nhhlf15wbk7919xnrbi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAicHJldmVudC1kb3VibGUtZW1wdHktd2luZG93QHNpbGxpZXdvdXMubmwiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1xsnrdzqckr5l6lp8biz2zamkmsagdi43nhhlf15wbk7919xnrbi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAicHJldmVudC1kb3VibGUtZW1wdHktd2luZG93QHNpbGxpZXdvdXMubmwiLAogICJ2ZXJzaW9uIjogMgp9"}, "42": {"version": "2", "sha256": "1xsnrdzqckr5l6lp8biz2zamkmsagdi43nhhlf15wbk7919xnrbi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAicHJldmVudC1kb3VibGUtZW1wdHktd2luZG93QHNpbGxpZXdvdXMubmwiLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "prevent-double-empty-window@silliewous.nl", "name": "Prevent double empty window", "pname": "prevent-double-empty-window", "description": "Set MIN_NUMBER_WORKSPACES to 1 so there is only one empty workspace when there are no windows open.\n\nhttps://gitlab.com/g3786/prevent-double-empty-window", "link": "https://extensions.gnome.org/extension/4711/prevent-double-empty-window/", "shell_version_map": {"40": {"version": "3", "sha256": "048h90h8ckm0zzwjr4h5kv96gak1mzcpygv826l1pmll890ac3n1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInByZXZlbnQtZG91YmxlLWVtcHR5LXdpbmRvd0BzaWxsaWV3b3VzLm5sIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "048h90h8ckm0zzwjr4h5kv96gak1mzcpygv826l1pmll890ac3n1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInByZXZlbnQtZG91YmxlLWVtcHR5LXdpbmRvd0BzaWxsaWV3b3VzLm5sIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "048h90h8ckm0zzwjr4h5kv96gak1mzcpygv826l1pmll890ac3n1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInByZXZlbnQtZG91YmxlLWVtcHR5LXdpbmRvd0BzaWxsaWV3b3VzLm5sIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "43": {"version": "3", "sha256": "048h90h8ckm0zzwjr4h5kv96gak1mzcpygv826l1pmll890ac3n1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInByZXZlbnQtZG91YmxlLWVtcHR5LXdpbmRvd0BzaWxsaWV3b3VzLm5sIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "display-ddc-brightness-volume@sagrland.de", "name": "Display DDC Brightness Volume", "pname": "display-ddc-brightness-volume", "description": "Simple GNOME extension to control displays' brightness and audio volume via DDC. It requires ddcutil to be installed, i2c permissions for non-root users configured.", "link": "https://extensions.gnome.org/extension/4712/display-ddc-brightness-volume/", "shell_version_map": {"40": {"version": "6", "sha256": "0x3ih2fpwg4sf07wwygf0bjf8n1z32x90a09bzrfffjlycqwhbqd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TYUdyTGFuZC9nbm9tZS1zaGVsbC1kaXNwbGF5LWRkYy1icmlnaHRuZXNzLXZvbHVtZS8iLAogICJ1dWlkIjogImRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lQHNhZ3JsYW5kLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0x3ih2fpwg4sf07wwygf0bjf8n1z32x90a09bzrfffjlycqwhbqd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TYUdyTGFuZC9nbm9tZS1zaGVsbC1kaXNwbGF5LWRkYy1icmlnaHRuZXNzLXZvbHVtZS8iLAogICJ1dWlkIjogImRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lQHNhZ3JsYW5kLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "0x3ih2fpwg4sf07wwygf0bjf8n1z32x90a09bzrfffjlycqwhbqd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TYUdyTGFuZC9nbm9tZS1zaGVsbC1kaXNwbGF5LWRkYy1icmlnaHRuZXNzLXZvbHVtZS8iLAogICJ1dWlkIjogImRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lQHNhZ3JsYW5kLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "43": {"version": "6", "sha256": "0x3ih2fpwg4sf07wwygf0bjf8n1z32x90a09bzrfffjlycqwhbqd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TYUdyTGFuZC9nbm9tZS1zaGVsbC1kaXNwbGF5LWRkYy1icmlnaHRuZXNzLXZvbHVtZS8iLAogICJ1dWlkIjogImRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lQHNhZ3JsYW5kLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "disable_hover@fawtytoo", "name": "Disable Hover On App & Window Switcher Popups", "pname": "disable-hover-on-app-window-switcher-popups", "description": "Prevents the mouse cursor interfering with either the App Switcher or the Window Switcher popups.\nNote: It doesn't prevent mouse clicks.\n\nThese are the switcher popups that are invoked from keyboard shortcuts, e.g. Alt+Tab or Super+Tab.", "link": "https://extensions.gnome.org/extension/4714/disable-hover-on-app-window-switcher-popups/", "shell_version_map": {"38": {"version": "2", "sha256": "1nd538h9g8l18v0vw29ishilxpj0a7p6np281blqxwssix2dqn5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1nd538h9g8l18v0vw29ishilxpj0a7p6np281blqxwssix2dqn5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "1nd538h9g8l18v0vw29ishilxpj0a7p6np281blqxwssix2dqn5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "1nd538h9g8l18v0vw29ishilxpj0a7p6np281blqxwssix2dqn5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"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": "Adds dbus calls which can return list of windows, move, resize, close them etc", "link": "https://extensions.gnome.org/extension/4724/window-calls/", "shell_version_map": {"40": {"version": "12", "sha256": "08gsyi51f0c3wdi0r3y1ykja9avdkyaplzd7vd8fydlsh4bya18g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgZGJ1cyBjYWxscyB3aGljaCBjYW4gcmV0dXJuIGxpc3Qgb2Ygd2luZG93cywgbW92ZSwgcmVzaXplLCBjbG9zZSB0aGVtIGV0YyIsCiAgIm5hbWUiOiAiV2luZG93IENhbGxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lja3lpY2t5L3dpbmRvdy1jYWxscyIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzQGRvbWFuZG9tYW4ueHl6IiwKICAidmVyc2lvbiI6IDEyCn0="}, "41": {"version": "12", "sha256": "08gsyi51f0c3wdi0r3y1ykja9avdkyaplzd7vd8fydlsh4bya18g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgZGJ1cyBjYWxscyB3aGljaCBjYW4gcmV0dXJuIGxpc3Qgb2Ygd2luZG93cywgbW92ZSwgcmVzaXplLCBjbG9zZSB0aGVtIGV0YyIsCiAgIm5hbWUiOiAiV2luZG93IENhbGxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lja3lpY2t5L3dpbmRvdy1jYWxscyIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzQGRvbWFuZG9tYW4ueHl6IiwKICAidmVyc2lvbiI6IDEyCn0="}, "42": {"version": "12", "sha256": "08gsyi51f0c3wdi0r3y1ykja9avdkyaplzd7vd8fydlsh4bya18g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgZGJ1cyBjYWxscyB3aGljaCBjYW4gcmV0dXJuIGxpc3Qgb2Ygd2luZG93cywgbW92ZSwgcmVzaXplLCBjbG9zZSB0aGVtIGV0YyIsCiAgIm5hbWUiOiAiV2luZG93IENhbGxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lja3lpY2t5L3dpbmRvdy1jYWxscyIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzQGRvbWFuZG9tYW4ueHl6IiwKICAidmVyc2lvbiI6IDEyCn0="}, "43": {"version": "12", "sha256": "08gsyi51f0c3wdi0r3y1ykja9avdkyaplzd7vd8fydlsh4bya18g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgZGJ1cyBjYWxscyB3aGljaCBjYW4gcmV0dXJuIGxpc3Qgb2Ygd2luZG93cywgbW92ZSwgcmVzaXplLCBjbG9zZSB0aGVtIGV0YyIsCiAgIm5hbWUiOiAiV2luZG93IENhbGxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lja3lpY2t5L3dpbmRvdy1jYWxscyIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzQGRvbWFuZG9tYW4ueHl6IiwKICAidmVyc2lvbiI6IDEyCn0="}}}
-, {"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": "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": "4", "sha256": "0dj9lkvi6qwwiwx8bhj5d8d3v5msrynqv8lfi31cgb9an72rc23y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2FnaWRheWFuL3ByaW1hcnktaW5wdXQtb24tbG9ja3NjcmVlbiIsCiAgInV1aWQiOiAicHJpbWFyeV9pbnB1dF9vbl9sb2Nrc2NyZWVuQHNhZ2lkYXlhbi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0dj9lkvi6qwwiwx8bhj5d8d3v5msrynqv8lfi31cgb9an72rc23y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2FnaWRheWFuL3ByaW1hcnktaW5wdXQtb24tbG9ja3NjcmVlbiIsCiAgInV1aWQiOiAicHJpbWFyeV9pbnB1dF9vbl9sb2Nrc2NyZWVuQHNhZ2lkYXlhbi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "0dj9lkvi6qwwiwx8bhj5d8d3v5msrynqv8lfi31cgb9an72rc23y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2FnaWRheWFuL3ByaW1hcnktaW5wdXQtb24tbG9ja3NjcmVlbiIsCiAgInV1aWQiOiAicHJpbWFyeV9pbnB1dF9vbl9sb2Nrc2NyZWVuQHNhZ2lkYXlhbi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "43": {"version": "4", "sha256": "0dj9lkvi6qwwiwx8bhj5d8d3v5msrynqv8lfi31cgb9an72rc23y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2FnaWRheWFuL3ByaW1hcnktaW5wdXQtb24tbG9ja3NjcmVlbiIsCiAgInV1aWQiOiAicHJpbWFyeV9pbnB1dF9vbl9sb2Nrc2NyZWVuQHNhZ2lkYXlhbi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "browser-tabs@com.github.harshadgavali", "name": "Browser tabs", "pname": "browser-tabs", "description": "Search and switch to browser tabs using GNOME overview/ArcMenu\n\nSee following github link for installing necessary browser extension and host app!", "link": "https://extensions.gnome.org/extension/4733/browser-tabs/", "shell_version_map": {"40": {"version": "4", "sha256": "1r1m6cfi9pv0sz651b95ji2rk40rhwmdnivq2jaf030w3qrkwysf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBhbmQgc3dpdGNoIHRvIGJyb3dzZXIgdGFicyB1c2luZyBHTk9NRSBvdmVydmlldy9BcmNNZW51XG5cblNlZSBmb2xsb3dpbmcgZ2l0aHViIGxpbmsgZm9yIGluc3RhbGxpbmcgbmVjZXNzYXJ5IGJyb3dzZXIgZXh0ZW5zaW9uIGFuZCBob3N0IGFwcCEiLAogICJuYW1lIjogIkJyb3dzZXIgdGFicyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcnNoYWRnYXZhbGkvc2VhcmNocHJvdmlkZXItZm9yLWJyb3dzZXItdGFicy5naXQvIiwKICAidXVpZCI6ICJicm93c2VyLXRhYnNAY29tLmdpdGh1Yi5oYXJzaGFkZ2F2YWxpIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1r1m6cfi9pv0sz651b95ji2rk40rhwmdnivq2jaf030w3qrkwysf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBhbmQgc3dpdGNoIHRvIGJyb3dzZXIgdGFicyB1c2luZyBHTk9NRSBvdmVydmlldy9BcmNNZW51XG5cblNlZSBmb2xsb3dpbmcgZ2l0aHViIGxpbmsgZm9yIGluc3RhbGxpbmcgbmVjZXNzYXJ5IGJyb3dzZXIgZXh0ZW5zaW9uIGFuZCBob3N0IGFwcCEiLAogICJuYW1lIjogIkJyb3dzZXIgdGFicyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcnNoYWRnYXZhbGkvc2VhcmNocHJvdmlkZXItZm9yLWJyb3dzZXItdGFicy5naXQvIiwKICAidXVpZCI6ICJicm93c2VyLXRhYnNAY29tLmdpdGh1Yi5oYXJzaGFkZ2F2YWxpIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "1r1m6cfi9pv0sz651b95ji2rk40rhwmdnivq2jaf030w3qrkwysf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBhbmQgc3dpdGNoIHRvIGJyb3dzZXIgdGFicyB1c2luZyBHTk9NRSBvdmVydmlldy9BcmNNZW51XG5cblNlZSBmb2xsb3dpbmcgZ2l0aHViIGxpbmsgZm9yIGluc3RhbGxpbmcgbmVjZXNzYXJ5IGJyb3dzZXIgZXh0ZW5zaW9uIGFuZCBob3N0IGFwcCEiLAogICJuYW1lIjogIkJyb3dzZXIgdGFicyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcnNoYWRnYXZhbGkvc2VhcmNocHJvdmlkZXItZm9yLWJyb3dzZXItdGFicy5naXQvIiwKICAidXVpZCI6ICJicm93c2VyLXRhYnNAY29tLmdpdGh1Yi5oYXJzaGFkZ2F2YWxpIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"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": "17", "sha256": "07h7vx2l4yvvfh4blkaxqd2h30v398d5478qb7gjh94cs7n4hgqf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLlxuXG5OT1RFOiBPcHRpbWl6ZWQgZm9yIHVzZSB3aXRoIHN0YXRpYyB3b3Jrc3BhY2VzLiBGb3IgbW9yZSBjb250cm9sLCBjYW4gYmUgc2V0IHRvIGRlZmF1bHQgSUdOT1JFIGFuZCB0aGVuIHNlbGVjdGl2ZWx5IFJFU1RPUkUgb25seSBkZXNpcmVkIGFwcHMuIiwKICAibmFtZSI6ICJTbWFydCBBdXRvIE1vdmUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAia2hpbWFyb3MiLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9zbWFydC1hdXRvLW1vdmUvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNtYXJ0LWF1dG8tbW92ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2toaW1hcm9zL3NtYXJ0LWF1dG8tbW92ZSIsCiAgInV1aWQiOiAic21hcnQtYXV0by1tb3ZlQGtoaW1hcm9zLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "42": {"version": "17", "sha256": "07h7vx2l4yvvfh4blkaxqd2h30v398d5478qb7gjh94cs7n4hgqf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLlxuXG5OT1RFOiBPcHRpbWl6ZWQgZm9yIHVzZSB3aXRoIHN0YXRpYyB3b3Jrc3BhY2VzLiBGb3IgbW9yZSBjb250cm9sLCBjYW4gYmUgc2V0IHRvIGRlZmF1bHQgSUdOT1JFIGFuZCB0aGVuIHNlbGVjdGl2ZWx5IFJFU1RPUkUgb25seSBkZXNpcmVkIGFwcHMuIiwKICAibmFtZSI6ICJTbWFydCBBdXRvIE1vdmUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAia2hpbWFyb3MiLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9zbWFydC1hdXRvLW1vdmUvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNtYXJ0LWF1dG8tbW92ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2toaW1hcm9zL3NtYXJ0LWF1dG8tbW92ZSIsCiAgInV1aWQiOiAic21hcnQtYXV0by1tb3ZlQGtoaW1hcm9zLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "43": {"version": "17", "sha256": "07h7vx2l4yvvfh4blkaxqd2h30v398d5478qb7gjh94cs7n4hgqf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLlxuXG5OT1RFOiBPcHRpbWl6ZWQgZm9yIHVzZSB3aXRoIHN0YXRpYyB3b3Jrc3BhY2VzLiBGb3IgbW9yZSBjb250cm9sLCBjYW4gYmUgc2V0IHRvIGRlZmF1bHQgSUdOT1JFIGFuZCB0aGVuIHNlbGVjdGl2ZWx5IFJFU1RPUkUgb25seSBkZXNpcmVkIGFwcHMuIiwKICAibmFtZSI6ICJTbWFydCBBdXRvIE1vdmUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAia2hpbWFyb3MiLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9zbWFydC1hdXRvLW1vdmUvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNtYXJ0LWF1dG8tbW92ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2toaW1hcm9zL3NtYXJ0LWF1dG8tbW92ZSIsCiAgInV1aWQiOiAic21hcnQtYXV0by1tb3ZlQGtoaW1hcm9zLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}}}
 , {"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.\nDutch language support added by Vistaus (Heimen Stoffels) https://github.com/Vistaus", "link": "https://extensions.gnome.org/extension/4739/alternate-menu-for-hplip2/", "shell_version_map": {"40": {"version": "7", "sha256": "06g0p9l5yg6anppmlydlzbmqzplj3v959bvz7p2zj2vm9ly6p55a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy5cbkR1dGNoIGxhbmd1YWdlIHN1cHBvcnQgYWRkZWQgYnkgVmlzdGF1cyAoSGVpbWVuIFN0b2ZmZWxzKSBodHRwczovL2dpdGh1Yi5jb20vVmlzdGF1cyIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwMiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ocGxpcC1tZW51MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "06g0p9l5yg6anppmlydlzbmqzplj3v959bvz7p2zj2vm9ly6p55a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy5cbkR1dGNoIGxhbmd1YWdlIHN1cHBvcnQgYWRkZWQgYnkgVmlzdGF1cyAoSGVpbWVuIFN0b2ZmZWxzKSBodHRwczovL2dpdGh1Yi5jb20vVmlzdGF1cyIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwMiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ocGxpcC1tZW51MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "06g0p9l5yg6anppmlydlzbmqzplj3v959bvz7p2zj2vm9ly6p55a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy5cbkR1dGNoIGxhbmd1YWdlIHN1cHBvcnQgYWRkZWQgYnkgVmlzdGF1cyAoSGVpbWVuIFN0b2ZmZWxzKSBodHRwczovL2dpdGh1Yi5jb20vVmlzdGF1cyIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwMiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ocGxpcC1tZW51MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "43": {"version": "7", "sha256": "06g0p9l5yg6anppmlydlzbmqzplj3v959bvz7p2zj2vm9ly6p55a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy5cbkR1dGNoIGxhbmd1YWdlIHN1cHBvcnQgYWRkZWQgYnkgVmlzdGF1cyAoSGVpbWVuIFN0b2ZmZWxzKSBodHRwczovL2dpdGh1Yi5jb20vVmlzdGF1cyIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwMiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ocGxpcC1tZW51MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
@@ -666,12 +666,12 @@
 , {"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": "8", "sha256": "0wlb32ml77hwzh1wln0zzscc44pagga15wnwv9fa17jdi0z78pla", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "0wlb32ml77hwzh1wln0zzscc44pagga15wnwv9fa17jdi0z78pla", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "0wlb32ml77hwzh1wln0zzscc44pagga15wnwv9fa17jdi0z78pla", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"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": "6", "sha256": "069fk11nr2nnssyb8ljzdf3xb15lvbgny2jp8skq1ky7w8k7a0cx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxiZXJ0dmFrYS95YWt1YWtlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAieWFrdWFrZS1leHRlbnNpb25Aa2RlLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "069fk11nr2nnssyb8ljzdf3xb15lvbgny2jp8skq1ky7w8k7a0cx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxiZXJ0dmFrYS95YWt1YWtlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAieWFrdWFrZS1leHRlbnNpb25Aa2RlLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "069fk11nr2nnssyb8ljzdf3xb15lvbgny2jp8skq1ky7w8k7a0cx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxiZXJ0dmFrYS95YWt1YWtlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAieWFrdWFrZS1leHRlbnNpb25Aa2RlLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"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": "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": "7", "sha256": "1snlqcyv39z02ml400qa1i7mcznpf88g3fzd4gvhc1fj3h8i6frn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MdWtlVmFkZXItSVYvZ25vbWUtc3BlZWQtYmFja2dyb3VuZC1leHRlbnNpb24vIiwKICAidXVpZCI6ICJzcGVlZGJhY2tncm91bmRAbHVrZS52YWRlciIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1snlqcyv39z02ml400qa1i7mcznpf88g3fzd4gvhc1fj3h8i6frn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MdWtlVmFkZXItSVYvZ25vbWUtc3BlZWQtYmFja2dyb3VuZC1leHRlbnNpb24vIiwKICAidXVpZCI6ICJzcGVlZGJhY2tncm91bmRAbHVrZS52YWRlciIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "1snlqcyv39z02ml400qa1i7mcznpf88g3fzd4gvhc1fj3h8i6frn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MdWtlVmFkZXItSVYvZ25vbWUtc3BlZWQtYmFja2dyb3VuZC1leHRlbnNpb24vIiwKICAidXVpZCI6ICJzcGVlZGJhY2tncm91bmRAbHVrZS52YWRlciIsCiAgInZlcnNpb24iOiA3Cn0="}, "43": {"version": "7", "sha256": "1snlqcyv39z02ml400qa1i7mcznpf88g3fzd4gvhc1fj3h8i6frn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MdWtlVmFkZXItSVYvZ25vbWUtc3BlZWQtYmFja2dyb3VuZC1leHRlbnNpb24vIiwKICAidXVpZCI6ICJzcGVlZGJhY2tncm91bmRAbHVrZS52YWRlciIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"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=="}}}
 , {"uuid": "FuzzyClock@johngoetz", "name": "Fuzzy Clock", "pname": "fuzzy-clock", "description": "A human-readable clock for the gnome-shell panel", "link": "https://extensions.gnome.org/extension/4771/fuzzy-clock/", "shell_version_map": {"40": {"version": "4", "sha256": "10bhb3abmiinh6aw0jddljd47sllp0gqhwl2wz1wigfw0kp93mwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgaHVtYW4tcmVhZGFibGUgY2xvY2sgZm9yIHRoZSBnbm9tZS1zaGVsbCBwYW5lbCIsCiAgIm5hbWUiOiAiRnV6enkgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qb2huZ29ldHovRnV6enlDbG9jayIsCiAgInV1aWQiOiAiRnV6enlDbG9ja0Bqb2huZ29ldHoiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "10bhb3abmiinh6aw0jddljd47sllp0gqhwl2wz1wigfw0kp93mwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgaHVtYW4tcmVhZGFibGUgY2xvY2sgZm9yIHRoZSBnbm9tZS1zaGVsbCBwYW5lbCIsCiAgIm5hbWUiOiAiRnV6enkgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qb2huZ29ldHovRnV6enlDbG9jayIsCiAgInV1aWQiOiAiRnV6enlDbG9ja0Bqb2huZ29ldHoiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "10bhb3abmiinh6aw0jddljd47sllp0gqhwl2wz1wigfw0kp93mwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgaHVtYW4tcmVhZGFibGUgY2xvY2sgZm9yIHRoZSBnbm9tZS1zaGVsbCBwYW5lbCIsCiAgIm5hbWUiOiAiRnV6enkgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qb2huZ29ldHovRnV6enlDbG9jayIsCiAgInV1aWQiOiAiRnV6enlDbG9ja0Bqb2huZ29ldHoiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"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": "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": "9", "sha256": "1i84rwbdfnjkipvdvlpsa0xqd6vi38vjby1rbyr1ibrbhvwijxmf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}, "43": {"version": "9", "sha256": "1i84rwbdfnjkipvdvlpsa0xqd6vi38vjby1rbyr1ibrbhvwijxmf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"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": "19", "sha256": "14r0q2s96cmhnb56sqjbs64pjp3j81xyr1hfjnv4n7qq02k7lj7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBdmF0YXIgRXh0ZW5zaW9uIGNhbiBhZGQgaW50byB0aGUgcGFuZWw6IFxuICogQXZhdGFyIChob3Jpem9udGFsL3ZlcnRpY2FsLCBzaGFkZXMsIHZpc2liaWxpdHkgb2YgdXNlcm5hbWUgYW5kIGhvc3RuYW1lKSBcbiAqIFByaW1hcnkgYnV0dG9ucyBcbiAqIE1QUklTIFxuICogVG9wIGltYWdlIChjYW4gYmUgWW91ciBvd24gaW1hZ2UgZnJvbSBzeXN0ZW0pICIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGF3ZWxzd2lzemN6L0F2YXRhci1Hbm9tZS1TaGVsbC1FeHRlbnNpb24iLAogICJ1dWlkIjogImF2YXRhckBwYXdlbC5zd2lzemN6LmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"}, "42": {"version": "19", "sha256": "14r0q2s96cmhnb56sqjbs64pjp3j81xyr1hfjnv4n7qq02k7lj7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBdmF0YXIgRXh0ZW5zaW9uIGNhbiBhZGQgaW50byB0aGUgcGFuZWw6IFxuICogQXZhdGFyIChob3Jpem9udGFsL3ZlcnRpY2FsLCBzaGFkZXMsIHZpc2liaWxpdHkgb2YgdXNlcm5hbWUgYW5kIGhvc3RuYW1lKSBcbiAqIFByaW1hcnkgYnV0dG9ucyBcbiAqIE1QUklTIFxuICogVG9wIGltYWdlIChjYW4gYmUgWW91ciBvd24gaW1hZ2UgZnJvbSBzeXN0ZW0pICIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGF3ZWxzd2lzemN6L0F2YXRhci1Hbm9tZS1TaGVsbC1FeHRlbnNpb24iLAogICJ1dWlkIjogImF2YXRhckBwYXdlbC5zd2lzemN6LmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"}, "43": {"version": "19", "sha256": "14r0q2s96cmhnb56sqjbs64pjp3j81xyr1hfjnv4n7qq02k7lj7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBdmF0YXIgRXh0ZW5zaW9uIGNhbiBhZGQgaW50byB0aGUgcGFuZWw6IFxuICogQXZhdGFyIChob3Jpem9udGFsL3ZlcnRpY2FsLCBzaGFkZXMsIHZpc2liaWxpdHkgb2YgdXNlcm5hbWUgYW5kIGhvc3RuYW1lKSBcbiAqIFByaW1hcnkgYnV0dG9ucyBcbiAqIE1QUklTIFxuICogVG9wIGltYWdlIChjYW4gYmUgWW91ciBvd24gaW1hZ2UgZnJvbSBzeXN0ZW0pICIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGF3ZWxzd2lzemN6L0F2YXRhci1Hbm9tZS1TaGVsbC1FeHRlbnNpb24iLAogICJ1dWlkIjogImF2YXRhckBwYXdlbC5zd2lzemN6LmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"}}}
 , {"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=="}}}
@@ -712,7 +712,7 @@
 , {"uuid": "overview-clicking@mechtifs", "name": "Overview Clicking", "pname": "overview-clicking", "description": "Close the overview or show up application grid by left/right clicking empty space. Forked from click-to-close-overview@l3nn4rt.github.io.", "link": "https://extensions.gnome.org/extension/4898/overview-clicking/", "shell_version_map": {"40": {"version": "1", "sha256": "10f08rn9m66ynrs5jsgxg4qzrimcjdslgs36s8fgcblr5r31kw8i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBvciBzaG93IHVwIGFwcGxpY2F0aW9uIGdyaWQgYnkgbGVmdC9yaWdodCBjbGlja2luZyBlbXB0eSBzcGFjZS4gRm9ya2VkIGZyb20gY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8uIiwKICAibmFtZSI6ICJPdmVydmlldyBDbGlja2luZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21lY2h0aWZzL292ZXJ2aWV3LWNsaWNraW5nIiwKICAidXVpZCI6ICJvdmVydmlldy1jbGlja2luZ0BtZWNodGlmcyIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "10f08rn9m66ynrs5jsgxg4qzrimcjdslgs36s8fgcblr5r31kw8i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBvciBzaG93IHVwIGFwcGxpY2F0aW9uIGdyaWQgYnkgbGVmdC9yaWdodCBjbGlja2luZyBlbXB0eSBzcGFjZS4gRm9ya2VkIGZyb20gY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8uIiwKICAibmFtZSI6ICJPdmVydmlldyBDbGlja2luZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21lY2h0aWZzL292ZXJ2aWV3LWNsaWNraW5nIiwKICAidXVpZCI6ICJvdmVydmlldy1jbGlja2luZ0BtZWNodGlmcyIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "10f08rn9m66ynrs5jsgxg4qzrimcjdslgs36s8fgcblr5r31kw8i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBvciBzaG93IHVwIGFwcGxpY2F0aW9uIGdyaWQgYnkgbGVmdC9yaWdodCBjbGlja2luZyBlbXB0eSBzcGFjZS4gRm9ya2VkIGZyb20gY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8uIiwKICAibmFtZSI6ICJPdmVydmlldyBDbGlja2luZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21lY2h0aWZzL292ZXJ2aWV3LWNsaWNraW5nIiwKICAidXVpZCI6ICJvdmVydmlldy1jbGlja2luZ0BtZWNodGlmcyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "speed@eexpss.gmail.com", "name": "Screen Net Speed", "pname": "screen-net-speed", "description": "* Animation net speed show on the screen. You can click it to have fun and pass the time. Can be turned on / off at any time.\nScroll Mouse on panel icon, can change the shape.", "link": "https://extensions.gnome.org/extension/4901/screen-net-speed/", "shell_version_map": {"40": {"version": "6", "sha256": "18wr7jxydm4394bjais986q9qrx8w0kmljyy56z93hmj45pwq0c2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLXNwZWVkIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "18wr7jxydm4394bjais986q9qrx8w0kmljyy56z93hmj45pwq0c2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLXNwZWVkIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "18wr7jxydm4394bjais986q9qrx8w0kmljyy56z93hmj45pwq0c2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLXNwZWVkIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"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": "4", "sha256": "1mjwpm8078d4n2ff5rsq4plp5fhsf91k1f2zar6f5jf650bzz6rh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJ1dHRvbiBwb3dlciBvZmYiLAogICJuYW1lIjogIkFkZCBTaHV0ZG93biBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhZGRzaHV0YnV0dG9uQGplcm9tQG9saWthLm92aCIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1mjwpm8078d4n2ff5rsq4plp5fhsf91k1f2zar6f5jf650bzz6rh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJ1dHRvbiBwb3dlciBvZmYiLAogICJuYW1lIjogIkFkZCBTaHV0ZG93biBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhZGRzaHV0YnV0dG9uQGplcm9tQG9saWthLm92aCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"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": "11", "sha256": "0mswrakibw50gmm6libgjdmll24k3s04zv0lvw73n7q269qzrwsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "0mswrakibw50gmm6libgjdmll24k3s04zv0lvw73n7q269qzrwsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0mswrakibw50gmm6libgjdmll24k3s04zv0lvw73n7q269qzrwsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0mswrakibw50gmm6libgjdmll24k3s04zv0lvw73n7q269qzrwsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
+, {"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": "12", "sha256": "1fp65hv89f8v3ckffq26x0f435sa1m9p5cwd5ixyykiix0l5q9xl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWx2aWxsZS9lZXByZXNldHNlbGVjdG9yIiwKICAidXVpZCI6ICJlZXByZXNldHNlbGVjdG9yQHVsdmlsbGUuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "12", "sha256": "1fp65hv89f8v3ckffq26x0f435sa1m9p5cwd5ixyykiix0l5q9xl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWx2aWxsZS9lZXByZXNldHNlbGVjdG9yIiwKICAidXVpZCI6ICJlZXByZXNldHNlbGVjdG9yQHVsdmlsbGUuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}, "41": {"version": "12", "sha256": "1fp65hv89f8v3ckffq26x0f435sa1m9p5cwd5ixyykiix0l5q9xl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWx2aWxsZS9lZXByZXNldHNlbGVjdG9yIiwKICAidXVpZCI6ICJlZXByZXNldHNlbGVjdG9yQHVsdmlsbGUuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}, "42": {"version": "12", "sha256": "1fp65hv89f8v3ckffq26x0f435sa1m9p5cwd5ixyykiix0l5q9xl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWx2aWxsZS9lZXByZXNldHNlbGVjdG9yIiwKICAidXVpZCI6ICJlZXByZXNldHNlbGVjdG9yQHVsdmlsbGUuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}, "43": {"version": "12", "sha256": "1fp65hv89f8v3ckffq26x0f435sa1m9p5cwd5ixyykiix0l5q9xl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWx2aWxsZS9lZXByZXNldHNlbGVjdG9yIiwKICAidXVpZCI6ICJlZXByZXNldHNlbGVjdG9yQHVsdmlsbGUuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
 , {"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\nAdded i18n date, weather, temperature", "link": "https://extensions.gnome.org/extension/4919/weather/", "shell_version_map": {"40": {"version": "3", "sha256": "1ygk3jab26axk6wdn63wgfqlglrppyxwxh443bnwg1vyi3f6sz1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXlcbkFkZGVkIGkxOG4gZGF0ZSwgd2VhdGhlciwgdGVtcGVyYXR1cmUiLAogICJuYW1lIjogIldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy13ZWF0aGVyIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1ygk3jab26axk6wdn63wgfqlglrppyxwxh443bnwg1vyi3f6sz1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXlcbkFkZGVkIGkxOG4gZGF0ZSwgd2VhdGhlciwgdGVtcGVyYXR1cmUiLAogICJuYW1lIjogIldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy13ZWF0aGVyIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "13", "sha256": "05mijfwd5pxsf45bk1ld3g18dvdni41gz0yvq1bm944igp3wnqki", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXlcbkFkZGVkIGkxOG4gZGF0ZSwgd2VhdGhlciwgdGVtcGVyYXR1cmUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3ZWF0aGVyIiwKICAibmFtZSI6ICJXZWF0aGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3Mtd2VhdGhlciIsCiAgInV1aWQiOiAid2VhdGhlckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
@@ -729,13 +729,13 @@
 , {"uuid": "note@eexpss.gmail.com", "name": "note", "pname": "note", "description": "Add selected text to Note.\n- Notes automatic recognition and sort as 'Directory' 'Command' 'Clipboard'.\n- 'Directory': Mouse 1/2/3 act as 'Open in Files/Open in termianl/Paste dir'. It can be used as a temporary bookmark. And any click will change the working diretory in real time.\n- 'Command': Mouse 1/3 as 'Excute command in Terminal/Paste cmd'.\n- 'Clipboard': Mouse act as 'Paste to Clipboard(PRIMARY)'.\n- Terminal support kgx(new gnome-console) and gnome-terminal.", "link": "https://extensions.gnome.org/extension/4962/note/", "shell_version_map": {"42": {"version": "7", "sha256": "1niwlhls41l92g0bcllp4y4bdhn7k310514xkd36rn61pqz9b7q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzZWxlY3RlZCB0ZXh0IHRvIE5vdGUuXG4tIE5vdGVzIGF1dG9tYXRpYyByZWNvZ25pdGlvbiBhbmQgc29ydCBhcyAnRGlyZWN0b3J5JyAnQ29tbWFuZCcgJ0NsaXBib2FyZCcuXG4tICdEaXJlY3RvcnknOiBNb3VzZSAxLzIvMyBhY3QgYXMgJ09wZW4gaW4gRmlsZXMvT3BlbiBpbiB0ZXJtaWFubC9QYXN0ZSBkaXInLiBJdCBjYW4gYmUgdXNlZCBhcyBhIHRlbXBvcmFyeSBib29rbWFyay4gQW5kIGFueSBjbGljayB3aWxsIGNoYW5nZSB0aGUgd29ya2luZyBkaXJldG9yeSBpbiByZWFsIHRpbWUuXG4tICdDb21tYW5kJzogTW91c2UgMS8zIGFzICdFeGN1dGUgY29tbWFuZCBpbiBUZXJtaW5hbC9QYXN0ZSBjbWQnLlxuLSAnQ2xpcGJvYXJkJzogTW91c2UgYWN0IGFzICdQYXN0ZSB0byBDbGlwYm9hcmQoUFJJTUFSWSknLlxuLSBUZXJtaW5hbCBzdXBwb3J0IGtneChuZXcgZ25vbWUtY29uc29sZSkgYW5kIGdub21lLXRlcm1pbmFsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm5vdGUiLAogICJuYW1lIjogIm5vdGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1ub3RlIiwKICAidXVpZCI6ICJub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "ddnet-friends-panel@hus3h", "name": "DDNet Friends Panel", "pname": "ddnet-friends-panel", "description": "Automatically check for online DDNet friends and join them from your top bar.\n\nThis extension will check for online DDNet friends every 1 minute and show their count in your top bar. You can click the indicator to expand the panel and see more details like what map each friend is playing, you can click on a friend list item to launch the game and connect to the server they are in.", "link": "https://extensions.gnome.org/extension/4965/ddnet-friends-panel/", "shell_version_map": {"40": {"version": "2", "sha256": "14qly508cm9h7v4ws0gd1bvfhcnlbvlxm0rr21pydz9g9pf9bg7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGFuZCBqb2luIHRoZW0gZnJvbSB5b3VyIHRvcCBiYXIuXG5cblRoaXMgZXh0ZW5zaW9uIHdpbGwgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGV2ZXJ5IDEgbWludXRlIGFuZCBzaG93IHRoZWlyIGNvdW50IGluIHlvdXIgdG9wIGJhci4gWW91IGNhbiBjbGljayB0aGUgaW5kaWNhdG9yIHRvIGV4cGFuZCB0aGUgcGFuZWwgYW5kIHNlZSBtb3JlIGRldGFpbHMgbGlrZSB3aGF0IG1hcCBlYWNoIGZyaWVuZCBpcyBwbGF5aW5nLCB5b3UgY2FuIGNsaWNrIG9uIGEgZnJpZW5kIGxpc3QgaXRlbSB0byBsYXVuY2ggdGhlIGdhbWUgYW5kIGNvbm5lY3QgdG8gdGhlIHNlcnZlciB0aGV5IGFyZSBpbi4iLAogICJuYW1lIjogIkRETmV0IEZyaWVuZHMgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9odXMzaC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGRuZXQtZnJpZW5kcy1wYW5lbCIsCiAgInV1aWQiOiAiZGRuZXQtZnJpZW5kcy1wYW5lbEBodXMzaCIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "14qly508cm9h7v4ws0gd1bvfhcnlbvlxm0rr21pydz9g9pf9bg7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGFuZCBqb2luIHRoZW0gZnJvbSB5b3VyIHRvcCBiYXIuXG5cblRoaXMgZXh0ZW5zaW9uIHdpbGwgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGV2ZXJ5IDEgbWludXRlIGFuZCBzaG93IHRoZWlyIGNvdW50IGluIHlvdXIgdG9wIGJhci4gWW91IGNhbiBjbGljayB0aGUgaW5kaWNhdG9yIHRvIGV4cGFuZCB0aGUgcGFuZWwgYW5kIHNlZSBtb3JlIGRldGFpbHMgbGlrZSB3aGF0IG1hcCBlYWNoIGZyaWVuZCBpcyBwbGF5aW5nLCB5b3UgY2FuIGNsaWNrIG9uIGEgZnJpZW5kIGxpc3QgaXRlbSB0byBsYXVuY2ggdGhlIGdhbWUgYW5kIGNvbm5lY3QgdG8gdGhlIHNlcnZlciB0aGV5IGFyZSBpbi4iLAogICJuYW1lIjogIkRETmV0IEZyaWVuZHMgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9odXMzaC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGRuZXQtZnJpZW5kcy1wYW5lbCIsCiAgInV1aWQiOiAiZGRuZXQtZnJpZW5kcy1wYW5lbEBodXMzaCIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "14qly508cm9h7v4ws0gd1bvfhcnlbvlxm0rr21pydz9g9pf9bg7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGFuZCBqb2luIHRoZW0gZnJvbSB5b3VyIHRvcCBiYXIuXG5cblRoaXMgZXh0ZW5zaW9uIHdpbGwgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGV2ZXJ5IDEgbWludXRlIGFuZCBzaG93IHRoZWlyIGNvdW50IGluIHlvdXIgdG9wIGJhci4gWW91IGNhbiBjbGljayB0aGUgaW5kaWNhdG9yIHRvIGV4cGFuZCB0aGUgcGFuZWwgYW5kIHNlZSBtb3JlIGRldGFpbHMgbGlrZSB3aGF0IG1hcCBlYWNoIGZyaWVuZCBpcyBwbGF5aW5nLCB5b3UgY2FuIGNsaWNrIG9uIGEgZnJpZW5kIGxpc3QgaXRlbSB0byBsYXVuY2ggdGhlIGdhbWUgYW5kIGNvbm5lY3QgdG8gdGhlIHNlcnZlciB0aGV5IGFyZSBpbi4iLAogICJuYW1lIjogIkRETmV0IEZyaWVuZHMgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9odXMzaC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGRuZXQtZnJpZW5kcy1wYW5lbCIsCiAgInV1aWQiOiAiZGRuZXQtZnJpZW5kcy1wYW5lbEBodXMzaCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "theme-switcher@fthx", "name": "Light/Dark Theme Switcher", "pname": "lightdark-theme-switcher", "description": "Button in panel: switch between global dark and light themes. For GNOME Shell 42+.", "link": "https://extensions.gnome.org/extension/4968/lightdark-theme-switcher/", "shell_version_map": {"42": {"version": "6", "sha256": "0m66lvx8pygy9kk8pkzy21pa3ac8ka0ghk5bqy68f3nsmfp9q4qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gZ2xvYmFsIGRhcmsgYW5kIGxpZ2h0IHRoZW1lcy4gRm9yIEdOT01FIFNoZWxsIDQyKy4iLAogICJuYW1lIjogIkxpZ2h0L0RhcmsgVGhlbWUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogInRoZW1lLXN3aXRjaGVyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNgp9"}, "43": {"version": "6", "sha256": "0m66lvx8pygy9kk8pkzy21pa3ac8ka0ghk5bqy68f3nsmfp9q4qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gZ2xvYmFsIGRhcmsgYW5kIGxpZ2h0IHRoZW1lcy4gRm9yIEdOT01FIFNoZWxsIDQyKy4iLAogICJuYW1lIjogIkxpZ2h0L0RhcmsgVGhlbWUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogInRoZW1lLXN3aXRjaGVyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNgp9"}}}
-, {"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": "2", "sha256": "153c6gwlgpi6lhsd2ym9qhcp6add58za3i2djdqj39n9zx0q1gy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzZWxpZ2VyL3dpbmRvdy1jYWxscy1leHRlbmRlZCIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzLWV4dGVuZGVkQGhzZWxpZ2VyLmV1IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "153c6gwlgpi6lhsd2ym9qhcp6add58za3i2djdqj39n9zx0q1gy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzZWxpZ2VyL3dpbmRvdy1jYWxscy1leHRlbmRlZCIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzLWV4dGVuZGVkQGhzZWxpZ2VyLmV1IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"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": "3", "sha256": "0krzyxwzij1j335z7lhk7mmgvgnp2cxrgkp5ln5m4a5k4zyn6hra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oc2VsaWdlci93aW5kb3ctY2FsbHMtZXh0ZW5kZWQiLAogICJ1dWlkIjogIndpbmRvdy1jYWxscy1leHRlbmRlZEBoc2VsaWdlci5ldSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0krzyxwzij1j335z7lhk7mmgvgnp2cxrgkp5ln5m4a5k4zyn6hra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oc2VsaWdlci93aW5kb3ctY2FsbHMtZXh0ZW5kZWQiLAogICJ1dWlkIjogIndpbmRvdy1jYWxscy1leHRlbmRlZEBoc2VsaWdlci5ldSIsCiAgInZlcnNpb24iOiAzCn0="}, "43": {"version": "3", "sha256": "0krzyxwzij1j335z7lhk7mmgvgnp2cxrgkp5ln5m4a5k4zyn6hra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oc2VsaWdlci93aW5kb3ctY2FsbHMtZXh0ZW5kZWQiLAogICJ1dWlkIjogIndpbmRvdy1jYWxscy1leHRlbmRlZEBoc2VsaWdlci5ldSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"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": "3", "sha256": "0kjwzickw4ch7vmkw81d6wiad9hrwiz1i898mb2gmjby6g83d1sf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NZWRhaVA5MC9nbm9tZS1zdXItY2xvY2siLAogICJ1dWlkIjogIlN1cl9DbG9ja0BtZWRhaXA5MC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0kjwzickw4ch7vmkw81d6wiad9hrwiz1i898mb2gmjby6g83d1sf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NZWRhaVA5MC9nbm9tZS1zdXItY2xvY2siLAogICJ1dWlkIjogIlN1cl9DbG9ja0BtZWRhaXA5MC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "0kjwzickw4ch7vmkw81d6wiad9hrwiz1i898mb2gmjby6g83d1sf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NZWRhaVA5MC9nbm9tZS1zdXItY2xvY2siLAogICJ1dWlkIjogIlN1cl9DbG9ja0BtZWRhaXA5MC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "43": {"version": "3", "sha256": "0kjwzickw4ch7vmkw81d6wiad9hrwiz1i898mb2gmjby6g83d1sf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NZWRhaVA5MC9nbm9tZS1zdXItY2xvY2siLAogICJ1dWlkIjogIlN1cl9DbG9ja0BtZWRhaXA5MC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"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": "2", "sha256": "0r9ia17agk7xmg5lazjjhc629pciqp0sgsrs1f5pk47slx3rnnvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cC4iLAogICJuYW1lIjogIkRpc2FibGUgV29ya3NwYWNlIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYnJhZGFyaWMvZGlzYWJsZS13b3Jrc3BhY2Utc3dpdGNoZXIiLAogICJ1dWlkIjogImRpc2FibGUtd29ya3NwYWNlLXN3aXRjaGVyQGpicmFkYXJpYy5tZSIsCiAgInZlcnNpb24iOiAyCn0="}, "43": {"version": "2", "sha256": "0r9ia17agk7xmg5lazjjhc629pciqp0sgsrs1f5pk47slx3rnnvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cC4iLAogICJuYW1lIjogIkRpc2FibGUgV29ya3NwYWNlIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYnJhZGFyaWMvZGlzYWJsZS13b3Jrc3BhY2Utc3dpdGNoZXIiLAogICJ1dWlkIjogImRpc2FibGUtd29ya3NwYWNlLXN3aXRjaGVyQGpicmFkYXJpYy5tZSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"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": "4", "sha256": "0h1hfh8i6sqzi0dy0sbh35s7flncqwpsxha4yr1bgrmg2a0gshzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0h1hfh8i6sqzi0dy0sbh35s7flncqwpsxha4yr1bgrmg2a0gshzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "0h1hfh8i6sqzi0dy0sbh35s7flncqwpsxha4yr1bgrmg2a0gshzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"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": "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": "16", "sha256": "1lhz53rc221rp409niawsxdwqxv7rddrnr91c64vyx43za9jkw41", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2VkbWFuL2Rhc2gyZG9jay1saXRlIiwKICAidXVpZCI6ICJkYXNoMmRvY2stbGl0ZUBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "1lhz53rc221rp409niawsxdwqxv7rddrnr91c64vyx43za9jkw41", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2VkbWFuL2Rhc2gyZG9jay1saXRlIiwKICAidXVpZCI6ICJkYXNoMmRvY2stbGl0ZUBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "42": {"version": "16", "sha256": "1lhz53rc221rp409niawsxdwqxv7rddrnr91c64vyx43za9jkw41", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2VkbWFuL2Rhc2gyZG9jay1saXRlIiwKICAidXVpZCI6ICJkYXNoMmRvY2stbGl0ZUBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "43": {"version": "16", "sha256": "1lhz53rc221rp409niawsxdwqxv7rddrnr91c64vyx43za9jkw41", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2VkbWFuL2Rhc2gyZG9jay1saXRlIiwKICAidXVpZCI6ICJkYXNoMmRvY2stbGl0ZUBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
+, {"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": "17", "sha256": "07mgyasq8pwsg9zfmlm3zg433zgp2d4nmd3v4mm2fknzsq67rcbp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2VkbWFuL2Rhc2gyZG9jay1saXRlIiwKICAidXVpZCI6ICJkYXNoMmRvY2stbGl0ZUBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "07mgyasq8pwsg9zfmlm3zg433zgp2d4nmd3v4mm2fknzsq67rcbp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2VkbWFuL2Rhc2gyZG9jay1saXRlIiwKICAidXVpZCI6ICJkYXNoMmRvY2stbGl0ZUBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "17", "sha256": "07mgyasq8pwsg9zfmlm3zg433zgp2d4nmd3v4mm2fknzsq67rcbp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2VkbWFuL2Rhc2gyZG9jay1saXRlIiwKICAidXVpZCI6ICJkYXNoMmRvY2stbGl0ZUBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "43": {"version": "17", "sha256": "07mgyasq8pwsg9zfmlm3zg433zgp2d4nmd3v4mm2fknzsq67rcbp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2VkbWFuL2Rhc2gyZG9jay1saXRlIiwKICAidXVpZCI6ICJkYXNoMmRvY2stbGl0ZUBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"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": "4", "sha256": "022drnhrqmgpgfsikxwhy82bds27mr8h1wxm2hh4pry6smmdgx2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgR1RLMyB0aGVtZSB0byBsaWdodC9kYXJrIHZhcmlhbnQgYmFzZWQgb24gdGhlIHN5c3RlbSBjb2xvciBzY2hlbWUgb24gR25vbWUgNDIiLAogICJuYW1lIjogIkxlZ2FjeSAoR1RLMykgVGhlbWUgU2NoZW1lIEF1dG8gU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL211a3VsMjkvbGVnYWN5LXRoZW1lLWF1dG8tc3dpdGNoZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJsZWdhY3lzY2hlbWVhdXRvc3dpdGNoZXJAam9zaGltdWt1bDI5LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "43": {"version": "4", "sha256": "022drnhrqmgpgfsikxwhy82bds27mr8h1wxm2hh4pry6smmdgx2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgR1RLMyB0aGVtZSB0byBsaWdodC9kYXJrIHZhcmlhbnQgYmFzZWQgb24gdGhlIHN5c3RlbSBjb2xvciBzY2hlbWUgb24gR25vbWUgNDIiLAogICJuYW1lIjogIkxlZ2FjeSAoR1RLMykgVGhlbWUgU2NoZW1lIEF1dG8gU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL211a3VsMjkvbGVnYWN5LXRoZW1lLWF1dG8tc3dpdGNoZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJsZWdhY3lzY2hlbWVhdXRvc3dpdGNoZXJAam9zaGltdWt1bDI5LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"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.\n\nAdds Features:\nDock Alignment\nCustom Border Radius\nCustom Margins", "link": "https://extensions.gnome.org/extension/5004/dash-to-dock-for-cosmic/", "shell_version_map": {"40": {"version": "20", "sha256": "0gr31f557aas7dgm67gcmdhgnw0iyih4lwckbhsz62i7c6v43f3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC5cblxuQWRkcyBGZWF0dXJlczpcbkRvY2sgQWxpZ25tZW50XG5DdXN0b20gQm9yZGVyIFJhZGl1c1xuQ3VzdG9tIE1hcmdpbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYWxmbWV4aWNhbi9kYXNoLXRvLWRvY2stcG9wL3RyZWUvdWJ1bnR1LWRvY2siLAogICJ1dWlkIjogImRhc2gtdG8tZG9jay1jb3NtaWMtQGhhbGZtZXhpY2FuaGFsZmFtYXppbmdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "0gr31f557aas7dgm67gcmdhgnw0iyih4lwckbhsz62i7c6v43f3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC5cblxuQWRkcyBGZWF0dXJlczpcbkRvY2sgQWxpZ25tZW50XG5DdXN0b20gQm9yZGVyIFJhZGl1c1xuQ3VzdG9tIE1hcmdpbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYWxmbWV4aWNhbi9kYXNoLXRvLWRvY2stcG9wL3RyZWUvdWJ1bnR1LWRvY2siLAogICJ1dWlkIjogImRhc2gtdG8tZG9jay1jb3NtaWMtQGhhbGZtZXhpY2FuaGFsZmFtYXppbmdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "42": {"version": "20", "sha256": "0gr31f557aas7dgm67gcmdhgnw0iyih4lwckbhsz62i7c6v43f3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC5cblxuQWRkcyBGZWF0dXJlczpcbkRvY2sgQWxpZ25tZW50XG5DdXN0b20gQm9yZGVyIFJhZGl1c1xuQ3VzdG9tIE1hcmdpbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYWxmbWV4aWNhbi9kYXNoLXRvLWRvY2stcG9wL3RyZWUvdWJ1bnR1LWRvY2siLAogICJ1dWlkIjogImRhc2gtdG8tZG9jay1jb3NtaWMtQGhhbGZtZXhpY2FuaGFsZmFtYXppbmdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "43": {"version": "20", "sha256": "0gr31f557aas7dgm67gcmdhgnw0iyih4lwckbhsz62i7c6v43f3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC5cblxuQWRkcyBGZWF0dXJlczpcbkRvY2sgQWxpZ25tZW50XG5DdXN0b20gQm9yZGVyIFJhZGl1c1xuQ3VzdG9tIE1hcmdpbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYWxmbWV4aWNhbi9kYXNoLXRvLWRvY2stcG9wL3RyZWUvdWJ1bnR1LWRvY2siLAogICJ1dWlkIjogImRhc2gtdG8tZG9jay1jb3NtaWMtQGhhbGZtZXhpY2FuaGFsZmFtYXppbmdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
@@ -746,7 +746,7 @@
 , {"uuid": "simple-message@freddez", "name": "Simple Message", "pname": "simple-message", "description": "Show a message written by the user on the top bar.", "link": "https://extensions.gnome.org/extension/5018/simple-message/", "shell_version_map": {"40": {"version": "10", "sha256": "1sjlqnfmprfp6jhyb2835nz53s1bcp00bfris6y60lm9g7sji387", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBtZXNzYWdlIHdyaXR0ZW4gYnkgdGhlIHVzZXIgb24gdGhlIHRvcCBiYXIuIiwKICAibmFtZSI6ICJTaW1wbGUgTWVzc2FnZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaW1wbGUtbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1sjlqnfmprfp6jhyb2835nz53s1bcp00bfris6y60lm9g7sji387", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBtZXNzYWdlIHdyaXR0ZW4gYnkgdGhlIHVzZXIgb24gdGhlIHRvcCBiYXIuIiwKICAibmFtZSI6ICJTaW1wbGUgTWVzc2FnZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaW1wbGUtbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "1sjlqnfmprfp6jhyb2835nz53s1bcp00bfris6y60lm9g7sji387", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBtZXNzYWdlIHdyaXR0ZW4gYnkgdGhlIHVzZXIgb24gdGhlIHRvcCBiYXIuIiwKICAibmFtZSI6ICJTaW1wbGUgTWVzc2FnZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaW1wbGUtbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDEwCn0="}, "43": {"version": "10", "sha256": "1sjlqnfmprfp6jhyb2835nz53s1bcp00bfris6y60lm9g7sji387", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYSBtZXNzYWdlIHdyaXR0ZW4gYnkgdGhlIHVzZXIgb24gdGhlIHRvcCBiYXIuIiwKICAibmFtZSI6ICJTaW1wbGUgTWVzc2FnZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaW1wbGUtbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"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": "3", "sha256": "16fbclbvs9n4910iw7krr4g3nn89nha3nzagjsqc89hg37ngfk4v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cG9zZSBhIEQtQnVzIGludGVyZmFjZSB0byBhY3RpdmF0ZSBhIHdpbmRvdyBieSBpdHMgdGl0bGUgb3IgV01fQ0xBU1MiLAogICJuYW1lIjogIkFjdGl2YXRlIFdpbmRvdyBCeSBUaXRsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHVjYXN3ZXJrbWVpc3Rlci9hY3RpdmF0ZS13aW5kb3ctYnktdGl0bGUiLAogICJ1dWlkIjogImFjdGl2YXRlLXdpbmRvdy1ieS10aXRsZUBsdWNhc3dlcmttZWlzdGVyLmRlIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "43": {"version": "3", "sha256": "16fbclbvs9n4910iw7krr4g3nn89nha3nzagjsqc89hg37ngfk4v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cG9zZSBhIEQtQnVzIGludGVyZmFjZSB0byBhY3RpdmF0ZSBhIHdpbmRvdyBieSBpdHMgdGl0bGUgb3IgV01fQ0xBU1MiLAogICJuYW1lIjogIkFjdGl2YXRlIFdpbmRvdyBCeSBUaXRsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHVjYXN3ZXJrbWVpc3Rlci9hY3RpdmF0ZS13aW5kb3ctYnktdGl0bGUiLAogICJ1dWlkIjogImFjdGl2YXRlLXdpbmRvdy1ieS10aXRsZUBsdWNhc3dlcmttZWlzdGVyLmRlIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"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 and fan speed\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": "6", "sha256": "1kd3c9bml1qh6djjmd4qr393z4zp7il0p3sz9bb7qv2smsg582lf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmUgYW5kIGZhbiBzcGVlZFxuXG5EaWZmZXJlbnQgY29sb3JzIHJlcHJlc2VudCBkaWZmZXJlbnQgcGVyY2VudGFnZSBzdGF0ZXMgYW5kIENQVSB0ZW1wZXJhdHVyZVxuXG5wbGVhc2UgdXNlIG1vbm9zcGFjZWQgZm9udCBmb3IgYmVzdCBleHBlcmllbmNlIiwKICAibmFtZSI6ICJOYW5vIFN5c3RlbSBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWVlZWVpby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFuby1zeXN0ZW0tbW9uaXRvciIsCiAgInV1aWQiOiAibmFuby1zeXN0ZW0tbW9uaXRvckBlZWVlZWlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "1kd3c9bml1qh6djjmd4qr393z4zp7il0p3sz9bb7qv2smsg582lf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmUgYW5kIGZhbiBzcGVlZFxuXG5EaWZmZXJlbnQgY29sb3JzIHJlcHJlc2VudCBkaWZmZXJlbnQgcGVyY2VudGFnZSBzdGF0ZXMgYW5kIENQVSB0ZW1wZXJhdHVyZVxuXG5wbGVhc2UgdXNlIG1vbm9zcGFjZWQgZm9udCBmb3IgYmVzdCBleHBlcmllbmNlIiwKICAibmFtZSI6ICJOYW5vIFN5c3RlbSBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWVlZWVpby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFuby1zeXN0ZW0tbW9uaXRvciIsCiAgInV1aWQiOiAibmFuby1zeXN0ZW0tbW9uaXRvckBlZWVlZWlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "1kd3c9bml1qh6djjmd4qr393z4zp7il0p3sz9bb7qv2smsg582lf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmUgYW5kIGZhbiBzcGVlZFxuXG5EaWZmZXJlbnQgY29sb3JzIHJlcHJlc2VudCBkaWZmZXJlbnQgcGVyY2VudGFnZSBzdGF0ZXMgYW5kIENQVSB0ZW1wZXJhdHVyZVxuXG5wbGVhc2UgdXNlIG1vbm9zcGFjZWQgZm9udCBmb3IgYmVzdCBleHBlcmllbmNlIiwKICAibmFtZSI6ICJOYW5vIFN5c3RlbSBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWVlZWVpby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFuby1zeXN0ZW0tbW9uaXRvciIsCiAgInV1aWQiOiAibmFuby1zeXN0ZW0tbW9uaXRvckBlZWVlZWlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "1kd3c9bml1qh6djjmd4qr393z4zp7il0p3sz9bb7qv2smsg582lf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmUgYW5kIGZhbiBzcGVlZFxuXG5EaWZmZXJlbnQgY29sb3JzIHJlcHJlc2VudCBkaWZmZXJlbnQgcGVyY2VudGFnZSBzdGF0ZXMgYW5kIENQVSB0ZW1wZXJhdHVyZVxuXG5wbGVhc2UgdXNlIG1vbm9zcGFjZWQgZm9udCBmb3IgYmVzdCBleHBlcmllbmNlIiwKICAibmFtZSI6ICJOYW5vIFN5c3RlbSBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWVlZWVpby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFuby1zeXN0ZW0tbW9uaXRvciIsCiAgInV1aWQiOiAibmFuby1zeXN0ZW0tbW9uaXRvckBlZWVlZWlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"uuid": "start-overlay-in-application-view@Hex_cz", "name": "Start Overlay in Application View", "pname": "start-overlay-in-application-view", "description": "When activating overview (Super button), the application view is shown instead of the view with the windows.", "link": "https://extensions.gnome.org/extension/5040/start-overlay-in-application-view/", "shell_version_map": {"40": {"version": "3", "sha256": "1mk058ayvyiank9iisvdwkhlwh1sgm17viax4jd0kwfjwf7vvxvb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGV4Y3ovU3RhcnQtT3ZlcmxheS1pbi1BcHBsaWNhdGlvbi1WaWV3LWZvci1Hbm9tZS00MC0iLAogICJ1dWlkIjogInN0YXJ0LW92ZXJsYXktaW4tYXBwbGljYXRpb24tdmlld0BIZXhfY3oiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1mk058ayvyiank9iisvdwkhlwh1sgm17viax4jd0kwfjwf7vvxvb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGV4Y3ovU3RhcnQtT3ZlcmxheS1pbi1BcHBsaWNhdGlvbi1WaWV3LWZvci1Hbm9tZS00MC0iLAogICJ1dWlkIjogInN0YXJ0LW92ZXJsYXktaW4tYXBwbGljYXRpb24tdmlld0BIZXhfY3oiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "1mk058ayvyiank9iisvdwkhlwh1sgm17viax4jd0kwfjwf7vvxvb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGV4Y3ovU3RhcnQtT3ZlcmxheS1pbi1BcHBsaWNhdGlvbi1WaWV3LWZvci1Hbm9tZS00MC0iLAogICJ1dWlkIjogInN0YXJ0LW92ZXJsYXktaW4tYXBwbGljYXRpb24tdmlld0BIZXhfY3oiLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "start-overlay-in-application-view@Hex_cz", "name": "Start Overlay in Application View", "pname": "start-overlay-in-application-view", "description": "When activating overview (Super button), the application view is shown instead of the view with the windows.", "link": "https://extensions.gnome.org/extension/5040/start-overlay-in-application-view/", "shell_version_map": {"40": {"version": "4", "sha256": "0zj39jd2l3d2wxx11yvm73rjpljvikr5y9xwxpjf6xmlpxs7hdh9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0hleGN6L1N0YXJ0LU92ZXJsYXktaW4tQXBwbGljYXRpb24tVmlldy1mb3ItR25vbWUtNDAtIiwKICAidXVpZCI6ICJzdGFydC1vdmVybGF5LWluLWFwcGxpY2F0aW9uLXZpZXdASGV4X2N6IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0zj39jd2l3d2wxx11yvm73rjpljvikr5y9xwxpjf6xmlpxs7hdh9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0hleGN6L1N0YXJ0LU92ZXJsYXktaW4tQXBwbGljYXRpb24tVmlldy1mb3ItR25vbWUtNDAtIiwKICAidXVpZCI6ICJzdGFydC1vdmVybGF5LWluLWFwcGxpY2F0aW9uLXZpZXdASGV4X2N6IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "0zj39jd2l3d2wxx11yvm73rjpljvikr5y9xwxpjf6xmlpxs7hdh9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0hleGN6L1N0YXJ0LU92ZXJsYXktaW4tQXBwbGljYXRpb24tVmlldy1mb3ItR25vbWUtNDAtIiwKICAidXVpZCI6ICJzdGFydC1vdmVybGF5LWluLWFwcGxpY2F0aW9uLXZpZXdASGV4X2N6IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "43": {"version": "4", "sha256": "0zj39jd2l3d2wxx11yvm73rjpljvikr5y9xwxpjf6xmlpxs7hdh9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0hleGN6L1N0YXJ0LU92ZXJsYXktaW4tQXBwbGljYXRpb24tVmlldy1mb3ItR25vbWUtNDAtIiwKICAidXVpZCI6ICJzdGFydC1vdmVybGF5LWluLWFwcGxpY2F0aW9uLXZpZXdASGV4X2N6IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "eortologio@danchris.github.io", "name": "Eortologio", "pname": "eortologio-extension", "description": "Simple gnome extension to display the greek namedays", "link": "https://extensions.gnome.org/extension/5046/eortologio-extension/", "shell_version_map": {"41": {"version": "3", "sha256": "0gfg8i0rd83xqf9gqdxx02pl4kj34sn17nkws2d24l1pm55zz7g7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBleHRlbnNpb24gdG8gZGlzcGxheSB0aGUgZ3JlZWsgbmFtZWRheXMiLAogICJuYW1lIjogIkVvcnRvbG9naW8iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJlb3J0b2xvZ2lvQGRhbmNocmlzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0gfg8i0rd83xqf9gqdxx02pl4kj34sn17nkws2d24l1pm55zz7g7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBleHRlbnNpb24gdG8gZGlzcGxheSB0aGUgZ3JlZWsgbmFtZWRheXMiLAogICJuYW1lIjogIkVvcnRvbG9naW8iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJlb3J0b2xvZ2lvQGRhbmNocmlzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "wallpaper-changer@ghostkeeper.github.com", "name": "Wallpaper Changer Continued", "pname": "wallpaper-changer-continued", "description": "Fork of wallpaper-changer@jomik.org, updated for Gnome 4", "link": "https://extensions.gnome.org/extension/5049/wallpaper-changer-continued/", "shell_version_map": {"40": {"version": "3", "sha256": "0kvjljwppdz95napbczb0zskmr5x2xsib3y5yk3qm3ig26k00j56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Ygd2FsbHBhcGVyLWNoYW5nZXJAam9taWsub3JnLCB1cGRhdGVkIGZvciBHbm9tZSA0IiwKICAibmFtZSI6ICJXYWxscGFwZXIgQ2hhbmdlciBDb250aW51ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HaG9zdGtlZXBlci9nbm9tZS13YWxscGFwZXItY2hhbmdlciIsCiAgInV1aWQiOiAid2FsbHBhcGVyLWNoYW5nZXJAZ2hvc3RrZWVwZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0kvjljwppdz95napbczb0zskmr5x2xsib3y5yk3qm3ig26k00j56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Ygd2FsbHBhcGVyLWNoYW5nZXJAam9taWsub3JnLCB1cGRhdGVkIGZvciBHbm9tZSA0IiwKICAibmFtZSI6ICJXYWxscGFwZXIgQ2hhbmdlciBDb250aW51ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HaG9zdGtlZXBlci9nbm9tZS13YWxscGFwZXItY2hhbmdlciIsCiAgInV1aWQiOiAid2FsbHBhcGVyLWNoYW5nZXJAZ2hvc3RrZWVwZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0kvjljwppdz95napbczb0zskmr5x2xsib3y5yk3qm3ig26k00j56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Ygd2FsbHBhcGVyLWNoYW5nZXJAam9taWsub3JnLCB1cGRhdGVkIGZvciBHbm9tZSA0IiwKICAibmFtZSI6ICJXYWxscGFwZXIgQ2hhbmdlciBDb250aW51ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HaG9zdGtlZXBlci9nbm9tZS13YWxscGFwZXItY2hhbmdlciIsCiAgInV1aWQiOiAid2FsbHBhcGVyLWNoYW5nZXJAZ2hvc3RrZWVwZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "xremap@k0kubun.com", "name": "Xremap", "pname": "xremap", "description": "Allow xremap to fetch the focused app name using D-Bus", "link": "https://extensions.gnome.org/extension/5060/xremap/", "shell_version_map": {"38": {"version": "4", "sha256": "01kx3ljy383p0rr0i4wdji30w6px2vjbvz4476pn6vrh6g2yzj7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHhyZW1hcCB0byBmZXRjaCB0aGUgZm9jdXNlZCBhcHAgbmFtZSB1c2luZyBELUJ1cyIsCiAgIm5hbWUiOiAiWHJlbWFwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hyZW1hcC94cmVtYXAtZ25vbWUiLAogICJ1dWlkIjogInhyZW1hcEBrMGt1YnVuLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "01kx3ljy383p0rr0i4wdji30w6px2vjbvz4476pn6vrh6g2yzj7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHhyZW1hcCB0byBmZXRjaCB0aGUgZm9jdXNlZCBhcHAgbmFtZSB1c2luZyBELUJ1cyIsCiAgIm5hbWUiOiAiWHJlbWFwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hyZW1hcC94cmVtYXAtZ25vbWUiLAogICJ1dWlkIjogInhyZW1hcEBrMGt1YnVuLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "01kx3ljy383p0rr0i4wdji30w6px2vjbvz4476pn6vrh6g2yzj7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHhyZW1hcCB0byBmZXRjaCB0aGUgZm9jdXNlZCBhcHAgbmFtZSB1c2luZyBELUJ1cyIsCiAgIm5hbWUiOiAiWHJlbWFwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hyZW1hcC94cmVtYXAtZ25vbWUiLAogICJ1dWlkIjogInhyZW1hcEBrMGt1YnVuLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "01kx3ljy383p0rr0i4wdji30w6px2vjbvz4476pn6vrh6g2yzj7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHhyZW1hcCB0byBmZXRjaCB0aGUgZm9jdXNlZCBhcHAgbmFtZSB1c2luZyBELUJ1cyIsCiAgIm5hbWUiOiAiWHJlbWFwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hyZW1hcC94cmVtYXAtZ25vbWUiLAogICJ1dWlkIjogInhyZW1hcEBrMGt1YnVuLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "43": {"version": "4", "sha256": "01kx3ljy383p0rr0i4wdji30w6px2vjbvz4476pn6vrh6g2yzj7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHhyZW1hcCB0byBmZXRjaCB0aGUgZm9jdXNlZCBhcHAgbmFtZSB1c2luZyBELUJ1cyIsCiAgIm5hbWUiOiAiWHJlbWFwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hyZW1hcC94cmVtYXAtZ25vbWUiLAogICJ1dWlkIjogInhyZW1hcEBrMGt1YnVuLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
@@ -769,7 +769,7 @@
 , {"uuid": "touch-ux@dblandford.com", "name": "Touch-UX", "pname": "touch-ux", "description": "Provides a swipe up gesture bar and a status bar shortcut to force the on screen keyboard to show in scenarios that it does not automatically show when expected.", "link": "https://extensions.gnome.org/extension/5108/touch-ux/", "shell_version_map": {"42": {"version": "3", "sha256": "1vjchsz0jml0qaj2mz0khsagacxz1m60ypcjnymh3swrx9lj765m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIGEgc3dpcGUgdXAgZ2VzdHVyZSBiYXIgYW5kIGEgc3RhdHVzIGJhciBzaG9ydGN1dCB0byBmb3JjZSB0aGUgb24gc2NyZWVuIGtleWJvYXJkIHRvIHNob3cgaW4gc2NlbmFyaW9zIHRoYXQgaXQgZG9lcyBub3QgYXV0b21hdGljYWxseSBzaG93IHdoZW4gZXhwZWN0ZWQuIiwKICAibmFtZSI6ICJUb3VjaC1VWCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EYW5pZWwtQmxhbmRmb3JkL1RvdWNoLVVYIiwKICAidXVpZCI6ICJ0b3VjaC11eEBkYmxhbmRmb3JkLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "display-scale-switcher@knokelmaat.gitlab.com", "name": "Display Scale Switcher", "pname": "display-scale-switcher", "description": "Quickly change the display scaling factor from the system menu.", "link": "https://extensions.gnome.org/extension/5111/display-scale-switcher/", "shell_version_map": {"42": {"version": "1", "sha256": "14yd0xzgqvqxq1s11pbspqn1y1sqjsdgq2giqkwf8r1n2rn1wc94", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgY2hhbmdlIHRoZSBkaXNwbGF5IHNjYWxpbmcgZmFjdG9yIGZyb20gdGhlIHN5c3RlbSBtZW51LiIsCiAgIm5hbWUiOiAiRGlzcGxheSBTY2FsZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9rbm9rZWxtYWF0L2Rpc3BsYXktc2NhbGUtc3dpdGNoZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkaXNwbGF5LXNjYWxlLXN3aXRjaGVyQGtub2tlbG1hYXQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "43": {"version": "3", "sha256": "0lkyfzks9l7y784rswadfg831rfqk5jknzzg5pvbjqhyk6v22cc7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgY2hhbmdlIHRoZSBkaXNwbGF5IHNjYWxpbmcgZmFjdG9yIGZyb20gdGhlIHN5c3RlbSBtZW51LiIsCiAgIm5hbWUiOiAiRGlzcGxheSBTY2FsZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9rbm9rZWxtYWF0L2Rpc3BsYXktc2NhbGUtc3dpdGNoZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkaXNwbGF5LXNjYWxlLXN3aXRjaGVyQGtub2tlbG1hYXQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "tailscale-status@maxgallup.github.com", "name": "Tailscale Status", "pname": "tailscale-status", "description": "Manage Tailscale connections and check status from desktop read more at https://github.com/maxgallup/tailscale-status/blob/main/README.md", "link": "https://extensions.gnome.org/extension/5112/tailscale-status/", "shell_version_map": {"42": {"version": "16", "sha256": "1f69xhqy5qddqwswqsrq97jc0x65d5r95a38vp6vwkmdxlpf67sv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBUYWlsc2NhbGUgY29ubmVjdGlvbnMgYW5kIGNoZWNrIHN0YXR1cyBmcm9tIGRlc2t0b3AgcmVhZCBtb3JlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhnYWxsdXAvdGFpbHNjYWxlLXN0YXR1cy9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJUYWlsc2NhbGUgU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXhnYWxsdXAvdGFpbHNjYWxlLXN0YXR1cyIsCiAgInV1aWQiOiAidGFpbHNjYWxlLXN0YXR1c0BtYXhnYWxsdXAuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}, "43": {"version": "16", "sha256": "1f69xhqy5qddqwswqsrq97jc0x65d5r95a38vp6vwkmdxlpf67sv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBUYWlsc2NhbGUgY29ubmVjdGlvbnMgYW5kIGNoZWNrIHN0YXR1cyBmcm9tIGRlc2t0b3AgcmVhZCBtb3JlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhnYWxsdXAvdGFpbHNjYWxlLXN0YXR1cy9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJUYWlsc2NhbGUgU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXhnYWxsdXAvdGFpbHNjYWxlLXN0YXR1cyIsCiAgInV1aWQiOiAidGFpbHNjYWxlLXN0YXR1c0BtYXhnYWxsdXAuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}}}
-, {"uuid": "simple-timer@majortomvr.github.com", "name": "Simple Timer", "pname": "simple-timer", "description": "Simple Timer is a Gnome Shell Extension that adds a Timer to the Panel.", "link": "https://extensions.gnome.org/extension/5115/simple-timer/", "shell_version_map": {"41": {"version": "1", "sha256": "1k1qxygahg7h5x5g2b6c13j0hnv0sy9k82nw45ixjkzmfrx99pr6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBUaW1lciBpcyBhIEdub21lIFNoZWxsIEV4dGVuc2lvbiB0aGF0IGFkZHMgYSBUaW1lciB0byB0aGUgUGFuZWwuIiwKICAibmFtZSI6ICJTaW1wbGUgVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01ham9ydG9tVlIvc2ltcGxlLXRpbWVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic2ltcGxlLXRpbWVyQG1ham9ydG9tdnIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "4", "sha256": "1vdca39k7w3fw4naipd1c77diszbiadwn88f93q00lk772n0fz8m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBUaW1lciBpcyBhIEdub21lIFNoZWxsIEV4dGVuc2lvbiB0aGF0IGFkZHMgYSBUaW1lciB0byB0aGUgUGFuZWwuIiwKICAibmFtZSI6ICJTaW1wbGUgVGltZXIiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01ham9ydG9tVlIvc2ltcGxlLXRpbWVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic2ltcGxlLXRpbWVyQG1ham9ydG9tdnIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "simple-timer@majortomvr.github.com", "name": "Simple Timer", "pname": "simple-timer", "description": "Simple Timer is a Gnome Shell Extension that adds a Timer to the Panel.", "link": "https://extensions.gnome.org/extension/5115/simple-timer/", "shell_version_map": {"41": {"version": "1", "sha256": "1k1qxygahg7h5x5g2b6c13j0hnv0sy9k82nw45ixjkzmfrx99pr6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBUaW1lciBpcyBhIEdub21lIFNoZWxsIEV4dGVuc2lvbiB0aGF0IGFkZHMgYSBUaW1lciB0byB0aGUgUGFuZWwuIiwKICAibmFtZSI6ICJTaW1wbGUgVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01ham9ydG9tVlIvc2ltcGxlLXRpbWVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic2ltcGxlLXRpbWVyQG1ham9ydG9tdnIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "7", "sha256": "1zvw5mr36rcbs1qhkk8arss44g9f3qmgvasy16n4bxl5p0hzr2q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBUaW1lciBpcyBhIEdub21lIFNoZWxsIEV4dGVuc2lvbiB0aGF0IGFkZHMgYSBUaW1lciB0byB0aGUgUGFuZWwuIiwKICAibmFtZSI6ICJTaW1wbGUgVGltZXIiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYWpvcnRvbVZSL3NpbXBsZS10aW1lci1leHRlbnNpb24iLAogICJ1dWlkIjogInNpbXBsZS10aW1lckBtYWpvcnRvbXZyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "43": {"version": "7", "sha256": "1zvw5mr36rcbs1qhkk8arss44g9f3qmgvasy16n4bxl5p0hzr2q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBUaW1lciBpcyBhIEdub21lIFNoZWxsIEV4dGVuc2lvbiB0aGF0IGFkZHMgYSBUaW1lciB0byB0aGUgUGFuZWwuIiwKICAibmFtZSI6ICJTaW1wbGUgVGltZXIiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYWpvcnRvbVZSL3NpbXBsZS10aW1lci1leHRlbnNpb24iLAogICJ1dWlkIjogInNpbXBsZS10aW1lckBtYWpvcnRvbXZyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "translate-assistant@atareao.es", "name": "Translate assistant", "pname": "translate-assistant", "description": "Translate with DeepL Translator", "link": "https://extensions.gnome.org/extension/5124/translate-assistant/", "shell_version_map": {"42": {"version": "6", "sha256": "0rql3ax7m3pr8g5h7iadl4isa2wv2wyzl9n0nihwf2js19i6ya97", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3aXRoIERlZXBMIFRyYW5zbGF0b3IiLAogICJleHRlbnNpb24taWQiOiAidHJhbnNsYXRlLWFzc2lzdGFudEBhdGFyZWFvLmVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHJhbnNsYXRlLWFzc2lzdGFudEBhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJ0cmFuc2xhdGUtYXNzaXN0YW50LWljb24iLAogICJuYW1lIjogIlRyYW5zbGF0ZSBhc3Npc3RhbnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNsYXRlLWFzc2lzdGFudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdGFyZWFvL3RyYW5zbGF0ZS1hc3Npc3RhbnQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1hc3Npc3RhbnRAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "stand-with-ukraine@vshut", "name": "Stand With Ukraine", "pname": "stand-with-ukraine", "description": "Displays Ukraine emoji flag in the top panel and provides menu with useful links.", "link": "https://extensions.gnome.org/extension/5126/stand-with-ukraine/", "shell_version_map": {"38": {"version": "3", "sha256": "1iqhy6jf6l74dig8lfd5kyqn6rc0f1f43qr9xk3396f2l1wjy6vf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFVrcmFpbmUgZW1vamkgZmxhZyBpbiB0aGUgdG9wIHBhbmVsIGFuZCBwcm92aWRlcyBtZW51IHdpdGggdXNlZnVsIGxpbmtzLiIsCiAgIm5hbWUiOiAiU3RhbmQgV2l0aCBVa3JhaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdmxhZHNodXQvc3RhbmQtd2l0aC11a3JhaW5lLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RhbmQtd2l0aC11a3JhaW5lQHZzaHV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "1iqhy6jf6l74dig8lfd5kyqn6rc0f1f43qr9xk3396f2l1wjy6vf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFVrcmFpbmUgZW1vamkgZmxhZyBpbiB0aGUgdG9wIHBhbmVsIGFuZCBwcm92aWRlcyBtZW51IHdpdGggdXNlZnVsIGxpbmtzLiIsCiAgIm5hbWUiOiAiU3RhbmQgV2l0aCBVa3JhaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdmxhZHNodXQvc3RhbmQtd2l0aC11a3JhaW5lLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RhbmQtd2l0aC11a3JhaW5lQHZzaHV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "1iqhy6jf6l74dig8lfd5kyqn6rc0f1f43qr9xk3396f2l1wjy6vf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFVrcmFpbmUgZW1vamkgZmxhZyBpbiB0aGUgdG9wIHBhbmVsIGFuZCBwcm92aWRlcyBtZW51IHdpdGggdXNlZnVsIGxpbmtzLiIsCiAgIm5hbWUiOiAiU3RhbmQgV2l0aCBVa3JhaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdmxhZHNodXQvc3RhbmQtd2l0aC11a3JhaW5lLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RhbmQtd2l0aC11a3JhaW5lQHZzaHV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "1iqhy6jf6l74dig8lfd5kyqn6rc0f1f43qr9xk3396f2l1wjy6vf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIFVrcmFpbmUgZW1vamkgZmxhZyBpbiB0aGUgdG9wIHBhbmVsIGFuZCBwcm92aWRlcyBtZW51IHdpdGggdXNlZnVsIGxpbmtzLiIsCiAgIm5hbWUiOiAiU3RhbmQgV2l0aCBVa3JhaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdmxhZHNodXQvc3RhbmQtd2l0aC11a3JhaW5lLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RhbmQtd2l0aC11a3JhaW5lQHZzaHV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "audio-selector@harald65.simon.gmail.com", "name": "Audio Selector", "pname": "audio-selector", "description": "Select audio output and/or input port", "link": "https://extensions.gnome.org/extension/5135/audio-selector/", "shell_version_map": {"42": {"version": "5", "sha256": "00ww12j34fpbrqlxkc6d47s0i542byz6r39yrshyf8xrcs8r7ifm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlbGVjdCBhdWRpbyBvdXRwdXQgYW5kL29yIGlucHV0IHBvcnQiLAogICJuYW1lIjogIkF1ZGlvIFNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzNjUvR25vbWUtU2hlbGwtRXh0ZW5zaW9uLUF1ZGlvLVNlbGVjdG9yLmdpdCIsCiAgInV1aWQiOiAiYXVkaW8tc2VsZWN0b3JAaGFyYWxkNjUuc2ltb24uZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
@@ -782,7 +782,7 @@
 , {"uuid": "noa11y@popov895.ukr.net", "name": "No a11y", "pname": "no-a11y", "description": "Hide the accessibility button on the top bar.", "link": "https://extensions.gnome.org/extension/5162/no-a11y/", "shell_version_map": {"42": {"version": "1", "sha256": "0nv9iwyx0pqf81jhdgfm5dsjh7ryp8y25w32l1ll1w7223chz2v7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGhlIGFjY2Vzc2liaWxpdHkgYnV0dG9uIG9uIHRoZSB0b3AgYmFyLiIsCiAgIm5hbWUiOiAiTm8gYTExeSIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvbm9hMTF5IiwKICAidXVpZCI6ICJub2ExMXlAcG9wb3Y4OTUudWtyLm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "upower-battery@codilia.com", "name": "UPower Battery", "pname": "upower-battery", "description": "UPower Battery Indicator.", "link": "https://extensions.gnome.org/extension/5165/upower-battery/", "shell_version_map": {"42": {"version": "8", "sha256": "0wx1hjhn93ppb6dch3cc6zzh7va7jhkggg9xslxa8qyws7mshswp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVQb3dlciBCYXR0ZXJ5IEluZGljYXRvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cG93ZXJfYmF0dGVyeV9pbmRpY2F0b3IiLAogICJuYW1lIjogIlVQb3dlciBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jb2RpbGlhL3Vwb3dlci1iYXR0ZXJ5IiwKICAidXVpZCI6ICJ1cG93ZXItYmF0dGVyeUBjb2RpbGlhLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "43": {"version": "8", "sha256": "0wx1hjhn93ppb6dch3cc6zzh7va7jhkggg9xslxa8qyws7mshswp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVQb3dlciBCYXR0ZXJ5IEluZGljYXRvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cG93ZXJfYmF0dGVyeV9pbmRpY2F0b3IiLAogICJuYW1lIjogIlVQb3dlciBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jb2RpbGlhL3Vwb3dlci1iYXR0ZXJ5IiwKICAidXVpZCI6ICJ1cG93ZXItYmF0dGVyeUBjb2RpbGlhLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "vertical-workspaces@G-dH.github.com", "name": "Vertical Workspaces", "pname": "vertical-workspaces", "description": "Vertical orientation of workspaces and options to customize Activities overview layout and content for GNOME 40+.\n\nIf you find this extension useful, please leave a comment, your feedback is important to me, be it positive or negative!\nPlease report bugs and feature requests on the GitHub page linked below as Extension Homepage.", "link": "https://extensions.gnome.org/extension/5177/vertical-workspaces/", "shell_version_map": {"40": {"version": "13", "sha256": "1vy3wk8fjv8brbny638fyhkq84q8x00h9scqf7qi6dr1mvzf93g6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZlcnRpY2FsIG9yaWVudGF0aW9uIG9mIHdvcmtzcGFjZXMgYW5kIG9wdGlvbnMgdG8gY3VzdG9taXplIEFjdGl2aXRpZXMgb3ZlcnZpZXcgbGF5b3V0IGFuZCBjb250ZW50IGZvciBHTk9NRSA0MCsuXG5cbklmIHlvdSBmaW5kIHRoaXMgZXh0ZW5zaW9uIHVzZWZ1bCwgcGxlYXNlIGxlYXZlIGEgY29tbWVudCwgeW91ciBmZWVkYmFjayBpcyBpbXBvcnRhbnQgdG8gbWUsIGJlIGl0IHBvc2l0aXZlIG9yIG5lZ2F0aXZlIVxuUGxlYXNlIHJlcG9ydCBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZSBsaW5rZWQgYmVsb3cgYXMgRXh0ZW5zaW9uIEhvbWVwYWdlLiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "1vy3wk8fjv8brbny638fyhkq84q8x00h9scqf7qi6dr1mvzf93g6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZlcnRpY2FsIG9yaWVudGF0aW9uIG9mIHdvcmtzcGFjZXMgYW5kIG9wdGlvbnMgdG8gY3VzdG9taXplIEFjdGl2aXRpZXMgb3ZlcnZpZXcgbGF5b3V0IGFuZCBjb250ZW50IGZvciBHTk9NRSA0MCsuXG5cbklmIHlvdSBmaW5kIHRoaXMgZXh0ZW5zaW9uIHVzZWZ1bCwgcGxlYXNlIGxlYXZlIGEgY29tbWVudCwgeW91ciBmZWVkYmFjayBpcyBpbXBvcnRhbnQgdG8gbWUsIGJlIGl0IHBvc2l0aXZlIG9yIG5lZ2F0aXZlIVxuUGxlYXNlIHJlcG9ydCBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZSBsaW5rZWQgYmVsb3cgYXMgRXh0ZW5zaW9uIEhvbWVwYWdlLiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "42": {"version": "13", "sha256": "1vy3wk8fjv8brbny638fyhkq84q8x00h9scqf7qi6dr1mvzf93g6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZlcnRpY2FsIG9yaWVudGF0aW9uIG9mIHdvcmtzcGFjZXMgYW5kIG9wdGlvbnMgdG8gY3VzdG9taXplIEFjdGl2aXRpZXMgb3ZlcnZpZXcgbGF5b3V0IGFuZCBjb250ZW50IGZvciBHTk9NRSA0MCsuXG5cbklmIHlvdSBmaW5kIHRoaXMgZXh0ZW5zaW9uIHVzZWZ1bCwgcGxlYXNlIGxlYXZlIGEgY29tbWVudCwgeW91ciBmZWVkYmFjayBpcyBpbXBvcnRhbnQgdG8gbWUsIGJlIGl0IHBvc2l0aXZlIG9yIG5lZ2F0aXZlIVxuUGxlYXNlIHJlcG9ydCBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZSBsaW5rZWQgYmVsb3cgYXMgRXh0ZW5zaW9uIEhvbWVwYWdlLiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "43": {"version": "13", "sha256": "1vy3wk8fjv8brbny638fyhkq84q8x00h9scqf7qi6dr1mvzf93g6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZlcnRpY2FsIG9yaWVudGF0aW9uIG9mIHdvcmtzcGFjZXMgYW5kIG9wdGlvbnMgdG8gY3VzdG9taXplIEFjdGl2aXRpZXMgb3ZlcnZpZXcgbGF5b3V0IGFuZCBjb250ZW50IGZvciBHTk9NRSA0MCsuXG5cbklmIHlvdSBmaW5kIHRoaXMgZXh0ZW5zaW9uIHVzZWZ1bCwgcGxlYXNlIGxlYXZlIGEgY29tbWVudCwgeW91ciBmZWVkYmFjayBpcyBpbXBvcnRhbnQgdG8gbWUsIGJlIGl0IHBvc2l0aXZlIG9yIG5lZ2F0aXZlIVxuUGxlYXNlIHJlcG9ydCBidWdzIGFuZCBmZWF0dXJlIHJlcXVlc3RzIG9uIHRoZSBHaXRIdWIgcGFnZSBsaW5rZWQgYmVsb3cgYXMgRXh0ZW5zaW9uIEhvbWVwYWdlLiIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"uuid": "rocketbar@chepkun.github.com", "name": "Rocketbar", "pname": "rocketbar", "description": "Taskbar and misc additions for the GNOME Shell.", "link": "https://extensions.gnome.org/extension/5180/rocketbar/", "shell_version_map": {"42": {"version": "5", "sha256": "1hbiy9bbxr0k3bvq5mqkz0dvc7cqrz1mya4alipfsrc29qdxyj97", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2tiYXIgYW5kIG1pc2MgYWRkaXRpb25zIGZvciB0aGUgR05PTUUgU2hlbGwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicm9ja2V0YmFyIiwKICAibmFtZSI6ICJSb2NrZXRiYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucm9ja2V0YmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LWlzLWF3ZXNvbWUvZ25vbWVfZXh0ZW5zaW9uX3JvY2tldGJhciIsCiAgInV1aWQiOiAicm9ja2V0YmFyQGNoZXBrdW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "rocketbar@chepkun.github.com", "name": "Rocketbar", "pname": "rocketbar", "description": "Taskbar and misc additions for the GNOME Shell.", "link": "https://extensions.gnome.org/extension/5180/rocketbar/", "shell_version_map": {"42": {"version": "6", "sha256": "1d7qqjw7absip9yg248kjw8vj07cxpcvy8pdpvwn6fvinmhp99y4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2tiYXIgYW5kIG1pc2MgYWRkaXRpb25zIGZvciB0aGUgR05PTUUgU2hlbGwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicm9ja2V0YmFyIiwKICAibmFtZSI6ICJSb2NrZXRiYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucm9ja2V0YmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1pcy1hd2Vzb21lL2dub21lX2V4dGVuc2lvbl9yb2NrZXRiYXIiLAogICJ1dWlkIjogInJvY2tldGJhckBjaGVwa3VuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "43": {"version": "6", "sha256": "1d7qqjw7absip9yg248kjw8vj07cxpcvy8pdpvwn6fvinmhp99y4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2tiYXIgYW5kIG1pc2MgYWRkaXRpb25zIGZvciB0aGUgR05PTUUgU2hlbGwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicm9ja2V0YmFyIiwKICAibmFtZSI6ICJSb2NrZXRiYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucm9ja2V0YmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1pcy1hd2Vzb21lL2dub21lX2V4dGVuc2lvbl9yb2NrZXRiYXIiLAogICJ1dWlkIjogInJvY2tldGJhckBjaGVwa3VuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "contestcountdown@raghav", "name": "Contest Countdown", "pname": "contest-countdown", "description": "Countdown to next codeforces contest. This extension uses the API of codeforces.com to get the list of all upcoming contests. A countdown to the closest upcoming contest (that you are participating in) is shown in the panel, which can be clicked on to view the list of all upcoming contests.", "link": "https://extensions.gnome.org/extension/5183/contest-countdown/", "shell_version_map": {"40": {"version": "3", "sha256": "096vwrc9b5lxg1zk7v8w6ynwnp7x3n3h9f3r5p02rdqy73ybsqia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biB0byBuZXh0IGNvZGVmb3JjZXMgY29udGVzdC4gVGhpcyBleHRlbnNpb24gdXNlcyB0aGUgQVBJIG9mIGNvZGVmb3JjZXMuY29tIHRvIGdldCB0aGUgbGlzdCBvZiBhbGwgdXBjb21pbmcgY29udGVzdHMuIEEgY291bnRkb3duIHRvIHRoZSBjbG9zZXN0IHVwY29taW5nIGNvbnRlc3QgKHRoYXQgeW91IGFyZSBwYXJ0aWNpcGF0aW5nIGluKSBpcyBzaG93biBpbiB0aGUgcGFuZWwsIHdoaWNoIGNhbiBiZSBjbGlja2VkIG9uIHRvIHZpZXcgdGhlIGxpc3Qgb2YgYWxsIHVwY29taW5nIGNvbnRlc3RzLiIsCiAgIm5hbWUiOiAiQ29udGVzdCBDb3VudGRvd24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY29udGVzdC1jb3VudGRvd24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZy1oYXYvY29udGVzdGNvdW50ZG93biIsCiAgInV1aWQiOiAiY29udGVzdGNvdW50ZG93bkByYWdoYXYiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "096vwrc9b5lxg1zk7v8w6ynwnp7x3n3h9f3r5p02rdqy73ybsqia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biB0byBuZXh0IGNvZGVmb3JjZXMgY29udGVzdC4gVGhpcyBleHRlbnNpb24gdXNlcyB0aGUgQVBJIG9mIGNvZGVmb3JjZXMuY29tIHRvIGdldCB0aGUgbGlzdCBvZiBhbGwgdXBjb21pbmcgY29udGVzdHMuIEEgY291bnRkb3duIHRvIHRoZSBjbG9zZXN0IHVwY29taW5nIGNvbnRlc3QgKHRoYXQgeW91IGFyZSBwYXJ0aWNpcGF0aW5nIGluKSBpcyBzaG93biBpbiB0aGUgcGFuZWwsIHdoaWNoIGNhbiBiZSBjbGlja2VkIG9uIHRvIHZpZXcgdGhlIGxpc3Qgb2YgYWxsIHVwY29taW5nIGNvbnRlc3RzLiIsCiAgIm5hbWUiOiAiQ29udGVzdCBDb3VudGRvd24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY29udGVzdC1jb3VudGRvd24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZy1oYXYvY29udGVzdGNvdW50ZG93biIsCiAgInV1aWQiOiAiY29udGVzdGNvdW50ZG93bkByYWdoYXYiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "toggle-window@togglewindow.com", "name": "Toggle Window", "pname": "toggle-window", "description": "For security reasons, since Gnome 41, cann't invoke '**org.gnome.Shell.Eval**' to control the behavior of window, we expose a D-Bus interface to activate/minimized a window by WMclass name.", "link": "https://extensions.gnome.org/extension/5185/toggle-window/", "shell_version_map": {"42": {"version": "3", "sha256": "03d53mf46jdypbqvw5720cc4ii39q87jscnnnwmqcd2x6sn6c0xs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBzZWN1cml0eSByZWFzb25zLCBzaW5jZSBHbm9tZSA0MSwgY2Fubid0IGludm9rZSAnKipvcmcuZ25vbWUuU2hlbGwuRXZhbCoqJyB0byBjb250cm9sIHRoZSBiZWhhdmlvciBvZiB3aW5kb3csIHdlIGV4cG9zZSBhIEQtQnVzIGludGVyZmFjZSB0byBhY3RpdmF0ZS9taW5pbWl6ZWQgYSB3aW5kb3cgYnkgV01jbGFzcyBuYW1lLiIsCiAgIm5hbWUiOiAiVG9nZ2xlIFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2ppYWtvdXpmL3RvZ2dsZV93aW5kb3ciLAogICJ1dWlkIjogInRvZ2dsZS13aW5kb3dAdG9nZ2xld2luZG93LmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "super-key@tommimon.github.com", "name": "Super Key", "pname": "super-key", "description": "Fork of Pop Launcher Super-Key: Bind the Super-Key to a custom action", "link": "https://extensions.gnome.org/extension/5188/super-key/", "shell_version_map": {"42": {"version": "3", "sha256": "0jrhj7c7826xvdr4v2p5fi59fav5ralym3bsxaiv308fpcapzns0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIExhdW5jaGVyIFN1cGVyLUtleTogQmluZCB0aGUgU3VwZXItS2V5IHRvIGEgY3VzdG9tIGFjdGlvbiIsCiAgIm5hbWUiOiAiU3VwZXIgS2V5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN1cGVyLWtleSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9tbWltb24iLAogICJ1dWlkIjogInN1cGVyLWtleUB0b21taW1vbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "43": {"version": "3", "sha256": "0jrhj7c7826xvdr4v2p5fi59fav5ralym3bsxaiv308fpcapzns0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIExhdW5jaGVyIFN1cGVyLUtleTogQmluZCB0aGUgU3VwZXItS2V5IHRvIGEgY3VzdG9tIGFjdGlvbiIsCiAgIm5hbWUiOiAiU3VwZXIgS2V5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN1cGVyLWtleSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9tbWltb24iLAogICJ1dWlkIjogInN1cGVyLWtleUB0b21taW1vbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
@@ -798,7 +798,7 @@
 , {"uuid": "material-you-theme@asubbiah.com", "name": "Material You Color Theming", "pname": "material-you-color-theming", "description": "Applies generated libadwaita theme from wallpaper using Material You", "link": "https://extensions.gnome.org/extension/5236/material-you-color-theming/", "shell_version_map": {"42": {"version": "14", "sha256": "0nabd98nk22iz4azyqlb53igk3kvygh6fzh1k28ll7y2l1wgzm75", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpZXMgZ2VuZXJhdGVkIGxpYmFkd2FpdGEgdGhlbWUgZnJvbSB3YWxscGFwZXIgdXNpbmcgTWF0ZXJpYWwgWW91IiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWF0ZXJpYWwteW91LXRoZW1lIiwKICAibmFtZSI6ICJNYXRlcmlhbCBZb3UgQ29sb3IgVGhlbWluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXZhbmlzaHN1YmJpYWgvbWF0ZXJpYWwteW91LXRoZW1lIiwKICAidXVpZCI6ICJtYXRlcmlhbC15b3UtdGhlbWVAYXN1YmJpYWguY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "43": {"version": "14", "sha256": "0nabd98nk22iz4azyqlb53igk3kvygh6fzh1k28ll7y2l1wgzm75", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpZXMgZ2VuZXJhdGVkIGxpYmFkd2FpdGEgdGhlbWUgZnJvbSB3YWxscGFwZXIgdXNpbmcgTWF0ZXJpYWwgWW91IiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWF0ZXJpYWwteW91LXRoZW1lIiwKICAibmFtZSI6ICJNYXRlcmlhbCBZb3UgQ29sb3IgVGhlbWluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXZhbmlzaHN1YmJpYWgvbWF0ZXJpYWwteW91LXRoZW1lIiwKICAidXVpZCI6ICJtYXRlcmlhbC15b3UtdGhlbWVAYXN1YmJpYWguY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
 , {"uuid": "rounded-window-corners@yilozt", "name": "Rounded Window Corners", "pname": "rounded-window-corners", "description": "Add rounded corners for all windows", "link": "https://extensions.gnome.org/extension/5237/rounded-window-corners/", "shell_version_map": {"40": {"version": "9", "sha256": "1cvwj03ikmq6yl89a60sss671fsd2yrijy62v29y1xbxw03l2ma9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCByb3VuZGVkIGNvcm5lcnMgZm9yIGFsbCB3aW5kb3dzIiwKICAibmFtZSI6ICJSb3VuZGVkIFdpbmRvdyBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3lpbG96dC9yb3VuZGVkLXdpbmRvdy1jb3JuZXJzIiwKICAidXVpZCI6ICJyb3VuZGVkLXdpbmRvdy1jb3JuZXJzQHlpbG96dCIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "1cvwj03ikmq6yl89a60sss671fsd2yrijy62v29y1xbxw03l2ma9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCByb3VuZGVkIGNvcm5lcnMgZm9yIGFsbCB3aW5kb3dzIiwKICAibmFtZSI6ICJSb3VuZGVkIFdpbmRvdyBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3lpbG96dC9yb3VuZGVkLXdpbmRvdy1jb3JuZXJzIiwKICAidXVpZCI6ICJyb3VuZGVkLXdpbmRvdy1jb3JuZXJzQHlpbG96dCIsCiAgInZlcnNpb24iOiA5Cn0="}, "42": {"version": "9", "sha256": "1cvwj03ikmq6yl89a60sss671fsd2yrijy62v29y1xbxw03l2ma9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCByb3VuZGVkIGNvcm5lcnMgZm9yIGFsbCB3aW5kb3dzIiwKICAibmFtZSI6ICJSb3VuZGVkIFdpbmRvdyBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3lpbG96dC9yb3VuZGVkLXdpbmRvdy1jb3JuZXJzIiwKICAidXVpZCI6ICJyb3VuZGVkLXdpbmRvdy1jb3JuZXJzQHlpbG96dCIsCiAgInZlcnNpb24iOiA5Cn0="}, "43": {"version": "9", "sha256": "1cvwj03ikmq6yl89a60sss671fsd2yrijy62v29y1xbxw03l2ma9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCByb3VuZGVkIGNvcm5lcnMgZm9yIGFsbCB3aW5kb3dzIiwKICAibmFtZSI6ICJSb3VuZGVkIFdpbmRvdyBDb3JuZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3lpbG96dC9yb3VuZGVkLXdpbmRvdy1jb3JuZXJzIiwKICAidXVpZCI6ICJyb3VuZGVkLXdpbmRvdy1jb3JuZXJzQHlpbG96dCIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "ideapad-controls@azzamalsharafi.gmail.com", "name": "IdeaPad Controls", "pname": "ideapad-controls", "description": "Control Lenovo IdeaPad laptops options: Conservation Mode, Camera Lock, Fn Lock, Touchpad Lock, USB charging", "link": "https://extensions.gnome.org/extension/5260/ideapad-controls/", "shell_version_map": {"42": {"version": "7", "sha256": "0l4chkpyk06ax6jb99vdz9365jn1mvinbcj3lq83df6yq9cwgc19", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgTGVub3ZvIElkZWFQYWQgbGFwdG9wcyBvcHRpb25zOiBDb25zZXJ2YXRpb24gTW9kZSwgQ2FtZXJhIExvY2ssIEZuIExvY2ssIFRvdWNocGFkIExvY2ssIFVTQiBjaGFyZ2luZyIsCiAgIm5hbWUiOiAiSWRlYVBhZCBDb250cm9scyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pZGVhcGFkLUNvbnRyb2xzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BenphbUFsc2hhcmFmaS9pZGVhcGFkLWNvbnRyb2xzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaWRlYXBhZC1jb250cm9sc0BhenphbWFsc2hhcmFmaS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "43": {"version": "7", "sha256": "0l4chkpyk06ax6jb99vdz9365jn1mvinbcj3lq83df6yq9cwgc19", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgTGVub3ZvIElkZWFQYWQgbGFwdG9wcyBvcHRpb25zOiBDb25zZXJ2YXRpb24gTW9kZSwgQ2FtZXJhIExvY2ssIEZuIExvY2ssIFRvdWNocGFkIExvY2ssIFVTQiBjaGFyZ2luZyIsCiAgIm5hbWUiOiAiSWRlYVBhZCBDb250cm9scyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pZGVhcGFkLUNvbnRyb2xzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BenphbUFsc2hhcmFmaS9pZGVhcGFkLWNvbnRyb2xzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaWRlYXBhZC1jb250cm9sc0BhenphbWFsc2hhcmFmaS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "gtk4-ding@smedius.gitlab.com", "name": "Gtk4 Desktop Icons NG with GSconnect integration (DING)", "pname": "gtk4-desktop-icons-ng-ding", "description": "Gtk4 Port of Desktop Icons NG with updated and modified code base, uses gio menus, all  functions are async where possible, multiple fixes and new features-\n\n* Make Links on Desktop.\n* Copied/dropped/pasted files retain dropped position.\n* Right Click Menus will not go under the dock.\n* Better multi monitor support, preference to place icons on non primary monitor.\n* GSconnect extension integration, can send files from desktop directly to mobile device.\n* Drag and drop Favorite apps from Dash to Dock, Dash to Panel directly to Desktop or remove from favorites.\n* Improved gesture switching of workspaces, icons appear to be on all workspaces in moving windows.\n\nPlease see Readme for full details of new features. Works only on Wayland, please see Readme for why it does not work on X11.\n\nPlease report all issues on the gitlab link below, this page is not monitored.", "link": "https://extensions.gnome.org/extension/5263/gtk4-desktop-icons-ng-ding/", "shell_version_map": {"40": {"version": "17", "sha256": "0ky61l014dxhcymdx8028w8m6n92acjvqps97lq4qfva01inc0kk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd0azQgUG9ydCBvZiBEZXNrdG9wIEljb25zIE5HIHdpdGggdXBkYXRlZCBhbmQgbW9kaWZpZWQgY29kZSBiYXNlLCB1c2VzIGdpbyBtZW51cywgYWxsICBmdW5jdGlvbnMgYXJlIGFzeW5jIHdoZXJlIHBvc3NpYmxlLCBtdWx0aXBsZSBmaXhlcyBhbmQgbmV3IGZlYXR1cmVzLVxuXG4qIE1ha2UgTGlua3Mgb24gRGVza3RvcC5cbiogQ29waWVkL2Ryb3BwZWQvcGFzdGVkIGZpbGVzIHJldGFpbiBkcm9wcGVkIHBvc2l0aW9uLlxuKiBSaWdodCBDbGljayBNZW51cyB3aWxsIG5vdCBnbyB1bmRlciB0aGUgZG9jay5cbiogQmV0dGVyIG11bHRpIG1vbml0b3Igc3VwcG9ydCwgcHJlZmVyZW5jZSB0byBwbGFjZSBpY29ucyBvbiBub24gcHJpbWFyeSBtb25pdG9yLlxuKiBHU2Nvbm5lY3QgZXh0ZW5zaW9uIGludGVncmF0aW9uLCBjYW4gc2VuZCBmaWxlcyBmcm9tIGRlc2t0b3AgZGlyZWN0bHkgdG8gbW9iaWxlIGRldmljZS5cbiogRHJhZyBhbmQgZHJvcCBGYXZvcml0ZSBhcHBzIGZyb20gRGFzaCB0byBEb2NrLCBEYXNoIHRvIFBhbmVsIGRpcmVjdGx5IHRvIERlc2t0b3Agb3IgcmVtb3ZlIGZyb20gZmF2b3JpdGVzLlxuKiBJbXByb3ZlZCBnZXN0dXJlIHN3aXRjaGluZyBvZiB3b3Jrc3BhY2VzLCBpY29ucyBhcHBlYXIgdG8gYmUgb24gYWxsIHdvcmtzcGFjZXMgaW4gbW92aW5nIHdpbmRvd3MuXG5cblBsZWFzZSBzZWUgUmVhZG1lIGZvciBmdWxsIGRldGFpbHMgb2YgbmV3IGZlYXR1cmVzLiBXb3JrcyBvbmx5IG9uIFdheWxhbmQsIHBsZWFzZSBzZWUgUmVhZG1lIGZvciB3aHkgaXQgZG9lcyBub3Qgd29yayBvbiBYMTEuXG5cblBsZWFzZSByZXBvcnQgYWxsIGlzc3VlcyBvbiB0aGUgZ2l0bGFiIGxpbmsgYmVsb3csIHRoaXMgcGFnZSBpcyBub3QgbW9uaXRvcmVkLiIsCiAgImdldHRleHQtZG9tYWluIjogImd0azQtZGluZ0BzbWVkaXVzLmdpdGxhYi5jb20iLAogICJuYW1lIjogIkd0azQgRGVza3RvcCBJY29ucyBORyB3aXRoIEdTY29ubmVjdCBpbnRlZ3JhdGlvbiAoRElORykiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0azQtZGluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zbWVkaXVzL2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImd0azQtZGluZ0BzbWVkaXVzLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "0ky61l014dxhcymdx8028w8m6n92acjvqps97lq4qfva01inc0kk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd0azQgUG9ydCBvZiBEZXNrdG9wIEljb25zIE5HIHdpdGggdXBkYXRlZCBhbmQgbW9kaWZpZWQgY29kZSBiYXNlLCB1c2VzIGdpbyBtZW51cywgYWxsICBmdW5jdGlvbnMgYXJlIGFzeW5jIHdoZXJlIHBvc3NpYmxlLCBtdWx0aXBsZSBmaXhlcyBhbmQgbmV3IGZlYXR1cmVzLVxuXG4qIE1ha2UgTGlua3Mgb24gRGVza3RvcC5cbiogQ29waWVkL2Ryb3BwZWQvcGFzdGVkIGZpbGVzIHJldGFpbiBkcm9wcGVkIHBvc2l0aW9uLlxuKiBSaWdodCBDbGljayBNZW51cyB3aWxsIG5vdCBnbyB1bmRlciB0aGUgZG9jay5cbiogQmV0dGVyIG11bHRpIG1vbml0b3Igc3VwcG9ydCwgcHJlZmVyZW5jZSB0byBwbGFjZSBpY29ucyBvbiBub24gcHJpbWFyeSBtb25pdG9yLlxuKiBHU2Nvbm5lY3QgZXh0ZW5zaW9uIGludGVncmF0aW9uLCBjYW4gc2VuZCBmaWxlcyBmcm9tIGRlc2t0b3AgZGlyZWN0bHkgdG8gbW9iaWxlIGRldmljZS5cbiogRHJhZyBhbmQgZHJvcCBGYXZvcml0ZSBhcHBzIGZyb20gRGFzaCB0byBEb2NrLCBEYXNoIHRvIFBhbmVsIGRpcmVjdGx5IHRvIERlc2t0b3Agb3IgcmVtb3ZlIGZyb20gZmF2b3JpdGVzLlxuKiBJbXByb3ZlZCBnZXN0dXJlIHN3aXRjaGluZyBvZiB3b3Jrc3BhY2VzLCBpY29ucyBhcHBlYXIgdG8gYmUgb24gYWxsIHdvcmtzcGFjZXMgaW4gbW92aW5nIHdpbmRvd3MuXG5cblBsZWFzZSBzZWUgUmVhZG1lIGZvciBmdWxsIGRldGFpbHMgb2YgbmV3IGZlYXR1cmVzLiBXb3JrcyBvbmx5IG9uIFdheWxhbmQsIHBsZWFzZSBzZWUgUmVhZG1lIGZvciB3aHkgaXQgZG9lcyBub3Qgd29yayBvbiBYMTEuXG5cblBsZWFzZSByZXBvcnQgYWxsIGlzc3VlcyBvbiB0aGUgZ2l0bGFiIGxpbmsgYmVsb3csIHRoaXMgcGFnZSBpcyBub3QgbW9uaXRvcmVkLiIsCiAgImdldHRleHQtZG9tYWluIjogImd0azQtZGluZ0BzbWVkaXVzLmdpdGxhYi5jb20iLAogICJuYW1lIjogIkd0azQgRGVza3RvcCBJY29ucyBORyB3aXRoIEdTY29ubmVjdCBpbnRlZ3JhdGlvbiAoRElORykiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0azQtZGluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zbWVkaXVzL2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImd0azQtZGluZ0BzbWVkaXVzLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "18", "sha256": "1mjnmxvd29lwkjj7b43kmx8lvhhd21d5ygpllf7qrs9lryr79z8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd0azQgUG9ydCBvZiBEZXNrdG9wIEljb25zIE5HIHdpdGggdXBkYXRlZCBhbmQgbW9kaWZpZWQgY29kZSBiYXNlLCB1c2VzIGdpbyBtZW51cywgYWxsICBmdW5jdGlvbnMgYXJlIGFzeW5jIHdoZXJlIHBvc3NpYmxlLCBtdWx0aXBsZSBmaXhlcyBhbmQgbmV3IGZlYXR1cmVzLVxuXG4qIE1ha2UgTGlua3Mgb24gRGVza3RvcC5cbiogQ29waWVkL2Ryb3BwZWQvcGFzdGVkIGZpbGVzIHJldGFpbiBkcm9wcGVkIHBvc2l0aW9uLlxuKiBSaWdodCBDbGljayBNZW51cyB3aWxsIG5vdCBnbyB1bmRlciB0aGUgZG9jay5cbiogQmV0dGVyIG11bHRpIG1vbml0b3Igc3VwcG9ydCwgcHJlZmVyZW5jZSB0byBwbGFjZSBpY29ucyBvbiBub24gcHJpbWFyeSBtb25pdG9yLlxuKiBHU2Nvbm5lY3QgZXh0ZW5zaW9uIGludGVncmF0aW9uLCBjYW4gc2VuZCBmaWxlcyBmcm9tIGRlc2t0b3AgZGlyZWN0bHkgdG8gbW9iaWxlIGRldmljZS5cbiogRHJhZyBhbmQgZHJvcCBGYXZvcml0ZSBhcHBzIGZyb20gRGFzaCB0byBEb2NrLCBEYXNoIHRvIFBhbmVsIGRpcmVjdGx5IHRvIERlc2t0b3Agb3IgcmVtb3ZlIGZyb20gZmF2b3JpdGVzLlxuKiBJbXByb3ZlZCBnZXN0dXJlIHN3aXRjaGluZyBvZiB3b3Jrc3BhY2VzLCBpY29ucyBhcHBlYXIgdG8gYmUgb24gYWxsIHdvcmtzcGFjZXMgaW4gbW92aW5nIHdpbmRvd3MuXG5cblBsZWFzZSBzZWUgUmVhZG1lIGZvciBmdWxsIGRldGFpbHMgb2YgbmV3IGZlYXR1cmVzLiBXb3JrcyBvbmx5IG9uIFdheWxhbmQsIHBsZWFzZSBzZWUgUmVhZG1lIGZvciB3aHkgaXQgZG9lcyBub3Qgd29yayBvbiBYMTEuXG5cblBsZWFzZSByZXBvcnQgYWxsIGlzc3VlcyBvbiB0aGUgZ2l0bGFiIGxpbmsgYmVsb3csIHRoaXMgcGFnZSBpcyBub3QgbW9uaXRvcmVkLiIsCiAgImdldHRleHQtZG9tYWluIjogImd0azQtZGluZ0BzbWVkaXVzLmdpdGxhYi5jb20iLAogICJuYW1lIjogIkd0azQgRGVza3RvcCBJY29ucyBORyB3aXRoIEdTY29ubmVjdCBpbnRlZ3JhdGlvbiAoRElORykiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0azQtZGluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc21lZGl1cy9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJndGs0LWRpbmdAc21lZGl1cy5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "43": {"version": "18", "sha256": "1mjnmxvd29lwkjj7b43kmx8lvhhd21d5ygpllf7qrs9lryr79z8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd0azQgUG9ydCBvZiBEZXNrdG9wIEljb25zIE5HIHdpdGggdXBkYXRlZCBhbmQgbW9kaWZpZWQgY29kZSBiYXNlLCB1c2VzIGdpbyBtZW51cywgYWxsICBmdW5jdGlvbnMgYXJlIGFzeW5jIHdoZXJlIHBvc3NpYmxlLCBtdWx0aXBsZSBmaXhlcyBhbmQgbmV3IGZlYXR1cmVzLVxuXG4qIE1ha2UgTGlua3Mgb24gRGVza3RvcC5cbiogQ29waWVkL2Ryb3BwZWQvcGFzdGVkIGZpbGVzIHJldGFpbiBkcm9wcGVkIHBvc2l0aW9uLlxuKiBSaWdodCBDbGljayBNZW51cyB3aWxsIG5vdCBnbyB1bmRlciB0aGUgZG9jay5cbiogQmV0dGVyIG11bHRpIG1vbml0b3Igc3VwcG9ydCwgcHJlZmVyZW5jZSB0byBwbGFjZSBpY29ucyBvbiBub24gcHJpbWFyeSBtb25pdG9yLlxuKiBHU2Nvbm5lY3QgZXh0ZW5zaW9uIGludGVncmF0aW9uLCBjYW4gc2VuZCBmaWxlcyBmcm9tIGRlc2t0b3AgZGlyZWN0bHkgdG8gbW9iaWxlIGRldmljZS5cbiogRHJhZyBhbmQgZHJvcCBGYXZvcml0ZSBhcHBzIGZyb20gRGFzaCB0byBEb2NrLCBEYXNoIHRvIFBhbmVsIGRpcmVjdGx5IHRvIERlc2t0b3Agb3IgcmVtb3ZlIGZyb20gZmF2b3JpdGVzLlxuKiBJbXByb3ZlZCBnZXN0dXJlIHN3aXRjaGluZyBvZiB3b3Jrc3BhY2VzLCBpY29ucyBhcHBlYXIgdG8gYmUgb24gYWxsIHdvcmtzcGFjZXMgaW4gbW92aW5nIHdpbmRvd3MuXG5cblBsZWFzZSBzZWUgUmVhZG1lIGZvciBmdWxsIGRldGFpbHMgb2YgbmV3IGZlYXR1cmVzLiBXb3JrcyBvbmx5IG9uIFdheWxhbmQsIHBsZWFzZSBzZWUgUmVhZG1lIGZvciB3aHkgaXQgZG9lcyBub3Qgd29yayBvbiBYMTEuXG5cblBsZWFzZSByZXBvcnQgYWxsIGlzc3VlcyBvbiB0aGUgZ2l0bGFiIGxpbmsgYmVsb3csIHRoaXMgcGFnZSBpcyBub3QgbW9uaXRvcmVkLiIsCiAgImdldHRleHQtZG9tYWluIjogImd0azQtZGluZ0BzbWVkaXVzLmdpdGxhYi5jb20iLAogICJuYW1lIjogIkd0azQgRGVza3RvcCBJY29ucyBORyB3aXRoIEdTY29ubmVjdCBpbnRlZ3JhdGlvbiAoRElORykiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0azQtZGluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc21lZGl1cy9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJndGs0LWRpbmdAc21lZGl1cy5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
+, {"uuid": "gtk4-ding@smedius.gitlab.com", "name": "Gtk4, GSconnect, Desktop Icons NG (DING)", "pname": "gtk4-desktop-icons-ng-ding", "description": "Adds Gtk4 icons to the Gnome desktop. Gtk4 Fork of the original Desktop Icons extension, with several enhancements.\n\nWorks only on Wayland, see readme for X11\n\nPlease report all issues to the homepage below, this page is not monitored.", "link": "https://extensions.gnome.org/extension/5263/gtk4-desktop-icons-ng-ding/", "shell_version_map": {"40": {"version": "17", "sha256": "1h1wnp23p75b8vcnr542wgaj7ypkzmdx9b22zas3291cp61jqyyh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgR3RrNCBpY29ucyB0byB0aGUgR25vbWUgZGVza3RvcC4gR3RrNCBGb3JrIG9mIHRoZSBvcmlnaW5hbCBEZXNrdG9wIEljb25zIGV4dGVuc2lvbiwgd2l0aCBzZXZlcmFsIGVuaGFuY2VtZW50cy5cblxuV29ya3Mgb25seSBvbiBXYXlsYW5kLCBzZWUgcmVhZG1lIGZvciBYMTFcblxuUGxlYXNlIHJlcG9ydCBhbGwgaXNzdWVzIHRvIHRoZSBob21lcGFnZSBiZWxvdywgdGhpcyBwYWdlIGlzIG5vdCBtb25pdG9yZWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrNC1kaW5nQHNtZWRpdXMuZ2l0bGFiLmNvbSIsCiAgIm5hbWUiOiAiR3RrNCwgR1Njb25uZWN0LCBEZXNrdG9wIEljb25zIE5HIChESU5HKSIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrNC1kaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NtZWRpdXMvZGVza3RvcC1pY29ucy1uZyIsCiAgInV1aWQiOiAiZ3RrNC1kaW5nQHNtZWRpdXMuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "41": {"version": "17", "sha256": "1h1wnp23p75b8vcnr542wgaj7ypkzmdx9b22zas3291cp61jqyyh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgR3RrNCBpY29ucyB0byB0aGUgR25vbWUgZGVza3RvcC4gR3RrNCBGb3JrIG9mIHRoZSBvcmlnaW5hbCBEZXNrdG9wIEljb25zIGV4dGVuc2lvbiwgd2l0aCBzZXZlcmFsIGVuaGFuY2VtZW50cy5cblxuV29ya3Mgb25seSBvbiBXYXlsYW5kLCBzZWUgcmVhZG1lIGZvciBYMTFcblxuUGxlYXNlIHJlcG9ydCBhbGwgaXNzdWVzIHRvIHRoZSBob21lcGFnZSBiZWxvdywgdGhpcyBwYWdlIGlzIG5vdCBtb25pdG9yZWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrNC1kaW5nQHNtZWRpdXMuZ2l0bGFiLmNvbSIsCiAgIm5hbWUiOiAiR3RrNCwgR1Njb25uZWN0LCBEZXNrdG9wIEljb25zIE5HIChESU5HKSIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrNC1kaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NtZWRpdXMvZGVza3RvcC1pY29ucy1uZyIsCiAgInV1aWQiOiAiZ3RrNC1kaW5nQHNtZWRpdXMuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "42": {"version": "18", "sha256": "0q4dzgwhf16sv4nf57nphn6i5aibw700ydw7fwshjsx7lnpy1gsx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgR3RrNCBpY29ucyB0byB0aGUgR25vbWUgZGVza3RvcC4gR3RrNCBGb3JrIG9mIHRoZSBvcmlnaW5hbCBEZXNrdG9wIEljb25zIGV4dGVuc2lvbiwgd2l0aCBzZXZlcmFsIGVuaGFuY2VtZW50cy5cblxuV29ya3Mgb25seSBvbiBXYXlsYW5kLCBzZWUgcmVhZG1lIGZvciBYMTFcblxuUGxlYXNlIHJlcG9ydCBhbGwgaXNzdWVzIHRvIHRoZSBob21lcGFnZSBiZWxvdywgdGhpcyBwYWdlIGlzIG5vdCBtb25pdG9yZWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrNC1kaW5nQHNtZWRpdXMuZ2l0bGFiLmNvbSIsCiAgIm5hbWUiOiAiR3RrNCwgR1Njb25uZWN0LCBEZXNrdG9wIEljb25zIE5HIChESU5HKSIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrNC1kaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zbWVkaXVzL2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImd0azQtZGluZ0BzbWVkaXVzLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "43": {"version": "18", "sha256": "0q4dzgwhf16sv4nf57nphn6i5aibw700ydw7fwshjsx7lnpy1gsx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgR3RrNCBpY29ucyB0byB0aGUgR25vbWUgZGVza3RvcC4gR3RrNCBGb3JrIG9mIHRoZSBvcmlnaW5hbCBEZXNrdG9wIEljb25zIGV4dGVuc2lvbiwgd2l0aCBzZXZlcmFsIGVuaGFuY2VtZW50cy5cblxuV29ya3Mgb25seSBvbiBXYXlsYW5kLCBzZWUgcmVhZG1lIGZvciBYMTFcblxuUGxlYXNlIHJlcG9ydCBhbGwgaXNzdWVzIHRvIHRoZSBob21lcGFnZSBiZWxvdywgdGhpcyBwYWdlIGlzIG5vdCBtb25pdG9yZWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrNC1kaW5nQHNtZWRpdXMuZ2l0bGFiLmNvbSIsCiAgIm5hbWUiOiAiR3RrNCwgR1Njb25uZWN0LCBEZXNrdG9wIEljb25zIE5HIChESU5HKSIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrNC1kaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zbWVkaXVzL2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImd0azQtZGluZ0BzbWVkaXVzLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
 , {"uuid": "fig-gnome-integration@fig.io", "name": "Fig GNOME Integration", "pname": "fig-gnome-integration", "description": "Tightly integrates Fig with GNOME shell", "link": "https://extensions.gnome.org/extension/5266/fig-gnome-integration/", "shell_version_map": {"41": {"version": "5", "sha256": "17h04ypqmmsbkd8ski7rznv6adsd1y3jlabxjvmshjqy7w9xqbsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpZ2h0bHkgaW50ZWdyYXRlcyBGaWcgd2l0aCBHTk9NRSBzaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogImZpZy1nbm9tZS1pbnRlZ3JhdGlvbiIsCiAgIm5hbWUiOiAiRmlnIEdOT01FIEludGVncmF0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZpZy1nbm9tZS1pbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2l0aGZpZy9nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImZpZy1nbm9tZS1pbnRlZ3JhdGlvbkBmaWcuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "17h04ypqmmsbkd8ski7rznv6adsd1y3jlabxjvmshjqy7w9xqbsv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpZ2h0bHkgaW50ZWdyYXRlcyBGaWcgd2l0aCBHTk9NRSBzaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogImZpZy1nbm9tZS1pbnRlZ3JhdGlvbiIsCiAgIm5hbWUiOiAiRmlnIEdOT01FIEludGVncmF0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZpZy1nbm9tZS1pbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2l0aGZpZy9nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImZpZy1nbm9tZS1pbnRlZ3JhdGlvbkBmaWcuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "walkpaper2@walkpaper.massimiliano-dalcero.github.com", "name": "Walkpaper2", "pname": "walkpaper2", "description": "Set different wallpaper for each workspace by having the wallpaper switch on workspace change. Forked from the BlinkBP'project (https://github.com/BlinkBP/walkpaper)\n\nUnlike the previous extension is added a delay during transition. Is need for avoid flickering during switch using shortcuts :)", "link": "https://extensions.gnome.org/extension/5267/walkpaper2/", "shell_version_map": {"42": {"version": "7", "sha256": "00z56wfsvw4821siywgg83r9xhyq1sp0dijvd6y2lgg1zf08xkvb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBkaWZmZXJlbnQgd2FsbHBhcGVyIGZvciBlYWNoIHdvcmtzcGFjZSBieSBoYXZpbmcgdGhlIHdhbGxwYXBlciBzd2l0Y2ggb24gd29ya3NwYWNlIGNoYW5nZS4gRm9ya2VkIGZyb20gdGhlIEJsaW5rQlAncHJvamVjdCAoaHR0cHM6Ly9naXRodWIuY29tL0JsaW5rQlAvd2Fsa3BhcGVyKVxuXG5Vbmxpa2UgdGhlIHByZXZpb3VzIGV4dGVuc2lvbiBpcyBhZGRlZCBhIGRlbGF5IGR1cmluZyB0cmFuc2l0aW9uLiBJcyBuZWVkIGZvciBhdm9pZCBmbGlja2VyaW5nIGR1cmluZyBzd2l0Y2ggdXNpbmcgc2hvcnRjdXRzIDopIiwKICAiZXh0ZW5zaW9uLWlkIjogIndhbGtwYXBlcjIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3YWxrcGFwZXIyQHdhbGtwYXBlci5tYXNzaW1pbGlhbm8tZGFsY2Vyby5naXRodWIuY29tIiwKICAibmFtZSI6ICJXYWxrcGFwZXIyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndhbGtwYXBlcjIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFzc2ltaWxpYW5vLWRhbGNlcm8vd2Fsa3BhcGVyIiwKICAidXVpZCI6ICJ3YWxrcGFwZXIyQHdhbGtwYXBlci5tYXNzaW1pbGlhbm8tZGFsY2Vyby5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "dock-reloaded@selfmade.pl", "name": "Dock: Reloaded", "pname": "dock-reloaded", "description": "Few tweaks to GNOME dock: top position, autohide - reveals under cursor pressure, only favorites apps", "link": "https://extensions.gnome.org/extension/5269/dock-reloaded/", "shell_version_map": {"42": {"version": "2", "sha256": "1cs766qr77i68s53dvaswlyv3jh1sv51d19jgigd7m71qndxwv70", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZldyB0d2Vha3MgdG8gR05PTUUgZG9jazogdG9wIHBvc2l0aW9uLCBhdXRvaGlkZSAtIHJldmVhbHMgdW5kZXIgY3Vyc29yIHByZXNzdXJlLCBvbmx5IGZhdm9yaXRlcyBhcHBzIiwKICAibmFtZSI6ICJEb2NrOiBSZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXJ0aW5QTC9Eb2NrLVJlbG9hZGVkIiwKICAidXVpZCI6ICJkb2NrLXJlbG9hZGVkQHNlbGZtYWRlLnBsIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "43": {"version": "3", "sha256": "1zs2imsp8jw6z1x5q4c7b6qnrih11d8j09xs1zvfj65dm5ag2nz9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZldyB0d2Vha3MgdG8gR05PTUUgZG9jazogdG9wIHBvc2l0aW9uLCBhdXRvaGlkZSAtIHJldmVhbHMgdW5kZXIgY3Vyc29yIHByZXNzdXJlLCBvbmx5IGZhdm9yaXRlcyBhcHBzIiwKICAibmFtZSI6ICJEb2NrOiBSZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXJ0aW5QTC9Eb2NrLVJlbG9hZGVkIiwKICAidXVpZCI6ICJkb2NrLXJlbG9hZGVkQHNlbGZtYWRlLnBsIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
@@ -813,15 +813,15 @@
 , {"uuid": "quick-touchpad-toggle@kramo.hu", "name": "Quick Touchpad Toggle", "pname": "quick-touchpad-toggle", "description": "Toggle the \"disable touchpad while typing\" setting more easily.", "link": "https://extensions.gnome.org/extension/5292/quick-touchpad-toggle/", "shell_version_map": {"40": {"version": "4", "sha256": "1wqdvla5nm0v80h9df6js8cbwkwn3qv26n7gmq46f3in3zmjm73x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgXCJkaXNhYmxlIHRvdWNocGFkIHdoaWxlIHR5cGluZ1wiIHNldHRpbmcgbW9yZSBlYXNpbHkuIiwKICAibmFtZSI6ICJRdWljayBUb3VjaHBhZCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va3JhLW1vL3F1aWNrLXRvdWNocGFkLXRvZ2dsZS8iLAogICJ1dWlkIjogInF1aWNrLXRvdWNocGFkLXRvZ2dsZUBrcmFtby5odSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1wqdvla5nm0v80h9df6js8cbwkwn3qv26n7gmq46f3in3zmjm73x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgXCJkaXNhYmxlIHRvdWNocGFkIHdoaWxlIHR5cGluZ1wiIHNldHRpbmcgbW9yZSBlYXNpbHkuIiwKICAibmFtZSI6ICJRdWljayBUb3VjaHBhZCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va3JhLW1vL3F1aWNrLXRvdWNocGFkLXRvZ2dsZS8iLAogICJ1dWlkIjogInF1aWNrLXRvdWNocGFkLXRvZ2dsZUBrcmFtby5odSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1wqdvla5nm0v80h9df6js8cbwkwn3qv26n7gmq46f3in3zmjm73x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgXCJkaXNhYmxlIHRvdWNocGFkIHdoaWxlIHR5cGluZ1wiIHNldHRpbmcgbW9yZSBlYXNpbHkuIiwKICAibmFtZSI6ICJRdWljayBUb3VjaHBhZCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va3JhLW1vL3F1aWNrLXRvdWNocGFkLXRvZ2dsZS8iLAogICJ1dWlkIjogInF1aWNrLXRvdWNocGFkLXRvZ2dsZUBrcmFtby5odSIsCiAgInZlcnNpb24iOiA0Cn0="}, "43": {"version": "6", "sha256": "0nr0msrgplc3nj0f1990zhdb8lpw1iq7zcxdnkj118x6asrk02jc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgXCJkaXNhYmxlIHRvdWNocGFkIHdoaWxlIHR5cGluZ1wiIHNldHRpbmcgbW9yZSBlYXNpbHkuIiwKICAibmFtZSI6ICJRdWljayBUb3VjaHBhZCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va3JhLW1vL3F1aWNrLXRvdWNocGFkLXRvZ2dsZS8iLAogICJ1dWlkIjogInF1aWNrLXRvdWNocGFkLXRvZ2dsZUBrcmFtby5odSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "desktop-zoom@colin.kinlo.ch", "name": "Desktop Zoom", "pname": "desktop-zoom", "description": "Scroll to zoom gnome desktop.\n\nUsage: Hold Alt and Scroll\n\nCursor must not be over a window (must be over background or top bar).\nMagnifier / zoom must be enabled in accessibility.\n\nTo disable zoom after removing the extension, disable zoom in gnomes accessibility settings:\nhttps://help.gnome.org/users/gnome-help/stable/a11y-mag.html.en\n\nReport issues on GITHUB.COM", "link": "https://extensions.gnome.org/extension/5297/desktop-zoom/", "shell_version_map": {"42": {"version": "6", "sha256": "14vi9jzdcnc9srsf8r4x38ymcjjxjl8xyb49rndcb3ldbr60wxpj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB0byB6b29tIGdub21lIGRlc2t0b3AuXG5cblVzYWdlOiBIb2xkIEFsdCBhbmQgU2Nyb2xsXG5cbkN1cnNvciBtdXN0IG5vdCBiZSBvdmVyIGEgd2luZG93IChtdXN0IGJlIG92ZXIgYmFja2dyb3VuZCBvciB0b3AgYmFyKS5cbk1hZ25pZmllciAvIHpvb20gbXVzdCBiZSBlbmFibGVkIGluIGFjY2Vzc2liaWxpdHkuXG5cblRvIGRpc2FibGUgem9vbSBhZnRlciByZW1vdmluZyB0aGUgZXh0ZW5zaW9uLCBkaXNhYmxlIHpvb20gaW4gZ25vbWVzIGFjY2Vzc2liaWxpdHkgc2V0dGluZ3M6XG5odHRwczovL2hlbHAuZ25vbWUub3JnL3VzZXJzL2dub21lLWhlbHAvc3RhYmxlL2ExMXktbWFnLmh0bWwuZW5cblxuUmVwb3J0IGlzc3VlcyBvbiBHSVRIVUIuQ09NIiwKICAibmFtZSI6ICJEZXNrdG9wIFpvb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NvbGluS2lubG9jaC9kZXNrdG9wLXpvb20tZ25vbWUtc2hlbGwiLAogICJ1dWlkIjogImRlc2t0b3Atem9vbUBjb2xpbi5raW5sby5jaCIsCiAgInZlcnNpb24iOiA2Cn0="}, "43": {"version": "6", "sha256": "14vi9jzdcnc9srsf8r4x38ymcjjxjl8xyb49rndcb3ldbr60wxpj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB0byB6b29tIGdub21lIGRlc2t0b3AuXG5cblVzYWdlOiBIb2xkIEFsdCBhbmQgU2Nyb2xsXG5cbkN1cnNvciBtdXN0IG5vdCBiZSBvdmVyIGEgd2luZG93IChtdXN0IGJlIG92ZXIgYmFja2dyb3VuZCBvciB0b3AgYmFyKS5cbk1hZ25pZmllciAvIHpvb20gbXVzdCBiZSBlbmFibGVkIGluIGFjY2Vzc2liaWxpdHkuXG5cblRvIGRpc2FibGUgem9vbSBhZnRlciByZW1vdmluZyB0aGUgZXh0ZW5zaW9uLCBkaXNhYmxlIHpvb20gaW4gZ25vbWVzIGFjY2Vzc2liaWxpdHkgc2V0dGluZ3M6XG5odHRwczovL2hlbHAuZ25vbWUub3JnL3VzZXJzL2dub21lLWhlbHAvc3RhYmxlL2ExMXktbWFnLmh0bWwuZW5cblxuUmVwb3J0IGlzc3VlcyBvbiBHSVRIVUIuQ09NIiwKICAibmFtZSI6ICJEZXNrdG9wIFpvb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NvbGluS2lubG9jaC9kZXNrdG9wLXpvb20tZ25vbWUtc2hlbGwiLAogICJ1dWlkIjogImRlc2t0b3Atem9vbUBjb2xpbi5raW5sby5jaCIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "zoomwayland@polyte.de", "name": "Zoom Wayland Extension", "pname": "zoom-wayland-extension", "description": "Enables Zoom Screensharing under Wayland", "link": "https://extensions.gnome.org/extension/5302/zoom-wayland-extension/", "shell_version_map": {"42": {"version": "1", "sha256": "0dnd2mi0aq2ddgp7kvc8vbsl61yi3akawp97wi38z1nbbqflgmag", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgWm9vbSBTY3JlZW5zaGFyaW5nIHVuZGVyIFdheWxhbmQiLAogICJuYW1lIjogIlpvb20gV2F5bGFuZCBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vanVsaWFucG9sbG1hbm4vem9vbS13YXlsYW5kLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiem9vbXdheWxhbmRAcG9seXRlLmRlIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "firefox-pip@bennypowers.com", "name": "Firefox PiP Always on Top", "pname": "firefox-pip-always-on-top", "description": "Ensure that Firefox Picture-in-Picture window are always on top", "link": "https://extensions.gnome.org/extension/5306/firefox-pip-always-on-top/", "shell_version_map": {"42": {"version": "2", "sha256": "0vgxva1gksjp9n82cxplyd692k8iibcf73lkh2sfqfycdgva6dx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuc3VyZSB0aGF0IEZpcmVmb3ggUGljdHVyZS1pbi1QaWN0dXJlIHdpbmRvdyBhcmUgYWx3YXlzIG9uIHRvcCIsCiAgIm5hbWUiOiAiRmlyZWZveCBQaVAgQWx3YXlzIG9uIFRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZmlyZWZveC1waXBAYmVubnlwb3dlcnMuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "firefox-pip@bennypowers.com", "name": "Firefox PiP Always on Top", "pname": "firefox-pip-always-on-top", "description": "Ensure that Firefox Picture-in-Picture window are always on top", "link": "https://extensions.gnome.org/extension/5306/firefox-pip-always-on-top/", "shell_version_map": {"42": {"version": "3", "sha256": "0473sbsjp7qg1cla28s5r9rrpg3qa2fk015h3gv101ndn32mfs6l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuc3VyZSB0aGF0IEZpcmVmb3ggUGljdHVyZS1pbi1QaWN0dXJlIHdpbmRvdyBhcmUgYWx3YXlzIG9uIHRvcCIsCiAgIm5hbWUiOiAiRmlyZWZveCBQaVAgQWx3YXlzIG9uIFRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmVubnlwb3dlcnMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZpcmVmb3gtcGlwIiwKICAidXVpZCI6ICJmaXJlZm94LXBpcEBiZW5ueXBvd2Vycy5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "43": {"version": "3", "sha256": "0473sbsjp7qg1cla28s5r9rrpg3qa2fk015h3gv101ndn32mfs6l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuc3VyZSB0aGF0IEZpcmVmb3ggUGljdHVyZS1pbi1QaWN0dXJlIHdpbmRvdyBhcmUgYWx3YXlzIG9uIHRvcCIsCiAgIm5hbWUiOiAiRmlyZWZveCBQaVAgQWx3YXlzIG9uIFRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmVubnlwb3dlcnMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZpcmVmb3gtcGlwIiwKICAidXVpZCI6ICJmaXJlZm94LXBpcEBiZW5ueXBvd2Vycy5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "activitiesworkspacename@ahmafi.ir", "name": "Activities Workspace Name", "pname": "activities-workspace-name", "description": "Replace Activities Text with Current Workspace Name", "link": "https://extensions.gnome.org/extension/5311/activities-workspace-name/", "shell_version_map": {"42": {"version": "1", "sha256": "1syxsxw713ly8a2fbppvad91hw0i94bgi8xa0h5za87y34qqd7gz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyBUZXh0IHdpdGggQ3VycmVudCBXb3Jrc3BhY2UgTmFtZSIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBXb3Jrc3BhY2UgTmFtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haG1hZmkvZ25vbWUtYWN0aXZpdGllcy13b3Jrc3BhY2UtbmFtZSIsCiAgInV1aWQiOiAiYWN0aXZpdGllc3dvcmtzcGFjZW5hbWVAYWhtYWZpLmlyIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "webfeed@xynium.github.com", "name": "WebFeed", "pname": "webfeed", "description": "RSS and Atom Feed reader for GNOME Shell", "link": "https://extensions.gnome.org/extension/5321/webfeed/", "shell_version_map": {"42": {"version": "6", "sha256": "0p6cv0hrpd52s215w3ilhkdyqb2x97j1kijcpw4byiajfkvqc1i6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJTUyBhbmQgQXRvbSBGZWVkIHJlYWRlciBmb3IgR05PTUUgU2hlbGwiLAogICJuYW1lIjogIldlYkZlZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3h5bml1bS93ZWJmZWVkIiwKICAidXVpZCI6ICJ3ZWJmZWVkQHh5bml1bS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "43": {"version": "6", "sha256": "0p6cv0hrpd52s215w3ilhkdyqb2x97j1kijcpw4byiajfkvqc1i6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJTUyBhbmQgQXRvbSBGZWVkIHJlYWRlciBmb3IgR05PTUUgU2hlbGwiLAogICJuYW1lIjogIldlYkZlZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3h5bml1bS93ZWJmZWVkIiwKICAidXVpZCI6ICJ3ZWJmZWVkQHh5bml1bS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "pingindic@xynium.github.com", "name": "PingIndic", "pname": "pingindic", "description": "show network ping delay", "link": "https://extensions.gnome.org/extension/5330/pingindic/", "shell_version_map": {"42": {"version": "3", "sha256": "0f4kgq5qagv39s98bdyncfs9jwcd6lm5bnjb1qcfhr3364rd0yab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInNob3cgbmV0d29yayBwaW5nIGRlbGF5IiwKICAibmFtZSI6ICJQaW5nSW5kaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3h5bml1bS9waW5naW5kaWMiLAogICJ1dWlkIjogInBpbmdpbmRpY0B4eW5pdW0uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "43": {"version": "3", "sha256": "0f4kgq5qagv39s98bdyncfs9jwcd6lm5bnjb1qcfhr3364rd0yab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInNob3cgbmV0d29yayBwaW5nIGRlbGF5IiwKICAibmFtZSI6ICJQaW5nSW5kaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3h5bml1bS9waW5naW5kaWMiLAogICJ1dWlkIjogInBpbmdpbmRpY0B4eW5pdW0uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "power-profile-indicator@laux.wtf", "name": "Power Profiles Indicator", "pname": "power-profile-indicator", "description": "a simple indicator in the system icons area of the top panel that represent the current power profile", "link": "https://extensions.gnome.org/extension/5335/power-profile-indicator/", "shell_version_map": {"40": {"version": "9", "sha256": "0011yqa1v2ymfczzmd2vckmqdpk1wapdzhg6l7453fnd25v7xxa9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImEgc2ltcGxlIGluZGljYXRvciBpbiB0aGUgc3lzdGVtIGljb25zIGFyZWEgb2YgdGhlIHRvcCBwYW5lbCB0aGF0IHJlcHJlc2VudCB0aGUgY3VycmVudCBwb3dlciBwcm9maWxlIiwKICAibmFtZSI6ICJQb3dlciBQcm9maWxlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInBvd2VyLXByb2ZpbGUtaW5kaWNhdG9yQGxhdXgud3RmIiwKICAidXVpZC1kZXYiOiAicG93ZXItcHJvZmlsZS1pbmRpY2F0b3ItZGV2QGxhdXgud3RmIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "0011yqa1v2ymfczzmd2vckmqdpk1wapdzhg6l7453fnd25v7xxa9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImEgc2ltcGxlIGluZGljYXRvciBpbiB0aGUgc3lzdGVtIGljb25zIGFyZWEgb2YgdGhlIHRvcCBwYW5lbCB0aGF0IHJlcHJlc2VudCB0aGUgY3VycmVudCBwb3dlciBwcm9maWxlIiwKICAibmFtZSI6ICJQb3dlciBQcm9maWxlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInBvd2VyLXByb2ZpbGUtaW5kaWNhdG9yQGxhdXgud3RmIiwKICAidXVpZC1kZXYiOiAicG93ZXItcHJvZmlsZS1pbmRpY2F0b3ItZGV2QGxhdXgud3RmIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "0011yqa1v2ymfczzmd2vckmqdpk1wapdzhg6l7453fnd25v7xxa9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImEgc2ltcGxlIGluZGljYXRvciBpbiB0aGUgc3lzdGVtIGljb25zIGFyZWEgb2YgdGhlIHRvcCBwYW5lbCB0aGF0IHJlcHJlc2VudCB0aGUgY3VycmVudCBwb3dlciBwcm9maWxlIiwKICAibmFtZSI6ICJQb3dlciBQcm9maWxlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInBvd2VyLXByb2ZpbGUtaW5kaWNhdG9yQGxhdXgud3RmIiwKICAidXVpZC1kZXYiOiAicG93ZXItcHJvZmlsZS1pbmRpY2F0b3ItZGV2QGxhdXgud3RmIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "43": {"version": "9", "sha256": "0011yqa1v2ymfczzmd2vckmqdpk1wapdzhg6l7453fnd25v7xxa9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImEgc2ltcGxlIGluZGljYXRvciBpbiB0aGUgc3lzdGVtIGljb25zIGFyZWEgb2YgdGhlIHRvcCBwYW5lbCB0aGF0IHJlcHJlc2VudCB0aGUgY3VycmVudCBwb3dlciBwcm9maWxlIiwKICAibmFtZSI6ICJQb3dlciBQcm9maWxlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInBvd2VyLXByb2ZpbGUtaW5kaWNhdG9yQGxhdXgud3RmIiwKICAidXVpZC1kZXYiOiAicG93ZXItcHJvZmlsZS1pbmRpY2F0b3ItZGV2QGxhdXgud3RmIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
-, {"uuid": "widgets@aylur", "name": "Aylur's Widgets", "pname": "aylurs-widgets", "description": "My set of extensions: Battery Bar, Dash Board, DateMenu Mod, Media Player, Power Menu, Workspace Indicator, Notification Indicator, Modified Quick Settings, Background Clock.\n Disclaimer: this extension contains copyrighted icons.", "link": "https://extensions.gnome.org/extension/5338/aylurs-widgets/", "shell_version_map": {"42": {"version": "13", "sha256": "0x85rzam1iaggmq8z3bqkpb5rr0acz8rgblrphln1av20lzwfixq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk15IHNldCBvZiBleHRlbnNpb25zOiBCYXR0ZXJ5IEJhciwgRGFzaCBCb2FyZCwgRGF0ZU1lbnUgTW9kLCBNZWRpYSBQbGF5ZXIsIFBvd2VyIE1lbnUsIFdvcmtzcGFjZSBJbmRpY2F0b3IsIE5vdGlmaWNhdGlvbiBJbmRpY2F0b3IsIE1vZGlmaWVkIFF1aWNrIFNldHRpbmdzLCBCYWNrZ3JvdW5kIENsb2NrLlxuIERpc2NsYWltZXI6IHRoaXMgZXh0ZW5zaW9uIGNvbnRhaW5zIGNvcHlyaWdodGVkIGljb25zLiIsCiAgIm5hbWUiOiAiQXlsdXIncyBXaWRnZXRzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF5bHVycy13aWRnZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BeWx1ci9nbm9tZS1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aWRnZXRzQGF5bHVyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "43": {"version": "13", "sha256": "0x85rzam1iaggmq8z3bqkpb5rr0acz8rgblrphln1av20lzwfixq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk15IHNldCBvZiBleHRlbnNpb25zOiBCYXR0ZXJ5IEJhciwgRGFzaCBCb2FyZCwgRGF0ZU1lbnUgTW9kLCBNZWRpYSBQbGF5ZXIsIFBvd2VyIE1lbnUsIFdvcmtzcGFjZSBJbmRpY2F0b3IsIE5vdGlmaWNhdGlvbiBJbmRpY2F0b3IsIE1vZGlmaWVkIFF1aWNrIFNldHRpbmdzLCBCYWNrZ3JvdW5kIENsb2NrLlxuIERpc2NsYWltZXI6IHRoaXMgZXh0ZW5zaW9uIGNvbnRhaW5zIGNvcHlyaWdodGVkIGljb25zLiIsCiAgIm5hbWUiOiAiQXlsdXIncyBXaWRnZXRzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF5bHVycy13aWRnZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BeWx1ci9nbm9tZS1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aWRnZXRzQGF5bHVyIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
+, {"uuid": "widgets@aylur", "name": "Aylur's Widgets", "pname": "aylurs-widgets", "description": "My set of extensions: Battery Bar, Dash Board, DateMenu Mod, Media Player, Power Menu, Workspace Indicator, Notification Indicator, Modified Quick Settings, Background Clock.\n Disclaimer: this extension contains copyrighted icons.", "link": "https://extensions.gnome.org/extension/5338/aylurs-widgets/", "shell_version_map": {"42": {"version": "14", "sha256": "0bmv10sarbl0hn3hknw0ad9msm09xjm8bb98a9xydqqbaba08l1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk15IHNldCBvZiBleHRlbnNpb25zOiBCYXR0ZXJ5IEJhciwgRGFzaCBCb2FyZCwgRGF0ZU1lbnUgTW9kLCBNZWRpYSBQbGF5ZXIsIFBvd2VyIE1lbnUsIFdvcmtzcGFjZSBJbmRpY2F0b3IsIE5vdGlmaWNhdGlvbiBJbmRpY2F0b3IsIE1vZGlmaWVkIFF1aWNrIFNldHRpbmdzLCBCYWNrZ3JvdW5kIENsb2NrLlxuIERpc2NsYWltZXI6IHRoaXMgZXh0ZW5zaW9uIGNvbnRhaW5zIGNvcHlyaWdodGVkIGljb25zLiIsCiAgIm5hbWUiOiAiQXlsdXIncyBXaWRnZXRzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF5bHVycy13aWRnZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BeWx1ci9nbm9tZS1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aWRnZXRzQGF5bHVyIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "43": {"version": "14", "sha256": "0bmv10sarbl0hn3hknw0ad9msm09xjm8bb98a9xydqqbaba08l1a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk15IHNldCBvZiBleHRlbnNpb25zOiBCYXR0ZXJ5IEJhciwgRGFzaCBCb2FyZCwgRGF0ZU1lbnUgTW9kLCBNZWRpYSBQbGF5ZXIsIFBvd2VyIE1lbnUsIFdvcmtzcGFjZSBJbmRpY2F0b3IsIE5vdGlmaWNhdGlvbiBJbmRpY2F0b3IsIE1vZGlmaWVkIFF1aWNrIFNldHRpbmdzLCBCYWNrZ3JvdW5kIENsb2NrLlxuIERpc2NsYWltZXI6IHRoaXMgZXh0ZW5zaW9uIGNvbnRhaW5zIGNvcHlyaWdodGVkIGljb25zLiIsCiAgIm5hbWUiOiAiQXlsdXIncyBXaWRnZXRzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF5bHVycy13aWRnZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BeWx1ci9nbm9tZS1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aWRnZXRzQGF5bHVyIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
 , {"uuid": "supergfxctl-gex@asus-linux.org", "name": "supergfxctl-gex", "pname": "supergfxctl-gex", "description": "supergfxctl-gex is a frontend for supergfxctl that was born inside the asus-linux.org community. supergfxctl is required for this extension to work. It is tested on a variaty of laptops including Intel / Nvidia, AMD / Nvidia, Intel / AMD and AMD / AMD GPU combinations.\n\nIt is a platform agnostic tool for hybrid graphics laptops.\n\nsupergfxctl gets packages by the community for Fedora and Arch. But without much of a hastle can be compiled for every systemd based Linux distribution.\n\nTo learn more about it, please have a look at:\n\nhttps://gitlab.com/asus-linux/supergfxctl\nhttps://asus-linux.org/", "link": "https://extensions.gnome.org/extension/5344/supergfxctl-gex/", "shell_version_map": {"40": {"version": "22", "sha256": "1wfgxshafzm1p2i3f2xyr16ak2sgmvyxc61pslh11qd3d23xchbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInN1cGVyZ2Z4Y3RsLWdleCBpcyBhIGZyb250ZW5kIGZvciBzdXBlcmdmeGN0bCB0aGF0IHdhcyBib3JuIGluc2lkZSB0aGUgYXN1cy1saW51eC5vcmcgY29tbXVuaXR5LiBzdXBlcmdmeGN0bCBpcyByZXF1aXJlZCBmb3IgdGhpcyBleHRlbnNpb24gdG8gd29yay4gSXQgaXMgdGVzdGVkIG9uIGEgdmFyaWF0eSBvZiBsYXB0b3BzIGluY2x1ZGluZyBJbnRlbCAvIE52aWRpYSwgQU1EIC8gTnZpZGlhLCBJbnRlbCAvIEFNRCBhbmQgQU1EIC8gQU1EIEdQVSBjb21iaW5hdGlvbnMuXG5cbkl0IGlzIGEgcGxhdGZvcm0gYWdub3N0aWMgdG9vbCBmb3IgaHlicmlkIGdyYXBoaWNzIGxhcHRvcHMuXG5cbnN1cGVyZ2Z4Y3RsIGdldHMgcGFja2FnZXMgYnkgdGhlIGNvbW11bml0eSBmb3IgRmVkb3JhIGFuZCBBcmNoLiBCdXQgd2l0aG91dCBtdWNoIG9mIGEgaGFzdGxlIGNhbiBiZSBjb21waWxlZCBmb3IgZXZlcnkgc3lzdGVtZCBiYXNlZCBMaW51eCBkaXN0cmlidXRpb24uXG5cblRvIGxlYXJuIG1vcmUgYWJvdXQgaXQsIHBsZWFzZSBoYXZlIGEgbG9vayBhdDpcblxuaHR0cHM6Ly9naXRsYWIuY29tL2FzdXMtbGludXgvc3VwZXJnZnhjdGxcbmh0dHBzOi8vYXN1cy1saW51eC5vcmcvIiwKICAibmFtZSI6ICJzdXBlcmdmeGN0bC1nZXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VwZXJnZnhjdGwtZ2V4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInN1cGVyZ2Z4Y3RsIjogIjUuMC4xIiwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3VwZXJnZnhjdGwtZ2V4QGFzdXMtbGludXgub3JnIiwKICAidXVpZC1kZXYiOiAic3VwZXJnZnhjdGwtZ2V4LWRldkBhc3VzLWxpbnV4Lm9yZyIsCiAgInZlcnNpb24iOiAyMgp9"}, "41": {"version": "22", "sha256": "1wfgxshafzm1p2i3f2xyr16ak2sgmvyxc61pslh11qd3d23xchbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInN1cGVyZ2Z4Y3RsLWdleCBpcyBhIGZyb250ZW5kIGZvciBzdXBlcmdmeGN0bCB0aGF0IHdhcyBib3JuIGluc2lkZSB0aGUgYXN1cy1saW51eC5vcmcgY29tbXVuaXR5LiBzdXBlcmdmeGN0bCBpcyByZXF1aXJlZCBmb3IgdGhpcyBleHRlbnNpb24gdG8gd29yay4gSXQgaXMgdGVzdGVkIG9uIGEgdmFyaWF0eSBvZiBsYXB0b3BzIGluY2x1ZGluZyBJbnRlbCAvIE52aWRpYSwgQU1EIC8gTnZpZGlhLCBJbnRlbCAvIEFNRCBhbmQgQU1EIC8gQU1EIEdQVSBjb21iaW5hdGlvbnMuXG5cbkl0IGlzIGEgcGxhdGZvcm0gYWdub3N0aWMgdG9vbCBmb3IgaHlicmlkIGdyYXBoaWNzIGxhcHRvcHMuXG5cbnN1cGVyZ2Z4Y3RsIGdldHMgcGFja2FnZXMgYnkgdGhlIGNvbW11bml0eSBmb3IgRmVkb3JhIGFuZCBBcmNoLiBCdXQgd2l0aG91dCBtdWNoIG9mIGEgaGFzdGxlIGNhbiBiZSBjb21waWxlZCBmb3IgZXZlcnkgc3lzdGVtZCBiYXNlZCBMaW51eCBkaXN0cmlidXRpb24uXG5cblRvIGxlYXJuIG1vcmUgYWJvdXQgaXQsIHBsZWFzZSBoYXZlIGEgbG9vayBhdDpcblxuaHR0cHM6Ly9naXRsYWIuY29tL2FzdXMtbGludXgvc3VwZXJnZnhjdGxcbmh0dHBzOi8vYXN1cy1saW51eC5vcmcvIiwKICAibmFtZSI6ICJzdXBlcmdmeGN0bC1nZXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VwZXJnZnhjdGwtZ2V4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInN1cGVyZ2Z4Y3RsIjogIjUuMC4xIiwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3VwZXJnZnhjdGwtZ2V4QGFzdXMtbGludXgub3JnIiwKICAidXVpZC1kZXYiOiAic3VwZXJnZnhjdGwtZ2V4LWRldkBhc3VzLWxpbnV4Lm9yZyIsCiAgInZlcnNpb24iOiAyMgp9"}, "42": {"version": "22", "sha256": "1wfgxshafzm1p2i3f2xyr16ak2sgmvyxc61pslh11qd3d23xchbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInN1cGVyZ2Z4Y3RsLWdleCBpcyBhIGZyb250ZW5kIGZvciBzdXBlcmdmeGN0bCB0aGF0IHdhcyBib3JuIGluc2lkZSB0aGUgYXN1cy1saW51eC5vcmcgY29tbXVuaXR5LiBzdXBlcmdmeGN0bCBpcyByZXF1aXJlZCBmb3IgdGhpcyBleHRlbnNpb24gdG8gd29yay4gSXQgaXMgdGVzdGVkIG9uIGEgdmFyaWF0eSBvZiBsYXB0b3BzIGluY2x1ZGluZyBJbnRlbCAvIE52aWRpYSwgQU1EIC8gTnZpZGlhLCBJbnRlbCAvIEFNRCBhbmQgQU1EIC8gQU1EIEdQVSBjb21iaW5hdGlvbnMuXG5cbkl0IGlzIGEgcGxhdGZvcm0gYWdub3N0aWMgdG9vbCBmb3IgaHlicmlkIGdyYXBoaWNzIGxhcHRvcHMuXG5cbnN1cGVyZ2Z4Y3RsIGdldHMgcGFja2FnZXMgYnkgdGhlIGNvbW11bml0eSBmb3IgRmVkb3JhIGFuZCBBcmNoLiBCdXQgd2l0aG91dCBtdWNoIG9mIGEgaGFzdGxlIGNhbiBiZSBjb21waWxlZCBmb3IgZXZlcnkgc3lzdGVtZCBiYXNlZCBMaW51eCBkaXN0cmlidXRpb24uXG5cblRvIGxlYXJuIG1vcmUgYWJvdXQgaXQsIHBsZWFzZSBoYXZlIGEgbG9vayBhdDpcblxuaHR0cHM6Ly9naXRsYWIuY29tL2FzdXMtbGludXgvc3VwZXJnZnhjdGxcbmh0dHBzOi8vYXN1cy1saW51eC5vcmcvIiwKICAibmFtZSI6ICJzdXBlcmdmeGN0bC1nZXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VwZXJnZnhjdGwtZ2V4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInN1cGVyZ2Z4Y3RsIjogIjUuMC4xIiwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3VwZXJnZnhjdGwtZ2V4QGFzdXMtbGludXgub3JnIiwKICAidXVpZC1kZXYiOiAic3VwZXJnZnhjdGwtZ2V4LWRldkBhc3VzLWxpbnV4Lm9yZyIsCiAgInZlcnNpb24iOiAyMgp9"}, "43": {"version": "21", "sha256": "06hqq7j48wfzq3k607zx7a5126d3xl7miymv2z9qqa8qs650036a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInN1cGVyZ2Z4Y3RsLWdleCBpcyBhIGZyb250ZW5kIGZvciBzdXBlcmdmeGN0bCB0aGF0IHdhcyBib3JuIGluc2lkZSB0aGUgYXN1cy1saW51eC5vcmcgY29tbXVuaXR5LiBzdXBlcmdmeGN0bCBpcyByZXF1aXJlZCBmb3IgdGhpcyBleHRlbnNpb24gdG8gd29yay4gSXQgaXMgdGVzdGVkIG9uIGEgdmFyaWF0eSBvZiBsYXB0b3BzIGluY2x1ZGluZyBJbnRlbCAvIE52aWRpYSwgQU1EIC8gTnZpZGlhLCBJbnRlbCAvIEFNRCBhbmQgQU1EIC8gQU1EIEdQVSBjb21iaW5hdGlvbnMuXG5cbkl0IGlzIGEgcGxhdGZvcm0gYWdub3N0aWMgdG9vbCBmb3IgaHlicmlkIGdyYXBoaWNzIGxhcHRvcHMuXG5cbnN1cGVyZ2Z4Y3RsIGdldHMgcGFja2FnZXMgYnkgdGhlIGNvbW11bml0eSBmb3IgRmVkb3JhIGFuZCBBcmNoLiBCdXQgd2l0aG91dCBtdWNoIG9mIGEgaGFzdGxlIGNhbiBiZSBjb21waWxlZCBmb3IgZXZlcnkgc3lzdGVtZCBiYXNlZCBMaW51eCBkaXN0cmlidXRpb24uXG5cblRvIGxlYXJuIG1vcmUgYWJvdXQgaXQsIHBsZWFzZSBoYXZlIGEgbG9vayBhdDpcblxuaHR0cHM6Ly9naXRsYWIuY29tL2FzdXMtbGludXgvc3VwZXJnZnhjdGxcbmh0dHBzOi8vYXN1cy1saW51eC5vcmcvIiwKICAibmFtZSI6ICJzdXBlcmdmeGN0bC1nZXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VwZXJnZnhjdGwtZ2V4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJzdXBlcmdmeGN0bCI6ICI1LjAuMSIsCiAgInVybCI6ICIiLAogICJ1dWlkIjogInN1cGVyZ2Z4Y3RsLWdleEBhc3VzLWxpbnV4Lm9yZyIsCiAgInV1aWQtZGV2IjogInN1cGVyZ2Z4Y3RsLWdleC1kZXZAYXN1cy1saW51eC5vcmciLAogICJ2ZXJzaW9uIjogMjEKfQ=="}}}
 , {"uuid": "dotspaces@charlieqle", "name": "Dotspaces", "pname": "dotspaces", "description": "A simple workspace switcher", "link": "https://extensions.gnome.org/extension/5347/dotspaces/", "shell_version_map": {"42": {"version": "6", "sha256": "1drw6hyhc9cfwyz49xbspyh42k9pgwvwnlmqbkcxskn7ljjxw5lp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIHdvcmtzcGFjZSBzd2l0Y2hlciIsCiAgIm5hbWUiOiAiRG90c3BhY2VzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRvdHNwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hhcmxpZVFMZS9nbm9tZS1leHRlbnNpb24tZG90c3BhY2VzIiwKICAidXVpZCI6ICJkb3RzcGFjZXNAY2hhcmxpZXFsZSIsCiAgInZlcnNpb24iOiA2Cn0="}, "43": {"version": "6", "sha256": "1drw6hyhc9cfwyz49xbspyh42k9pgwvwnlmqbkcxskn7ljjxw5lp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIHdvcmtzcGFjZSBzd2l0Y2hlciIsCiAgIm5hbWUiOiAiRG90c3BhY2VzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRvdHNwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hhcmxpZVFMZS9nbm9tZS1leHRlbnNpb24tZG90c3BhY2VzIiwKICAidXVpZCI6ICJkb3RzcGFjZXNAY2hhcmxpZXFsZSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "window-state-manager@kishorv06.github.io", "name": "Window State Manager", "pname": "window-state-manager", "description": "Automatically remember and restore window state and positions. Useful when using Gnome with wayland in a multi-monitor setup. Some applications won't remember their location when monitors are connected or disconnected. This extension solves that problem by saving window state periodically and restoring it when screen arrangement is changed.", "link": "https://extensions.gnome.org/extension/5353/window-state-manager/", "shell_version_map": {"42": {"version": "2", "sha256": "1p6rwpqnysv2kb4yyjmivfpr09jn3g0zf6020fkm84azh3gp5ccb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcmVtZW1iZXIgYW5kIHJlc3RvcmUgd2luZG93IHN0YXRlIGFuZCBwb3NpdGlvbnMuIFVzZWZ1bCB3aGVuIHVzaW5nIEdub21lIHdpdGggd2F5bGFuZCBpbiBhIG11bHRpLW1vbml0b3Igc2V0dXAuIFNvbWUgYXBwbGljYXRpb25zIHdvbid0IHJlbWVtYmVyIHRoZWlyIGxvY2F0aW9uIHdoZW4gbW9uaXRvcnMgYXJlIGNvbm5lY3RlZCBvciBkaXNjb25uZWN0ZWQuIFRoaXMgZXh0ZW5zaW9uIHNvbHZlcyB0aGF0IHByb2JsZW0gYnkgc2F2aW5nIHdpbmRvdyBzdGF0ZSBwZXJpb2RpY2FsbHkgYW5kIHJlc3RvcmluZyBpdCB3aGVuIHNjcmVlbiBhcnJhbmdlbWVudCBpcyBjaGFuZ2VkLiIsCiAgIm5hbWUiOiAiV2luZG93IFN0YXRlIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2lzaG9ydjA2L3dpbmRvdy1zdGF0ZS1tYW5hZ2VyIiwKICAidXVpZCI6ICJ3aW5kb3ctc3RhdGUtbWFuYWdlckBraXNob3J2MDYuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "window-state-manager@kishorv06.github.io", "name": "Window State Manager", "pname": "window-state-manager", "description": "Automatically remember and restore window state and positions. Useful when using Gnome with wayland in a multi-monitor setup. Some applications won't remember their location when monitors are connected or disconnected. This extension solves that problem by saving window state periodically and restoring it when screen arrangement is changed.", "link": "https://extensions.gnome.org/extension/5353/window-state-manager/", "shell_version_map": {"42": {"version": "3", "sha256": "0f6mcn8kkgkdhaa354jy1hhn474iw6f99wbq4pn5y8qdvc12wzsh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcmVtZW1iZXIgYW5kIHJlc3RvcmUgd2luZG93IHN0YXRlIGFuZCBwb3NpdGlvbnMuIFVzZWZ1bCB3aGVuIHVzaW5nIEdub21lIHdpdGggd2F5bGFuZCBpbiBhIG11bHRpLW1vbml0b3Igc2V0dXAuIFNvbWUgYXBwbGljYXRpb25zIHdvbid0IHJlbWVtYmVyIHRoZWlyIGxvY2F0aW9uIHdoZW4gbW9uaXRvcnMgYXJlIGNvbm5lY3RlZCBvciBkaXNjb25uZWN0ZWQuIFRoaXMgZXh0ZW5zaW9uIHNvbHZlcyB0aGF0IHByb2JsZW0gYnkgc2F2aW5nIHdpbmRvdyBzdGF0ZSBwZXJpb2RpY2FsbHkgYW5kIHJlc3RvcmluZyBpdCB3aGVuIHNjcmVlbiBhcnJhbmdlbWVudCBpcyBjaGFuZ2VkLiIsCiAgIm5hbWUiOiAiV2luZG93IFN0YXRlIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tpc2hvcnYwNi93aW5kb3ctc3RhdGUtbWFuYWdlciIsCiAgInV1aWQiOiAid2luZG93LXN0YXRlLW1hbmFnZXJAa2lzaG9ydjA2LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "43": {"version": "3", "sha256": "0f6mcn8kkgkdhaa354jy1hhn474iw6f99wbq4pn5y8qdvc12wzsh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcmVtZW1iZXIgYW5kIHJlc3RvcmUgd2luZG93IHN0YXRlIGFuZCBwb3NpdGlvbnMuIFVzZWZ1bCB3aGVuIHVzaW5nIEdub21lIHdpdGggd2F5bGFuZCBpbiBhIG11bHRpLW1vbml0b3Igc2V0dXAuIFNvbWUgYXBwbGljYXRpb25zIHdvbid0IHJlbWVtYmVyIHRoZWlyIGxvY2F0aW9uIHdoZW4gbW9uaXRvcnMgYXJlIGNvbm5lY3RlZCBvciBkaXNjb25uZWN0ZWQuIFRoaXMgZXh0ZW5zaW9uIHNvbHZlcyB0aGF0IHByb2JsZW0gYnkgc2F2aW5nIHdpbmRvdyBzdGF0ZSBwZXJpb2RpY2FsbHkgYW5kIHJlc3RvcmluZyBpdCB3aGVuIHNjcmVlbiBhcnJhbmdlbWVudCBpcyBjaGFuZ2VkLiIsCiAgIm5hbWUiOiAiV2luZG93IFN0YXRlIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tpc2hvcnYwNi93aW5kb3ctc3RhdGUtbWFuYWdlciIsCiAgInV1aWQiOiAid2luZG93LXN0YXRlLW1hbmFnZXJAa2lzaG9ydjA2LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "vpn-status@peterroux.com", "name": "VPN Status", "pname": "vpn-status", "description": "A VPN Status indicator.", "link": "https://extensions.gnome.org/extension/5356/vpn-status/", "shell_version_map": {"38": {"version": "2", "sha256": "09qfrs7wi5sn8dgz7806x3wqfyq62f1gfl0jfwwnypkmcqc7rigv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVlBOIFN0YXR1cyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJWUE4gU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidnBuLXN0YXR1c0BwZXRlcnJvdXguY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "09qfrs7wi5sn8dgz7806x3wqfyq62f1gfl0jfwwnypkmcqc7rigv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVlBOIFN0YXR1cyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJWUE4gU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidnBuLXN0YXR1c0BwZXRlcnJvdXguY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "09qfrs7wi5sn8dgz7806x3wqfyq62f1gfl0jfwwnypkmcqc7rigv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVlBOIFN0YXR1cyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJWUE4gU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidnBuLXN0YXR1c0BwZXRlcnJvdXguY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "smartlock@huy.im", "name": "Bluetooth Smart Lock", "pname": "bluetooth-smart-lock", "description": "Dynamic lock for GNOME. Use your smart phone/watch/band to lock your desktop automatically when you step away.\n\nWhen your device is out of bluetooth range or get disconnected, it will lock your desktop automatically.", "link": "https://extensions.gnome.org/extension/5359/bluetooth-smart-lock/", "shell_version_map": {"42": {"version": "13", "sha256": "1bajl6xmnv2lb7vh4wc8i02g9kqac9ljq31f035nshha4p324b6z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkR5bmFtaWMgbG9jayBmb3IgR05PTUUuIFVzZSB5b3VyIHNtYXJ0IHBob25lL3dhdGNoL2JhbmQgdG8gbG9jayB5b3VyIGRlc2t0b3AgYXV0b21hdGljYWxseSB3aGVuIHlvdSBzdGVwIGF3YXkuXG5cbldoZW4geW91ciBkZXZpY2UgaXMgb3V0IG9mIGJsdWV0b290aCByYW5nZSBvciBnZXQgZGlzY29ubmVjdGVkLCBpdCB3aWxsIGxvY2sgeW91ciBkZXNrdG9wIGF1dG9tYXRpY2FsbHkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXNtYXJ0bG9jayIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIFNtYXJ0IExvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmx1ZXRvb3RoX3NtYXJ0bG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmEwZjMvZ25vbWUtYmx1ZXRvb3RoLXNtYXJ0bG9jayIsCiAgInV1aWQiOiAic21hcnRsb2NrQGh1eS5pbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "43": {"version": "13", "sha256": "1bajl6xmnv2lb7vh4wc8i02g9kqac9ljq31f035nshha4p324b6z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkR5bmFtaWMgbG9jayBmb3IgR05PTUUuIFVzZSB5b3VyIHNtYXJ0IHBob25lL3dhdGNoL2JhbmQgdG8gbG9jayB5b3VyIGRlc2t0b3AgYXV0b21hdGljYWxseSB3aGVuIHlvdSBzdGVwIGF3YXkuXG5cbldoZW4geW91ciBkZXZpY2UgaXMgb3V0IG9mIGJsdWV0b290aCByYW5nZSBvciBnZXQgZGlzY29ubmVjdGVkLCBpdCB3aWxsIGxvY2sgeW91ciBkZXNrdG9wIGF1dG9tYXRpY2FsbHkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXNtYXJ0bG9jayIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIFNtYXJ0IExvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmx1ZXRvb3RoX3NtYXJ0bG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmEwZjMvZ25vbWUtYmx1ZXRvb3RoLXNtYXJ0bG9jayIsCiAgInV1aWQiOiAic21hcnRsb2NrQGh1eS5pbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "gnome-wireguard-extension@SJBERTRAND.github.com", "name": "WireGuard-VPN-extension", "pname": "wireguard-vpn-extension", "description": "Enable/Disable Wireguard tunnels", "link": "https://extensions.gnome.org/extension/5362/wireguard-vpn-extension/", "shell_version_map": {"42": {"version": "5", "sha256": "0xl60kd28kvsdgci2kr80chxpybhwf9fxjzrmxjp6p04icrmy68z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIFdpcmVndWFyZCB0dW5uZWxzIiwKICAibmFtZSI6ICJXaXJlR3VhcmQtVlBOLWV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU0pCRVJUUkFORC9nbm9tZS13aXJlZ3VhcmQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnbm9tZS13aXJlZ3VhcmQtZXh0ZW5zaW9uQFNKQkVSVFJBTkQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "43": {"version": "5", "sha256": "0xl60kd28kvsdgci2kr80chxpybhwf9fxjzrmxjp6p04icrmy68z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIFdpcmVndWFyZCB0dW5uZWxzIiwKICAibmFtZSI6ICJXaXJlR3VhcmQtVlBOLWV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU0pCRVJUUkFORC9nbm9tZS13aXJlZ3VhcmQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnbm9tZS13aXJlZ3VhcmQtZXh0ZW5zaW9uQFNKQkVSVFJBTkQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
@@ -853,7 +853,7 @@
 , {"uuid": "auto-activities@CleoMenezesJr.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.\n\nThis extension is a fork of the Auto Activities extension, its former owner transferred its repository to me.", "link": "https://extensions.gnome.org/extension/5500/auto-activities/", "shell_version_map": {"42": {"version": "4", "sha256": "0icdhqn4w0b2i153xqn34bhbpkam1klawxr2p6hs6wcr05cmx6z6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgdGhlIEF1dG8gQWN0aXZpdGllcyBleHRlbnNpb24sIGl0cyBmb3JtZXIgb3duZXIgdHJhbnNmZXJyZWQgaXRzIHJlcG9zaXRvcnkgdG8gbWUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXV0by1hY3Rpdml0aWVzIiwKICAibmFtZSI6ICJBdXRvIEFjdGl2aXRpZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAibWktamFuLXNlbmFAcHJvdG9uLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DbGVvTWVuZXplc0pyL2F1dG8tYWN0aXZpdGllcyIsCiAgInV1aWQiOiAiYXV0by1hY3Rpdml0aWVzQENsZW9NZW5lemVzSnIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "43": {"version": "4", "sha256": "0icdhqn4w0b2i153xqn34bhbpkam1klawxr2p6hs6wcr05cmx6z6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgdGhlIEF1dG8gQWN0aXZpdGllcyBleHRlbnNpb24sIGl0cyBmb3JtZXIgb3duZXIgdHJhbnNmZXJyZWQgaXRzIHJlcG9zaXRvcnkgdG8gbWUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXV0by1hY3Rpdml0aWVzIiwKICAibmFtZSI6ICJBdXRvIEFjdGl2aXRpZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAibWktamFuLXNlbmFAcHJvdG9uLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DbGVvTWVuZXplc0pyL2F1dG8tYWN0aXZpdGllcyIsCiAgInV1aWQiOiAiYXV0by1hY3Rpdml0aWVzQENsZW9NZW5lemVzSnIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "quick-settings-avatar@d-go", "name": "User Avatar In Quick Settings", "pname": "user-avatar-in-quick-settings", "description": "Display the user avatar in the Quick Settings menu, part of the \"System\" settings", "link": "https://extensions.gnome.org/extension/5506/user-avatar-in-quick-settings/", "shell_version_map": {"43": {"version": "1", "sha256": "12pk2gai1g4cax952kq19jfk74ryjr4j627ipnhbj5n77z063g58", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIHVzZXIgYXZhdGFyIGluIHRoZSBRdWljayBTZXR0aW5ncyBtZW51LCBwYXJ0IG9mIHRoZSBcIlN5c3RlbVwiIHNldHRpbmdzIiwKICAibmFtZSI6ICJVc2VyIEF2YXRhciBJbiBRdWljayBTZXR0aW5ncyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kLWdvL3F1aWNrLXNldHRpbmdzLWF2YXRhciIsCiAgInV1aWQiOiAicXVpY2stc2V0dGluZ3MtYXZhdGFyQGQtZ28iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "eur-brl@jcanabarro.github.com", "name": "EUR-BRL", "pname": "eur-brl", "description": "Gnome Extension that shows the current conversion of Euro to Brazilian Reals.\n\nIt is a fork of USD-BRL https://extensions.gnome.org/extension/5371/usd-bra/", "link": "https://extensions.gnome.org/extension/5510/eur-brl/", "shell_version_map": {"42": {"version": "2", "sha256": "0j5wx3dawlxdal6rw7ijh17wbpakdy3qwh634ns9q65a7axqalkz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIEV4dGVuc2lvbiB0aGF0IHNob3dzIHRoZSBjdXJyZW50IGNvbnZlcnNpb24gb2YgRXVybyB0byBCcmF6aWxpYW4gUmVhbHMuXG5cbkl0IGlzIGEgZm9yayBvZiBVU0QtQlJMIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzUzNzEvdXNkLWJyYS8iLAogICJuYW1lIjogIkVVUi1CUkwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamNhbmFiYXJyby9FVVItQlJMIiwKICAidXVpZCI6ICJldXItYnJsQGpjYW5hYmFycm8uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "floating-panel@aylur", "name": "Floating Panel", "pname": "floating-panel", "description": "Floats the panel, if there is a window nearby or maximised, it defloats.", "link": "https://extensions.gnome.org/extension/5514/floating-panel/", "shell_version_map": {"40": {"version": "2", "sha256": "038fcpl2zbb99v7wqv8g5g4gj81vb6d779j2mi8628k0ibpri385", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsb2F0cyB0aGUgcGFuZWwsIGlmIHRoZXJlIGlzIGEgd2luZG93IG5lYXJieSBvciBtYXhpbWlzZWQsIGl0IGRlZmxvYXRzLiIsCiAgIm5hbWUiOiAiRmxvYXRpbmcgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQXlsdXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nLXBhbmVsIiwKICAidXVpZCI6ICJmbG9hdGluZy1wYW5lbEBheWx1ciIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "038fcpl2zbb99v7wqv8g5g4gj81vb6d779j2mi8628k0ibpri385", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsb2F0cyB0aGUgcGFuZWwsIGlmIHRoZXJlIGlzIGEgd2luZG93IG5lYXJieSBvciBtYXhpbWlzZWQsIGl0IGRlZmxvYXRzLiIsCiAgIm5hbWUiOiAiRmxvYXRpbmcgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQXlsdXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nLXBhbmVsIiwKICAidXVpZCI6ICJmbG9hdGluZy1wYW5lbEBheWx1ciIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "038fcpl2zbb99v7wqv8g5g4gj81vb6d779j2mi8628k0ibpri385", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsb2F0cyB0aGUgcGFuZWwsIGlmIHRoZXJlIGlzIGEgd2luZG93IG5lYXJieSBvciBtYXhpbWlzZWQsIGl0IGRlZmxvYXRzLiIsCiAgIm5hbWUiOiAiRmxvYXRpbmcgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQXlsdXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nLXBhbmVsIiwKICAidXVpZCI6ICJmbG9hdGluZy1wYW5lbEBheWx1ciIsCiAgInZlcnNpb24iOiAyCn0="}, "43": {"version": "2", "sha256": "038fcpl2zbb99v7wqv8g5g4gj81vb6d779j2mi8628k0ibpri385", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsb2F0cyB0aGUgcGFuZWwsIGlmIHRoZXJlIGlzIGEgd2luZG93IG5lYXJieSBvciBtYXhpbWlzZWQsIGl0IGRlZmxvYXRzLiIsCiAgIm5hbWUiOiAiRmxvYXRpbmcgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQXlsdXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nLXBhbmVsIiwKICAidXVpZCI6ICJmbG9hdGluZy1wYW5lbEBheWx1ciIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "floating-panel@aylur", "name": "Floating Panel", "pname": "floating-panel", "description": "Floats the panel, if there is a window nearby or maximised, it defloats.", "link": "https://extensions.gnome.org/extension/5514/floating-panel/", "shell_version_map": {"40": {"version": "3", "sha256": "08n87kw0642n9wdw8w86pw0y41cz0mzd6byyqzs6wq6qc682y9bg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsb2F0cyB0aGUgcGFuZWwsIGlmIHRoZXJlIGlzIGEgd2luZG93IG5lYXJieSBvciBtYXhpbWlzZWQsIGl0IGRlZmxvYXRzLiIsCiAgIm5hbWUiOiAiRmxvYXRpbmcgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQXlsdXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nLXBhbmVsIiwKICAidXVpZCI6ICJmbG9hdGluZy1wYW5lbEBheWx1ciIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "08n87kw0642n9wdw8w86pw0y41cz0mzd6byyqzs6wq6qc682y9bg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsb2F0cyB0aGUgcGFuZWwsIGlmIHRoZXJlIGlzIGEgd2luZG93IG5lYXJieSBvciBtYXhpbWlzZWQsIGl0IGRlZmxvYXRzLiIsCiAgIm5hbWUiOiAiRmxvYXRpbmcgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQXlsdXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nLXBhbmVsIiwKICAidXVpZCI6ICJmbG9hdGluZy1wYW5lbEBheWx1ciIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "08n87kw0642n9wdw8w86pw0y41cz0mzd6byyqzs6wq6qc682y9bg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsb2F0cyB0aGUgcGFuZWwsIGlmIHRoZXJlIGlzIGEgd2luZG93IG5lYXJieSBvciBtYXhpbWlzZWQsIGl0IGRlZmxvYXRzLiIsCiAgIm5hbWUiOiAiRmxvYXRpbmcgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQXlsdXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nLXBhbmVsIiwKICAidXVpZCI6ICJmbG9hdGluZy1wYW5lbEBheWx1ciIsCiAgInZlcnNpb24iOiAzCn0="}, "43": {"version": "3", "sha256": "08n87kw0642n9wdw8w86pw0y41cz0mzd6byyqzs6wq6qc682y9bg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZsb2F0cyB0aGUgcGFuZWwsIGlmIHRoZXJlIGlzIGEgd2luZG93IG5lYXJieSBvciBtYXhpbWlzZWQsIGl0IGRlZmxvYXRzLiIsCiAgIm5hbWUiOiAiRmxvYXRpbmcgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQXlsdXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nLXBhbmVsIiwKICAidXVpZCI6ICJmbG9hdGluZy1wYW5lbEBheWx1ciIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "tun0-ip-address@adamantisspinae.github.com", "name": "tun0 IP Address", "pname": "tun0-ip-address", "description": "Show tun0 IP address on GNOME panel. Do not show loopback addresses (127.0.0.0/8) or other network interface IP addresses. Please install moreutils package as a depedency", "link": "https://extensions.gnome.org/extension/5518/tun0-ip-address/", "shell_version_map": {"40": {"version": "7", "sha256": "08zfm6g38g54km5ks83i78b019v6cihqz0qp636iislhpz6gzylp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdHVuMCBJUCBhZGRyZXNzIG9uIEdOT01FIHBhbmVsLiBEbyBub3Qgc2hvdyBsb29wYmFjayBhZGRyZXNzZXMgKDEyNy4wLjAuMC84KSBvciBvdGhlciBuZXR3b3JrIGludGVyZmFjZSBJUCBhZGRyZXNzZXMuIFBsZWFzZSBpbnN0YWxsIG1vcmV1dGlscyBwYWNrYWdlIGFzIGEgZGVwZWRlbmN5IiwKICAibmFtZSI6ICJ0dW4wIElQIEFkZHJlc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWRhbWFudGlzU3BpbmFlL2dub21lLWV4dGVuc2lvbi10dW4wLWlwLWFkZHJlc3MiLAogICJ1dWlkIjogInR1bjAtaXAtYWRkcmVzc0BhZGFtYW50aXNzcGluYWUuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "08zfm6g38g54km5ks83i78b019v6cihqz0qp636iislhpz6gzylp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdHVuMCBJUCBhZGRyZXNzIG9uIEdOT01FIHBhbmVsLiBEbyBub3Qgc2hvdyBsb29wYmFjayBhZGRyZXNzZXMgKDEyNy4wLjAuMC84KSBvciBvdGhlciBuZXR3b3JrIGludGVyZmFjZSBJUCBhZGRyZXNzZXMuIFBsZWFzZSBpbnN0YWxsIG1vcmV1dGlscyBwYWNrYWdlIGFzIGEgZGVwZWRlbmN5IiwKICAibmFtZSI6ICJ0dW4wIElQIEFkZHJlc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWRhbWFudGlzU3BpbmFlL2dub21lLWV4dGVuc2lvbi10dW4wLWlwLWFkZHJlc3MiLAogICJ1dWlkIjogInR1bjAtaXAtYWRkcmVzc0BhZGFtYW50aXNzcGluYWUuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "08zfm6g38g54km5ks83i78b019v6cihqz0qp636iislhpz6gzylp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdHVuMCBJUCBhZGRyZXNzIG9uIEdOT01FIHBhbmVsLiBEbyBub3Qgc2hvdyBsb29wYmFjayBhZGRyZXNzZXMgKDEyNy4wLjAuMC84KSBvciBvdGhlciBuZXR3b3JrIGludGVyZmFjZSBJUCBhZGRyZXNzZXMuIFBsZWFzZSBpbnN0YWxsIG1vcmV1dGlscyBwYWNrYWdlIGFzIGEgZGVwZWRlbmN5IiwKICAibmFtZSI6ICJ0dW4wIElQIEFkZHJlc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWRhbWFudGlzU3BpbmFlL2dub21lLWV4dGVuc2lvbi10dW4wLWlwLWFkZHJlc3MiLAogICJ1dWlkIjogInR1bjAtaXAtYWRkcmVzc0BhZGFtYW50aXNzcGluYWUuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "43": {"version": "7", "sha256": "08zfm6g38g54km5ks83i78b019v6cihqz0qp636iislhpz6gzylp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdHVuMCBJUCBhZGRyZXNzIG9uIEdOT01FIHBhbmVsLiBEbyBub3Qgc2hvdyBsb29wYmFjayBhZGRyZXNzZXMgKDEyNy4wLjAuMC84KSBvciBvdGhlciBuZXR3b3JrIGludGVyZmFjZSBJUCBhZGRyZXNzZXMuIFBsZWFzZSBpbnN0YWxsIG1vcmV1dGlscyBwYWNrYWdlIGFzIGEgZGVwZWRlbmN5IiwKICAibmFtZSI6ICJ0dW4wIElQIEFkZHJlc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWRhbWFudGlzU3BpbmFlL2dub21lLWV4dGVuc2lvbi10dW4wLWlwLWFkZHJlc3MiLAogICJ1dWlkIjogInR1bjAtaXAtYWRkcmVzc0BhZGFtYW50aXNzcGluYWUuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "nano-lights@chlumskyvaclav.gmail.com", "name": "Nano Lights", "pname": "nano-lights", "description": "This extension controls Nanoleaf shapes and possibly others Nanoleaf devices on your local (wifi) network. If you are experiencing an error on the upgrade, please log out and log in again.", "link": "https://extensions.gnome.org/extension/5519/nano-lights/", "shell_version_map": {"43": {"version": "2", "sha256": "12pm2carzgm8pj0zwwx184drh4nnq3rfixdws2k9cirp3gxj2i6y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIE5hbm9sZWFmIHNoYXBlcyBhbmQgcG9zc2libHkgb3RoZXJzIE5hbm9sZWFmIGRldmljZXMgb24geW91ciBsb2NhbCAod2lmaSkgbmV0d29yay4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibmFuby1saWdodHMiLAogICJuYW1lIjogIk5hbm8gTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vbmFuby1saWdodHMiLAogICJ1dWlkIjogIm5hbm8tbGlnaHRzQGNobHVtc2t5dmFjbGF2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "just-another-search-bar@xelad0m", "name": "Just Another Search Bar", "pname": "just-another-search-bar", "description": "Search from desktop with google/yandex/baidu in default browser\nLocal search is also available using the recoll desktop search tool\nTo open click on the search icon on the menu bar or press Ctrl+Alt+F", "link": "https://extensions.gnome.org/extension/5522/just-another-search-bar/", "shell_version_map": {"43": {"version": "2", "sha256": "1w9zsqnh5pb8nv2r3vvbnfydw6zk5sawkjmxl7nid03xldzh53ls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBmcm9tIGRlc2t0b3Agd2l0aCBnb29nbGUveWFuZGV4L2JhaWR1IGluIGRlZmF1bHQgYnJvd3NlclxuTG9jYWwgc2VhcmNoIGlzIGFsc28gYXZhaWxhYmxlIHVzaW5nIHRoZSByZWNvbGwgZGVza3RvcCBzZWFyY2ggdG9vbFxuVG8gb3BlbiBjbGljayBvbiB0aGUgc2VhcmNoIGljb24gb24gdGhlIG1lbnUgYmFyIG9yIHByZXNzIEN0cmwrQWx0K0YiLAogICJuYW1lIjogIkp1c3QgQW5vdGhlciBTZWFyY2ggQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS1zaGVsbC5leHRlbnNpb25zLmp1c3QtYW5vdGhlci1zZWFyY2gtYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hlbGFkMG0vanVzdC1hbm90aGVyLXNlYXJjaC1iYXIiLAogICJ1dWlkIjogImp1c3QtYW5vdGhlci1zZWFyY2gtYmFyQHhlbGFkMG0iLAogICJ2ZXJzaW9uIjogMgp9"}}}
diff --git a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
index f37a321dae6eb..879eb601fc99e 100644
--- a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
+++ b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
@@ -6,7 +6,6 @@
   "dash-to-dock@micxgx.gmail.com" = callPackage ./dash-to-dock { };
   "drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { };
   "EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { };
-  "emoji-selector@maestroschan.fr" = callPackage ./emoji-selector { };
   "gsconnect@andyholmes.github.io" = callPackage ./gsconnect { };
   "icon-hider@kalnitsky.org" = callPackage ./icon-hider { };
   "impatience@gfxmonk.net" = callPackage ./impatience { };
diff --git a/pkgs/development/beam-modules/elixir-ls/pin.json b/pkgs/development/beam-modules/elixir-ls/pin.json
index a87393890a15b..bd206eb1d1a20 100644
--- a/pkgs/development/beam-modules/elixir-ls/pin.json
+++ b/pkgs/development/beam-modules/elixir-ls/pin.json
@@ -1,5 +1,5 @@
 {
-  "version": "0.11.0",
-  "sha256": "sha256-z2KkhTjw8AumD1FWbTCxYB6PHZIWmUPnwBnxKbpHfRQ=",
-  "depsSha256": "sha256-BMi9bVnQjbcvfIi1xup3sZ7QrPtHAdHqdcGlzKw+YbE="
+  "version": "0.12.0",
+  "sha256": "sha256-ZieKL98EUT3RbZ1UZkhrnXjg3N0RATKB69F8D7IWnJ8=",
+  "depsSha256": "sha256-Otm8koWrDYxodfliIe+q4U+39eStR5umEKnQQmOOGeA="
 }
diff --git a/pkgs/development/compilers/chicken/4/eggDerivation.nix b/pkgs/development/compilers/chicken/4/eggDerivation.nix
index 10cf91579a404..96b3612b34baf 100644
--- a/pkgs/development/compilers/chicken/4/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/4/eggDerivation.nix
@@ -42,4 +42,8 @@ stdenv.mkDerivation ({
 
     runHook postInstall
   '';
-} // (builtins.removeAttrs args ["name" "buildInputs"]) // override)
+
+  meta = {
+    inherit (chicken.meta) platforms;
+  } // args.meta or {};
+} // (builtins.removeAttrs args ["name" "buildInputs" "meta"]) // override)
diff --git a/pkgs/development/compilers/chicken/5/eggDerivation.nix b/pkgs/development/compilers/chicken/5/eggDerivation.nix
index a6d19eaeb137a..d1c8fc9e47365 100644
--- a/pkgs/development/compilers/chicken/5/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/5/eggDerivation.nix
@@ -39,4 +39,8 @@ stdenv.mkDerivation ({
 
     runHook postInstall
   '';
-} // (builtins.removeAttrs args ["name" "buildInputs"]) // override)
+
+  meta = {
+    inherit (chicken.meta) platforms;
+  } // args.meta or {};
+} // (builtins.removeAttrs args ["name" "buildInputs" "meta"]) // override)
diff --git a/pkgs/development/compilers/copper/default.nix b/pkgs/development/compilers/copper/default.nix
index 67d31f6f5e10d..f202932743f1f 100644
--- a/pkgs/development/compilers/copper/default.nix
+++ b/pkgs/development/compilers/copper/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , libffi
 }:
@@ -27,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage = "https://tibleiz.net/copper/";
     license = licenses.bsd2;
     platforms = platforms.x86_64;
-    broken = stdenv.isDarwin;
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix
index 676ef78e3b349..f9a801284686e 100644
--- a/pkgs/development/compilers/flutter/default.nix
+++ b/pkgs/development/compilers/flutter/default.nix
@@ -29,12 +29,12 @@ in
   inherit mkFlutter;
   stable = flutterDrv {
     pname = "flutter";
-    version = "3.3.3";
-    dartVersion = "2.18.2";
-    hash = "sha256-MTZeWQUp4/TcPzYIT6eqIKSPUPvn2Mp/thOQzNgpTXg=";
+    version = "3.3.8";
+    dartVersion = "2.18.4";
+    hash = "sha256-QH+10F6a0XYEvBetiAi45Sfy7WTdVZ1i8VOO4JuSI24=";
     dartHash = {
-      x86_64-linux = "sha256-C3+YjecXLvSmJrLwi9H7TgD9Np0AArRWx3EdBrfQpTU";
-      aarch64-linux = "sha256-zyIK1i5/9P2C+sjzdArhFwpVO4P+It+/X50l+n9gekI=";
+      x86_64-linux = "sha256-lFw+KaxzhuAMnu6ypczINqywzpiD+8Kd+C/UHJDrO9Y=";
+      aarch64-linux = "sha256-snlFTY4oJ4ALGLc210USbI2Z///cx1IVYUWm7Vo5z2I=";
     };
     patches = getPatches ./patches/flutter3;
   };
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index b70a3e13ab143..7a6c019c16dad 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -13,7 +13,7 @@ let
       sha
       dune_2
       luv
-      ocaml_extlib
+      extlib
     ] else if lib.versionAtLeast version "4.0"
     then with ocaml-ng.ocamlPackages_4_10; [
       ocaml
@@ -25,7 +25,7 @@ let
       sha
       dune_2
       luv
-      ocaml_extlib-1-7-7
+      extlib-1-7-7
     ] else with ocaml-ng.ocamlPackages_4_05; [
       ocaml
       camlp4
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 34c76b48384e2..62bd8b15d1adf 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -8,7 +8,6 @@
 , libffi
 , makeWrapper
 , pkg-config
-, protobuf
 , python3
 , readline
 , symlinkJoin
@@ -72,13 +71,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname   = "yosys";
-  version = "0.22";
+  version = "0.23";
 
   src = fetchFromGitHub {
     owner = "YosysHQ";
     repo  = "yosys";
     rev   = "${pname}-${version}";
-    hash  = "sha256-us4GiulqkzcwD2iuNXB5eTd3iqgUdvj9Nd2p/9TJerQ=";
+    hash  = "sha256-mOakdXhSij8k4Eo7RwpKjd59IkNjw31NNFDJtL6Adgo=";
   };
 
   enableParallelBuilding = true;
@@ -87,14 +86,13 @@ in stdenv.mkDerivation rec {
     tcl
     readline
     libffi
-    protobuf
     zlib
     (python3.withPackages (pp: with pp; [
       click
     ]))
   ];
 
-  makeFlags = [ "ENABLE_PROTOBUF=1" "PREFIX=${placeholder "out"}"];
+  makeFlags = [ "PREFIX=${placeholder "out"}"];
 
   patches = [
     ./plugin-search-dirs.patch
@@ -116,9 +114,6 @@ in stdenv.mkDerivation rec {
     make config-${if stdenv.cc.isClang or false then "clang" else "gcc"}
     echo 'ABCEXTERNAL = ${abc-verifier}/bin/abc' >> Makefile.conf
 
-    # we have to do this ourselves for some reason...
-    (cd misc && ${protobuf}/bin/protoc --cpp_out ../backends/protobuf/ ./yosys.proto)
-
     if ! grep -q "ABCREV = ${shortAbcRev}" Makefile; then
       echo "ERROR: yosys isn't compatible with the provided abc (${shortAbcRev}), failing."
       exit 1
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 0c35d60f430ab..55bf787c2f416 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1565,10 +1565,10 @@ self: super: {
     (disableCabalFlag "stan") # Sorry stan is totally unmaintained and terrible to get to run. It only works on ghc 8.8 or 8.10 anyways …
   ]).overrideScope (lself: lsuper: {
     ormolu = doJailbreak lself.ormolu_0_5_0_1;
-    fourmolu = doJailbreak lself.fourmolu_0_8_2_0;
+    fourmolu = doJailbreak lself.fourmolu_0_9_0_0;
     hlint = enableCabalFlag "ghc-lib" lself.hlint_3_4_1;
     ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_4;
-    ghc-lib-parser = lself.ghc-lib-parser_9_2_4_20220729;
+    ghc-lib-parser = lself.ghc-lib-parser_9_2_5_20221107;
     # For most ghc versions, we overrideScope Cabal in the configuration-ghc-???.nix,
     # because some packages, like ormolu, need a newer Cabal version.
     # ghc-paths is special because it depends on Cabal for building
@@ -1589,12 +1589,12 @@ self: super: {
     # For "ghc-lib" flag see https://github.com/haskell/haskell-language-server/issues/3185#issuecomment-1250264515
     hlint = enableCabalFlag "ghc-lib" lself.hlint_3_4_1;
     ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_4;
-    ghc-lib-parser = lself.ghc-lib-parser_9_2_4_20220729;
+    ghc-lib-parser = lself.ghc-lib-parser_9_2_5_20221107;
   });
 
   # For -f-auto see cabal.project in haskell-language-server.
   ghc-lib-parser-ex_9_2_0_4 = disableCabalFlag "auto" (super.ghc-lib-parser-ex_9_2_0_4.override {
-    ghc-lib-parser = self.ghc-lib-parser_9_2_4_20220729;
+    ghc-lib-parser = self.ghc-lib-parser_9_2_5_20221107;
   });
 
   # 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1809
@@ -1619,6 +1619,9 @@ self: super: {
   # 2022-09-19: https://github.com/haskell/haskell-language-server/issues/3200
   hls-refactor-plugin = dontCheck super.hls-refactor-plugin;
 
+  # 2022-11-18: https://github.com/haskell/haskell-language-server/commit/c1a7527c4fb348bee6093d9794b7d3e0c8d563f2
+  hls-fourmolu-plugin = assert super.hls-fourmolu-plugin.version == "1.1.0.0"; doJailbreak super.hls-fourmolu-plugin;
+
   # 2022-10-27: implicit-hie 0.1.3.0 needs a newer version of Cabal-syntax.
   implicit-hie = super.implicit-hie.override {
     Cabal-syntax = self.Cabal-syntax_3_8_1_0;
@@ -2179,7 +2182,7 @@ self: super: {
 
   # 2022-03-21: Newest stylish-haskell needs ghc-lib-parser-9_2
   stylish-haskell = (super.stylish-haskell.override {
-    ghc-lib-parser = self.ghc-lib-parser_9_2_4_20220729;
+    ghc-lib-parser = self.ghc-lib-parser_9_2_5_20221107;
     ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_4;
   });
 
@@ -2569,11 +2572,6 @@ self: super: {
   # Missing test files https://github.com/kephas/xdg-basedir-compliant/issues/1
   xdg-basedir-compliant = dontCheck super.xdg-basedir-compliant;
 
-  # 2022-09-01:
-  # Restrictive upper bound on base.
-  # Remove once version 1.* is released
-  monad-bayes = doJailbreak super.monad-bayes;
-
   # Test failure after libxcrypt migration, reported upstrem at
   # https://github.com/phadej/crypt-sha512/issues/13
   crypt-sha512 = dontCheck super.crypt-sha512;
@@ -2648,4 +2646,12 @@ in {
   # Upstream jailbreak is unreleased: https://github.com/srid/heist/commit/988692ea850b3cbe966c7dc4dd26ba1d49647706
   heist-emanote = doJailbreak (dontCheck super.heist-emanote);
 
+  # 2022-11-15: Needs newer witch package and brick 1.3 which in turn works with text-zipper 0.12
+  # Other dependencies are resolved with doJailbreak for both swarm and brick_1_3
+  swarm = doJailbreak (super.swarm.override {
+    witch = super.witch_1_1_2_0;
+    brick = doJailbreak (dontCheck (super.brick_1_3.override {
+      text-zipper = super.text-zipper_0_12;
+    }));
+  });
 })
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
index 468e2ca08c6ae..5ad58d156300a 100644
--- a/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -304,9 +304,9 @@ self: super: ({
   ormolu_0_5_0_1 = overrideCabal (drv: {
     libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ];
   }) (disableCabalFlag "fixity-th" super.ormolu_0_5_0_1);
-  fourmolu_0_8_2_0 = overrideCabal (drv: {
+  fourmolu_0_9_0_0 = overrideCabal (drv: {
     libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ];
-  }) (disableCabalFlag "fixity-th" super.fourmolu_0_8_2_0);
+  }) (disableCabalFlag "fixity-th" super.fourmolu_0_9_0_0);
 
 } // lib.optionalAttrs pkgs.stdenv.isx86_64 {  # x86_64-darwin
 
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 587af092fc47a..9e0ee396b2c74 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -105,8 +105,8 @@ self: super: {
       self.data-default
     ] ++ drv.libraryHaskellDepends or [];
   }) super.ghc-exactprint;
-  ghc-lib = doDistribute self.ghc-lib_9_2_4_20220729;
-  ghc-lib-parser = doDistribute self.ghc-lib-parser_9_2_4_20220729;
+  ghc-lib = doDistribute self.ghc-lib_9_2_5_20221107;
+  ghc-lib-parser = doDistribute self.ghc-lib-parser_9_2_5_20221107;
   ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_2_1_1;
   hackage-security = doJailbreak super.hackage-security;
   hashable = super.hashable_1_4_1_0;
@@ -208,7 +208,7 @@ self: super: {
   jacinda = doDistribute super.jacinda;
   some = doJailbreak super.some;
 
-  fourmolu = super.fourmolu_0_8_2_0;
+  fourmolu = super.fourmolu_0_9_0_0;
 
   implicit-hie-cradle = doJailbreak super.implicit-hie-cradle;
   # 1.3 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
index 420c80404ed29..9a600b5b60281 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
@@ -95,8 +95,8 @@ in {
   dec = doJailbreak super.dec;
   ed25519 = doJailbreak super.ed25519;
   ghc-byteorder = doJailbreak super.ghc-byteorder;
-  ghc-lib = doDistribute self.ghc-lib_9_4_2_20220822;
-  ghc-lib-parser = doDistribute self.ghc-lib-parser_9_4_2_20220822;
+  ghc-lib = doDistribute self.ghc-lib_9_4_3_20221104;
+  ghc-lib-parser = doDistribute self.ghc-lib-parser_9_4_3_20221104;
   ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_4_0_0;
   hackage-security = doJailbreak super.hackage-security;
   hashable = super.hashable_1_4_1_0;
@@ -220,4 +220,12 @@ in {
     hls-retrie-plugin = null;
     hls-splice-plugin = null;
   };
+
+  # https://github.com/tweag/ormolu/issues/941
+  ormolu = overrideCabal (drv: {
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ];
+  }) (disableCabalFlag "fixity-th" super.ormolu);
+  fourmolu = overrideCabal (drv: {
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ];
+  }) (disableCabalFlag "fixity-th" super.fourmolu);
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index d061f89c27701..89a0bdf77fa17 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -445,6 +445,7 @@ broken-packages:
   - boombox
   - boots-app
   - boring-window-switcher
+  - borsh
   - bot
   - botpp
   - bottom
@@ -1354,6 +1355,7 @@ broken-packages:
   - etcd
   - ethereum-rlp
   - eurofxref
+  - evdev-streamly
   - eve
   - eved
   - event
@@ -1953,6 +1955,7 @@ broken-packages:
   - HaPy
   - haquery
   - harchive
+  - harfbuzz-pure
   - HARM
   - HarmTrace-Base
   - haroonga
@@ -2355,7 +2358,6 @@ broken-packages:
   - hquantlib
   - hquery
   - hR
-  - h-raylib
   - hreq-core
   - h-reversi
   - hricket
@@ -3297,6 +3299,7 @@ broken-packages:
   - monadacme
   - monad-atom
   - monad-atom-simple
+  - monad-bayes
   - monad-branch
   - MonadCatchIO-transformers
   - monad-choice
@@ -4955,6 +4958,7 @@ broken-packages:
   - supervisor
   - supervisors
   - supplemented
+  - supply-chain-core
   - surjective
   - sv-core
   - SVD2HS
@@ -4969,7 +4973,6 @@ broken-packages:
   - swagger
   - swagger-petstore
   - swagger-test
-  - swarm
   - swearjure
   - swf
   - swift-lda
@@ -5111,6 +5114,7 @@ broken-packages:
   - text-and-plots
   - text-ascii
   - text-builder-linear
+  - text-compression
   - text-containers
   - text-display
   - text-format-heavy
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index df8fbf82107ca..8e9df640f2837 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -108,6 +108,7 @@ extra-packages:
   - basement < 0.0.15                   # 2022-08-30: last version to support GHC < 8.10
   - bower-json == 1.0.0.1               # 2022-05-21: Needed for spago 0.20.9
   - brick == 0.70.*                     # 2022-08-13: needed by matterhorn-50200.17.0
+  - brick == 1.3                        # 2022-11-03: needed by swarm 0.2.0.0
   - brittany == 0.13.1.2                # 2022-09-20: needed for hls on ghc 8.8
   - cabal-install-parsers < 0.5         # 2022-08-31: required by haskell-ci 0.14.3
   - clay < 0.14                         # 2022-03-20: Needed for neuron 1.0.0.0
@@ -143,6 +144,7 @@ extra-packages:
   - hspec-discover < 2.8                # 2022-04-07: Needed for tasty-hspec 1.1.6
   - hspec-golden == 0.1.*               # 2022-04-07: Needed for elm-format
   - immortal == 0.2.2.1                 # required by Hasura 1.3.1, 2020-08-20
+  - language-docker == 11.0.0           # required by hadolint 2.12.0, 2022-11-16
   - language-javascript == 0.7.0.0      # required by purescript
   - lsp == 1.4.0.0                      # 2022-09-18: need for dhall-lsp-server 1.1.2
   - lsp-types == 1.4.0.1                # 2022-09-18: need for dhall-lsp-server 1.1.2
@@ -656,9 +658,12 @@ dont-distribute-packages:
   - gi-webkit
   - hsqml
   - hsqml-datamodel
+  - hsqml-datamodel-vinyl
   - hsqml-demo-manic
+  - hsqml-demo-morris
   - hsqml-demo-notes
   - hsqml-demo-samples
+  - hsqml-morris
   - hstorchat
   - jsaddle-webkitgtk
   - jsc
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index b1c215ade1c69..a359d8ef42242 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.31
+# Stackage LTS 19.32
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -462,7 +462,7 @@ default-package-overrides:
   - crypto-pubkey-types ==0.4.3
   - crypto-random ==0.0.9
   - crypto-random-api ==0.2.0
-  - cryptostore ==0.2.2.0
+  - cryptostore ==0.2.3.0
   - crypt-sha512 ==0
   - csp ==1.4.0
   - css-text ==0.1.3.0
@@ -649,7 +649,7 @@ default-package-overrides:
   - elerea ==2.9.0
   - elf ==0.31
   - eliminators ==0.8
-  - elm-bridge ==0.8.0
+  - elm-bridge ==0.8.1
   - elm-core-sources ==1.0.0
   - elm-export ==0.6.0.1
   - elynx ==0.6.1.1
@@ -682,7 +682,7 @@ default-package-overrides:
   - error-or-utils ==0.2.0
   - errors ==2.3.0
   - errors-ext ==0.4.2
-  - ersatz ==0.4.12
+  - ersatz ==0.4.13
   - esqueleto ==3.5.8.1
   - essence-of-live-coding ==0.2.6
   - essence-of-live-coding-gloss ==0.2.6
@@ -1611,7 +1611,7 @@ default-package-overrides:
   - mwc-random-monad ==0.7.3.1
   - mx-state-codes ==1.0.0.0
   - mysql ==0.2.1
-  - mysql-simple ==0.4.8.1
+  - mysql-simple ==0.4.9
   - n2o ==0.11.1
   - n2o-nitro ==0.11.2
   - nagios-check ==0.3.2
@@ -1734,7 +1734,7 @@ default-package-overrides:
   - optparse-simple ==0.1.1.4
   - optparse-text ==0.1.1.0
   - OrderedBits ==0.0.2.0
-  - ordered-containers ==0.2.2
+  - ordered-containers ==0.2.3
   - ormolu ==0.3.1.0
   - overhang ==1.0.0
   - packcheck ==0.6.0
@@ -1874,7 +1874,7 @@ default-package-overrides:
   - postgresql-binary ==0.12.5
   - postgresql-libpq ==0.9.4.3
   - postgresql-libpq-notify ==0.2.0.0
-  - postgresql-migration ==0.2.1.4
+  - postgresql-migration ==0.2.1.6
   - postgresql-orm ==0.5.1
   - postgresql-query ==3.9.0
   - postgresql-schema ==0.1.14
@@ -2077,7 +2077,7 @@ default-package-overrides:
   - riak-protobuf ==0.25.0.0
   - rio ==0.1.22.0
   - rio-orphans ==0.1.2.0
-  - rio-prettyprint ==0.1.1.0
+  - rio-prettyprint ==0.1.2.0
   - rng-utils ==0.3.1
   - roc-id ==0.1.0.0
   - rocksdb-haskell ==1.0.1
@@ -2252,7 +2252,7 @@ default-package-overrides:
   - skylighting-core ==0.12.3.1
   - slack-progressbar ==0.1.0.1
   - slave-thread ==1.1.0.1
-  - slist ==0.2.0.1
+  - slist ==0.2.1.0
   - slynx ==0.6.1.1
   - smallcheck ==1.2.1
   - smash ==0.1.3
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 2d37ceb24adc8..64bfa3ad87219 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -641,6 +641,7 @@ dont-distribute-packages:
  - apiary-websockets
  - apis
  - apotiki
+ - appendful-persistent
  - approx-rand-test
  - arbor-monad-metric-datadog
  - archive-tar-bytestring
@@ -1531,6 +1532,7 @@ dont-distribute-packages:
  - geni-util
  - geniconvert
  - geniserver
+ - genvalidity-appendful
  - genvalidity-network-uri
  - genvalidity-sydtest
  - genvalidity-sydtest-aeson
@@ -2190,9 +2192,6 @@ dont-distribute-packages:
  - hsql-odbc
  - hsql-postgresql
  - hsql-sqlite3
- - hsqml-datamodel-vinyl
- - hsqml-demo-morris
- - hsqml-morris
  - hsreadability
  - hssqlppp-th
  - hstar
@@ -3566,6 +3565,7 @@ dont-distribute-packages:
  - sql-simple-pool
  - sql-simple-postgresql
  - sql-simple-sqlite
+ - sqlite-easy
  - sqlite-simple-typed
  - sqsd-local
  - sscgi
@@ -3629,6 +3629,7 @@ dont-distribute-packages:
  - supercollider-midi
  - superconstraints
  - supernova
+ - supply-chain
  - sv
  - sv-cassava
  - sv-svfactor
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 8f9e6d0ce1855..d37fd3f7e6a56 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -989,11 +989,11 @@ self: super: builtins.intersectAttrs super {
   }) super.procex;
 
   # Test suite wants to run main executable
-  fourmolu_0_8_2_0 = overrideCabal (drv: {
+  fourmolu_0_9_0_0 = overrideCabal (drv: {
     preCheck = drv.preCheck or "" + ''
       export PATH="$PWD/dist/build/fourmolu:$PATH"
     '';
-  }) super.fourmolu_0_8_2_0;
+  }) super.fourmolu_0_9_0_0;
 
   # Test suite needs to execute 'disco' binary
   disco = overrideCabal (drv: {
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 84a307b582453..b32900944af06 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2069,15 +2069,17 @@ self: {
      }:
      mkDerivation {
        pname = "Blammo";
-       version = "1.1.0.0";
-       sha256 = "02j49dzwlx0p39njspz10vbj5qybb1l2l2lk4gdrbicp953czaa8";
+       version = "1.1.1.0";
+       sha256 = "1hqrdzj30lwwb7zis2hkfz887jh107k33mbqkj2hxvd56sc4din5";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive clock containers dlist
          envparse exceptions fast-logger http-types lens monad-logger-aeson
          mtl text time unliftio unliftio-core unordered-containers vector
          wai
        ];
-       testHaskellDepends = [ aeson base hspec markdown-unlit mtl text ];
+       testHaskellDepends = [
+         aeson base bytestring hspec markdown-unlit mtl text time
+       ];
        testToolDepends = [ markdown-unlit ];
        description = "Batteries-included Structured Logging library";
        license = lib.licenses.mit;
@@ -7994,10 +7996,8 @@ self: {
      }:
      mkDerivation {
        pname = "H";
-       version = "0.9.0.1";
-       sha256 = "0d3isp467pq5l1c95j0q6s2isywz8xamgrm9rs16i7xczkz4vh2z";
-       revision = "1";
-       editedCabalFile = "07pddiap3jzcnc09v442wq30j46nmkdibilzcv69hz5imcnmhz0h";
+       version = "1.0.0";
+       sha256 = "1xnv8a097pidh4q9ngrsha0vm9sgsbggblizcjz449iwwsb8yg9g";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -14236,6 +14236,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "MonadRandom_0_6" = callPackage
+    ({ mkDerivation, base, mtl, primitive, random, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "MonadRandom";
+       version = "0.6";
+       sha256 = "0i6h9s2iqj71q06i9al3s2akmdjjx16h015qb81nhgjwi4q8cf69";
+       libraryHaskellDepends = [
+         base mtl primitive random transformers transformers-compat
+       ];
+       description = "Random-number generation monad";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "MonadRandomLazy" = callPackage
     ({ mkDerivation, base, MonadRandom, mtl, random }:
      mkDerivation {
@@ -15328,23 +15344,23 @@ self: {
      }) {};
 
   "ONC-RPC" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, cereal, containers
-     , filepath, haskell-src-exts, network, parsec, random, time, unix
-     , vector
+    ({ mkDerivation, base, base16-bytestring, bytestring, Cabal, cereal
+     , containers, filepath, haskell-src-exts, network, parsec, random
+     , time, unix, vector
      }:
      mkDerivation {
        pname = "ONC-RPC";
-       version = "0.1";
-       sha256 = "19smd0rp0jx9i59jgjk149g4czpwjx173szhp1z9dvm5j0pdwyy5";
+       version = "0.2";
+       sha256 = "0aqhvw6kqsd3b6wlyjhrz4ijc1b4ch57398icjfy7gr1a8g3z3c0";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [
-         base bytestring Cabal cereal containers filepath haskell-src-exts
-         parsec vector
+         base base16-bytestring bytestring Cabal cereal containers filepath
+         haskell-src-exts parsec vector
        ];
        libraryHaskellDepends = [
-         base bytestring Cabal cereal containers filepath haskell-src-exts
-         network parsec random time unix vector
+         base base16-bytestring bytestring Cabal cereal containers filepath
+         haskell-src-exts network parsec random time unix vector
        ];
        executableHaskellDepends = [ base filepath ];
        description = "ONC RPC (aka Sun RPC) and XDR library";
@@ -26203,6 +26219,37 @@ self: {
        broken = true;
      }) {};
 
+  "aeson-schemas_1_4_0_0" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, criterion, deepseq
+     , filepath, first-class-families, hashable, hint, interpolate
+     , megaparsec, process, QuickCheck, raw-strings-qq, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, template-haskell
+     , temporary, text, th-orphans, th-test-utils, unordered-containers
+     }:
+     mkDerivation {
+       pname = "aeson-schemas";
+       version = "1.4.0.0";
+       sha256 = "0nch4andx0w0l7dlw64ajz503f05zancx42178dsd5fskvd75ks2";
+       libraryHaskellDepends = [
+         aeson base first-class-families hashable megaparsec
+         template-haskell text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base deepseq filepath first-class-families hashable
+         hint interpolate megaparsec process QuickCheck raw-strings-qq tasty
+         tasty-golden tasty-hunit tasty-quickcheck template-haskell
+         temporary text th-orphans th-test-utils unordered-containers
+       ];
+       benchmarkHaskellDepends = [
+         aeson base criterion deepseq first-class-families hashable
+         megaparsec template-haskell text th-test-utils unordered-containers
+       ];
+       description = "Easily consume JSON data on-demand with type-safety";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "aeson-serialize" = callPackage
     ({ mkDerivation, aeson, base, cereal, hspec, HUnit }:
      mkDerivation {
@@ -26335,7 +26382,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "aeson-typescript_0_4_1_0" = callPackage
+  "aeson-typescript_0_4_2_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, hspec, mtl, process, string-interpolate
      , template-haskell, temporary, text, th-abstraction, transformers
@@ -26343,8 +26390,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-typescript";
-       version = "0.4.1.0";
-       sha256 = "0zr6p0yyzm1mdhnyycd37alw3xg2jmx303mbd5a7251wffxc42n8";
+       version = "0.4.2.0";
+       sha256 = "00lv7mfxxnhmbxh9s1qwfnffmpy6095fh3zms68bzdkjik2hk830";
        libraryHaskellDepends = [
          aeson base containers mtl string-interpolate template-haskell text
          th-abstraction transformers unordered-containers
@@ -33234,25 +33281,27 @@ self: {
 
   "appendful-persistent" = callPackage
     ({ mkDerivation, appendful, base, containers, genvalidity
-     , genvalidity-appendful, genvalidity-hspec, genvalidity-persistent
-     , hspec, microlens, monad-logger, mtl, path, path-io, persistent
-     , persistent-sqlite, persistent-template, QuickCheck, text
-     , validity
+     , genvalidity-appendful, genvalidity-persistent
+     , genvalidity-sydtest, microlens, monad-logger, mtl, path, path-io
+     , persistent, persistent-sqlite, persistent-template, QuickCheck
+     , sydtest, sydtest-discover, text, validity
      }:
      mkDerivation {
        pname = "appendful-persistent";
-       version = "0.0.0.0";
-       sha256 = "0h0hdjkkrz8ckhs8r8n0vm983513lahi9bd89i1hyqlycrckbphl";
+       version = "0.1.0.0";
+       sha256 = "0aw463j5qyjazzj7w325fn85nyz3i7rml1c5f02ps06n9rhw0w1k";
        libraryHaskellDepends = [
          appendful base containers microlens persistent
        ];
        testHaskellDepends = [
          appendful base containers genvalidity genvalidity-appendful
-         genvalidity-hspec genvalidity-persistent hspec monad-logger mtl
-         path path-io persistent persistent-sqlite persistent-template
-         QuickCheck text validity
+         genvalidity-persistent genvalidity-sydtest monad-logger mtl path
+         path-io persistent persistent-sqlite persistent-template QuickCheck
+         sydtest text validity
        ];
+       testToolDepends = [ sydtest-discover ];
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "appendmap" = callPackage
@@ -38249,8 +38298,8 @@ self: {
      }:
      mkDerivation {
        pname = "aws";
-       version = "0.22.1";
-       sha256 = "0zz8f144rsd7bpl4xfxw3wbp9s1a300c8i6vifh2yfhi798j76n4";
+       version = "0.23";
+       sha256 = "0kfdj9hxjvziq1y74xj9mm17zcgwywpvp9c0i6gfd5malf4qxgg0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42017,6 +42066,17 @@ self: {
        broken = true;
      }) {};
 
+  "benri-hspec" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "benri-hspec";
+       version = "0.1.0.0";
+       sha256 = "0vvc7fw52c9flmdjmgrc9cca9yrl4r7yvh2l5ixc23gvvmlhdycy";
+       libraryHaskellDepends = [ base hspec ];
+       description = "Simplify tests where Either or Maybe types are returned from monadic code";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "bento" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -47810,6 +47870,30 @@ self: {
        broken = true;
      }) {};
 
+  "borsh" = callPackage
+    ({ mkDerivation, base, bytestring, containers, generics-sop, memory
+     , optics-core, profunctors, QuickCheck, quickcheck-instances
+     , sop-core, tasty, tasty-quickcheck, text, vector, wide-word
+     }:
+     mkDerivation {
+       pname = "borsh";
+       version = "0.1.0";
+       sha256 = "0nyv91sn2v8m1zlp789v85dm9n21k9gb532rkzhdds5fpvqa6w3z";
+       libraryHaskellDepends = [
+         base bytestring containers generics-sop memory sop-core text vector
+         wide-word
+       ];
+       testHaskellDepends = [
+         base bytestring containers generics-sop optics-core profunctors
+         QuickCheck quickcheck-instances sop-core tasty tasty-quickcheck
+         text
+       ];
+       description = "Implementation of BORSH serialisation";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "bot" = callPackage
     ({ mkDerivation, arrows, base, Stream }:
      mkDerivation {
@@ -48435,6 +48519,33 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "brick_1_3" = callPackage
+    ({ mkDerivation, base, bimap, bytestring, config-ini, containers
+     , contravariant, data-clist, deepseq, directory, exceptions
+     , filepath, microlens, microlens-mtl, microlens-th, mtl, QuickCheck
+     , stm, template-haskell, text, text-zipper, unix, vector, vty
+     , word-wrap
+     }:
+     mkDerivation {
+       pname = "brick";
+       version = "1.3";
+       sha256 = "0lpd6685ya0va0a6n7cw70f5b1s13y8ynzac0gkxyqb1ivzj0hsb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bimap bytestring config-ini containers contravariant
+         data-clist deepseq directory exceptions filepath microlens
+         microlens-mtl microlens-th mtl stm template-haskell text
+         text-zipper unix vector vty word-wrap
+       ];
+       testHaskellDepends = [
+         base containers microlens QuickCheck vector vty
+       ];
+       description = "A declarative terminal user interface library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "brick_1_4" = callPackage
     ({ mkDerivation, base, bimap, bytestring, config-ini, containers
      , contravariant, data-clist, deepseq, directory, exceptions
@@ -48507,8 +48618,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick-panes";
-       version = "1.0.0.1";
-       sha256 = "05f5c99b44c6aajx12hx4ayxjldbj4n0fi70i95q18qxy9aacljw";
+       version = "1.0.0.2";
+       sha256 = "1g6q9pnc0a0fnp2qaxqxp8qdriifi6w362ky36csxl633nl6gsw0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base brick containers microlens vty ];
@@ -50502,6 +50613,8 @@ self: {
        pname = "byteslice";
        version = "0.2.7.0";
        sha256 = "1mzqlyh0mswk64irz0sr8fk0v9y9ksb1k1j3g51l9vhhnz0cavhj";
+       revision = "1";
+       editedCabalFile = "1g5670xillqbfpnsxppfjkvaaff4rjlk6116pc5s1pds0zsnbyy8";
        libraryHaskellDepends = [
          base bytestring primitive primitive-addr primitive-unlifted run-st
          tuples vector
@@ -63474,6 +63587,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "commonmark-wikilink" = callPackage
+    ({ mkDerivation, aeson, base, commonmark, commonmark-pandoc
+     , megaparsec, network-uri, pandoc-types, parsec, relude, uri-encode
+     , url-slug
+     }:
+     mkDerivation {
+       pname = "commonmark-wikilink";
+       version = "0.1.0.0";
+       sha256 = "1varv4zihai08wvgpsf9pp3qaa1wniii21qhgy39cpcz9n9s2hv2";
+       libraryHaskellDepends = [
+         aeson base commonmark commonmark-pandoc megaparsec network-uri
+         pandoc-types parsec relude uri-encode url-slug
+       ];
+       description = "Obsidian-friendly commonmark wikilink parser";
+       license = lib.licenses.mit;
+     }) {};
+
   "commsec" = callPackage
     ({ mkDerivation, base, bytestring, cipher-aes128, crypto-api
      , network
@@ -68308,8 +68438,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot";
-       version = "3.11";
-       sha256 = "1g542m2bk0avnsnrzc0y1dqy5k91i0d9p5fd8ir39gpaa8024ih2";
+       version = "3.12";
+       sha256 = "0svbn9djzxqbmi62106i2692fx31vdxqjjd2y329nlq36iivvyxf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68327,8 +68457,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.11";
-       sha256 = "0xz92m8rhcb1l7533lxd5sbnisld2ss0h2sm18bxdig22v4qlzh5";
+       version = "3.12";
+       sha256 = "0xxvdl1k09il545y263k5x37gi5z1y4plm8f4yjqh3hprv23ffhp";
        libraryHaskellDepends = [
          base copilot-core directory filepath language-c99
          language-c99-simple mtl pretty
@@ -68360,8 +68490,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-core";
-       version = "3.11";
-       sha256 = "01h21a40v233qphm03fb9y18iwisnznpdvjvciy3kcc756rvranx";
+       version = "3.12";
+       sha256 = "1aw6pkxqpcwqib86yq2zvjz6jqxjc3ina0hbxsyvmgmcqs5hwybs";
        libraryHaskellDepends = [ base dlist pretty ];
        testHaskellDepends = [
          base HUnit pretty QuickCheck test-framework test-framework-hunit
@@ -68390,17 +68520,17 @@ self: {
      }) {};
 
   "copilot-interpreter" = callPackage
-    ({ mkDerivation, base, copilot-core, pretty, QuickCheck
-     , test-framework, test-framework-quickcheck2
+    ({ mkDerivation, base, copilot-core, copilot-prettyprinter, pretty
+     , QuickCheck, test-framework, test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "copilot-interpreter";
-       version = "3.11";
-       sha256 = "1w6acc3hzjyai20l52qxhnx165i8ywra8jpc2nqvyji13fq433z6";
+       version = "3.12";
+       sha256 = "100nalpd7q9z26nyk06nbl4hr8p6akm8qny988zd8znp2c3z37rr";
        libraryHaskellDepends = [ base copilot-core pretty ];
        testHaskellDepends = [
-         base copilot-core pretty QuickCheck test-framework
-         test-framework-quickcheck2
+         base copilot-core copilot-prettyprinter pretty QuickCheck
+         test-framework test-framework-quickcheck2
        ];
        description = "Interpreter for Copilot";
        license = lib.licenses.bsd3;
@@ -68408,17 +68538,17 @@ self: {
 
   "copilot-language" = callPackage
     ({ mkDerivation, array, base, containers, copilot-core
-     , copilot-interpreter, copilot-theorem, data-reify, HUnit, mtl
-     , pretty, QuickCheck, test-framework, test-framework-hunit
-     , test-framework-quickcheck2
+     , copilot-interpreter, copilot-prettyprinter, copilot-theorem
+     , data-reify, HUnit, mtl, pretty, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "copilot-language";
-       version = "3.11";
-       sha256 = "1j0bvlplm5pz2yf09b7n716mvkkc7n6gq25fkghmqb1ndaffz5m3";
+       version = "3.12";
+       sha256 = "1n2n83617wi0piw94g843zk39xvralcn7l8vdcvbx6gwqm9dn320";
        libraryHaskellDepends = [
          array base containers copilot-core copilot-interpreter
-         copilot-theorem data-reify mtl
+         copilot-prettyprinter copilot-theorem data-reify mtl
        ];
        testHaskellDepends = [
          base copilot-core copilot-interpreter HUnit pretty QuickCheck
@@ -68433,8 +68563,8 @@ self: {
     ({ mkDerivation, base, containers, copilot-language, mtl, parsec }:
      mkDerivation {
        pname = "copilot-libraries";
-       version = "3.11";
-       sha256 = "0cvz3vq6k48yq5qjhdnzn3shgjfdyrbb480721nkmqml0v64p213";
+       version = "3.12";
+       sha256 = "0xxfz2r04x0cwyidlfd792v4jspv38v8w012w0dmr0ajsw15npxb";
        libraryHaskellDepends = [
          base containers copilot-language mtl parsec
        ];
@@ -68443,6 +68573,17 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "copilot-prettyprinter" = callPackage
+    ({ mkDerivation, base, copilot-core, pretty }:
+     mkDerivation {
+       pname = "copilot-prettyprinter";
+       version = "3.12";
+       sha256 = "1sj4fjj6kwarjxn53qrfvl0ca200ra9hnh8mrisc4jr87xhdbnh0";
+       libraryHaskellDepends = [ base copilot-core pretty ];
+       description = "A prettyprinter of Copilot Specifications";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "copilot-sbv" = callPackage
     ({ mkDerivation, base, containers, copilot-core, directory
      , filepath, pretty, sbv
@@ -68462,17 +68603,18 @@ self: {
 
   "copilot-theorem" = callPackage
     ({ mkDerivation, base, bimap, bv-sized, containers, copilot-core
-     , data-default, directory, libBF, mtl, panic, parameterized-utils
-     , parsec, pretty, process, random, transformers, what4, xml
+     , copilot-prettyprinter, data-default, directory, libBF, mtl, panic
+     , parameterized-utils, parsec, pretty, process, random
+     , transformers, what4, xml
      }:
      mkDerivation {
        pname = "copilot-theorem";
-       version = "3.11";
-       sha256 = "1nrcm5vzjlqch2ff3vpjrlqjjm0j58p74md3wvpb0swr85j1calf";
+       version = "3.12";
+       sha256 = "1q0r8fa4jvqpkiy099f9fmrcm2qy0wrvxwkaycbqlhgx1zixxl3z";
        libraryHaskellDepends = [
-         base bimap bv-sized containers copilot-core data-default directory
-         libBF mtl panic parameterized-utils parsec pretty process random
-         transformers what4 xml
+         base bimap bv-sized containers copilot-core copilot-prettyprinter
+         data-default directory libBF mtl panic parameterized-utils parsec
+         pretty process random transformers what4 xml
        ];
        description = "k-induction for Copilot";
        license = lib.licenses.bsd3;
@@ -71463,8 +71605,8 @@ self: {
      }:
      mkDerivation {
        pname = "cryptostore";
-       version = "0.2.2.0";
-       sha256 = "0n70amg7y2qwfjhj4xaqjia46fbabba9l2g19ry191m7c4zp1skx";
+       version = "0.2.3.0";
+       sha256 = "1w84klg3r10vapkc8s6q21ldnp3014x9nvi5ffsmzikn7g7pw1g5";
        libraryHaskellDepends = [
          asn1-encoding asn1-types base basement bytestring cryptonite
          hourglass memory pem x509 x509-validation
@@ -74281,8 +74423,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "data-elevator";
-       version = "0.1.0.0";
-       sha256 = "1pv9z25fmqrjyh0zfbiy8wmcmhsr2r6x3hip8zgavaa7f5qb8n4y";
+       version = "0.1.0.1";
+       sha256 = "0j2adsqn3r23jjwl5p0kyf2z1wd2kibfqivdcchngsmf3yfr34sz";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Coerce between unlifted boxed and lifted types";
@@ -77907,8 +78049,8 @@ self: {
      }:
      mkDerivation {
        pname = "dep-t";
-       version = "0.6.2.0";
-       sha256 = "1wpb5p07vvny0bhapi87iwh43nykgy6b25xmsxsp403mbnv9g9ws";
+       version = "0.6.4.0";
+       sha256 = "1xrazkn8pdzkjrcia9ndxiva483w9fyclcq562assnv9j3svi145";
        libraryHaskellDepends = [ base mtl transformers unliftio-core ];
        testHaskellDepends = [
          aeson barbies base bytestring containers doctest mtl rank2classes
@@ -77955,8 +78097,8 @@ self: {
      }:
      mkDerivation {
        pname = "dep-t-dynamic";
-       version = "0.1.0.2";
-       sha256 = "0dv7ydxqgmgphcjgphrdf6jghkykvg5nnppgpgglwi2rg7yfmp7i";
+       version = "0.1.1.0";
+       sha256 = "1vh4igb25di61by6dhfnv2ans2ryk6j2sh8bp8rp8yawnwsidyx9";
        libraryHaskellDepends = [
          algebraic-graphs base dep-t hashable sop-core transformers
          unordered-containers
@@ -79251,8 +79393,8 @@ self: {
        pname = "dhall";
        version = "1.41.2";
        sha256 = "14m5rrvkid76qnvg0l14xw1mnqclhip3gjrz20g1lp4fd5p056ka";
-       revision = "2";
-       editedCabalFile = "18jh1c2zinwglih5gc8av2szicyywq5q0kl2h5200sm67nxmask9";
+       revision = "3";
+       editedCabalFile = "1j8hhg6jxzvg1lh5lad9wp54fi0znq5syfxa7rpr6sw0v6257fi1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -79432,8 +79574,8 @@ self: {
        pname = "dhall-docs";
        version = "1.0.10";
        sha256 = "1rh6nxmjin8kvbscbhbcjsgxnlkw1r19plzpps6wkx86zfjd2ms2";
-       revision = "2";
-       editedCabalFile = "1zm07bnaf6j0h5x2rlyvi4fs5d42w2v5z11qxc7gysqp1k2p99m1";
+       revision = "3";
+       editedCabalFile = "06pjafliw9a3pzw9846yb9rmsjrwrn7jhax7s2bsdasx5agdrfg5";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -80239,8 +80381,8 @@ self: {
        pname = "diagrams-contrib";
        version = "1.4.4";
        sha256 = "043jpr7lqg708lzmv6cqys7312lfdwnf8ijcnpl4jkbvcwl87c1m";
-       revision = "6";
-       editedCabalFile = "1jdya89yf8r11mr0b587w7k4f5g40709048wxpijczla169f4is8";
+       revision = "7";
+       editedCabalFile = "0jwj06c2bqawpr57y2x8hbnjlsl1nv9k7wjxhk56w240qyspmj3p";
        libraryHaskellDepends = [
          base circle-packing colour containers cubicbezier data-default
          data-default-class diagrams-core diagrams-lib diagrams-solve
@@ -83661,18 +83803,19 @@ self: {
      }) {};
 
   "dnf-repo" = callPackage
-    ({ mkDerivation, base, directory, extra, filepath, Glob, simple-cmd
-     , simple-cmd-args
+    ({ mkDerivation, base, directory, extra, filepath, Glob
+     , http-directory, simple-cmd, simple-cmd-args
      }:
      mkDerivation {
        pname = "dnf-repo";
-       version = "0.5";
-       sha256 = "1adpbm76kra59jgbrx2b1lzi06lq3znwqy8wapx0p5qsf630kilw";
+       version = "0.5.1";
+       sha256 = "158gfmdwf77yd623782pjv4702xjnqfr5dxwl4chrbanvsdfg7si";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         base directory extra filepath Glob simple-cmd simple-cmd-args
+         base directory extra filepath Glob http-directory simple-cmd
+         simple-cmd-args
        ];
        testHaskellDepends = [ base simple-cmd ];
        description = "DNF wrapper tool to control repos";
@@ -88410,8 +88553,8 @@ self: {
      }:
      mkDerivation {
        pname = "effectful";
-       version = "2.2.0.0";
-       sha256 = "0zymvpg7bbvgwpziqj3bfpxbb77d45kph0qcrdilfi9w1bbjg63r";
+       version = "2.2.1.0";
+       sha256 = "0p2kr9vcyhcpvyrqbvwmjjh4k2lsrrhhq6rdi087iyvd7vj33al2";
        libraryHaskellDepends = [
          async base bytestring directory effectful-core process stm time
          unliftio
@@ -88433,8 +88576,8 @@ self: {
      }:
      mkDerivation {
        pname = "effectful-core";
-       version = "2.2.0.0";
-       sha256 = "0i4ybsqkamsg91vp4pkr7pxpscfk5n44far9c53cbnh49nx14jqg";
+       version = "2.2.1.0";
+       sha256 = "0439fk1gr2jq663zl6p0ra9hkzmjm9ad24wnbrbz1nnl5v01ay2s";
        libraryHaskellDepends = [
          base containers exceptions monad-control primitive
          transformers-base unliftio-core
@@ -89473,8 +89616,8 @@ self: {
      }:
      mkDerivation {
        pname = "elm-bridge";
-       version = "0.8.0";
-       sha256 = "05xnbwxzxm80xccrd5g4f83gsvs7gmyg9a7a0xxyk10qx93j4rs3";
+       version = "0.8.1";
+       sha256 = "0qhxjgjmbs2gr43rzxhzr6hjygkjr7fiqka93vsfi13hpv6bw2p7";
        libraryHaskellDepends = [ aeson base template-haskell ];
        testHaskellDepends = [
          aeson base containers hspec QuickCheck text
@@ -92232,33 +92375,6 @@ self: {
      }:
      mkDerivation {
        pname = "ersatz";
-       version = "0.4.12";
-       sha256 = "0xdmp8yc22flb2p7bczb56k2z79kp4zs0y9x5430029whhz90bar";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         array attoparsec base bytestring containers data-default lens mtl
-         process semigroups streams temporary transformers
-         unordered-containers
-       ];
-       executableHaskellDepends = [
-         array base containers fail lens mtl parsec semigroups
-       ];
-       testHaskellDepends = [ array base ];
-       description = "A monad for expressing SAT or QSAT problems using observable sharing";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "ersatz_0_4_13" = callPackage
-    ({ mkDerivation, array, attoparsec, base, bytestring, containers
-     , data-default, fail, lens, mtl, parsec, process, semigroups
-     , streams, temporary, transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "ersatz";
        version = "0.4.13";
        sha256 = "0ph2ayw4vb4rrgfmm8dhwr18172igx2sczjhv2vf3b6vd5r0z1hy";
        isLibrary = true;
@@ -93190,10 +93306,8 @@ self: {
      }:
      mkDerivation {
        pname = "evdev";
-       version = "2.1.0";
-       sha256 = "1gzf9hpsi2dmcgsifq5z91ing9b5k56mm2hx9wbsa180pmq30lj3";
-       revision = "1";
-       editedCabalFile = "0c930gd1a9pwlr4p9r9d9nizr90g06l836rai5b83z5sa0s3p01n";
+       version = "2.2.0";
+       sha256 = "128i0rlxdskd63jjz887c0mjrrcm0v4xac8k2m0csglp7jap1cb7";
        libraryHaskellDepends = [
          base bytestring containers extra filepath-bytestring monad-loops
          rawfilepath time unix
@@ -93225,6 +93339,8 @@ self: {
        description = "Bridge for working with evdev and streamly";
        license = lib.licenses.bsd3;
        platforms = lib.platforms.linux;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "eve" = callPackage
@@ -96500,6 +96616,27 @@ self: {
        broken = true;
      }) {};
 
+  "faster-megaparsec" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, containers, deepseq
+     , directory, megaparsec, mtl, QuickCheck, tasty-bench, temporary
+     , text
+     }:
+     mkDerivation {
+       pname = "faster-megaparsec";
+       version = "0.1.2.0";
+       sha256 = "0xrwh9jnbjq5i7iry0w3yz60qqi5qy46qq4fq31880rjm87qc68b";
+       libraryHaskellDepends = [ base megaparsec mtl ];
+       testHaskellDepends = [
+         base containers megaparsec QuickCheck text
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring cassava containers deepseq directory megaparsec
+         QuickCheck tasty-bench temporary text
+       ];
+       description = "Speed up Megaparsec parsing when parsing succeeds";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
   "fastirc" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, bytestring-show
      , containers, monadLib, network-fancy
@@ -100216,7 +100353,7 @@ self: {
        maintainers = [ lib.maintainers.sternenseemann ];
      }) {};
 
-  "flat_0_5_2" = callPackage
+  "flat_0_6" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
      , dlist, filepath, ghc-prim, hashable, list-t, mono-traversable
      , pretty, primitive, QuickCheck, quickcheck-text, tasty
@@ -100225,8 +100362,8 @@ self: {
      }:
      mkDerivation {
        pname = "flat";
-       version = "0.5.2";
-       sha256 = "189jgx5zd1m3wgn2mal93ak1p6qp9mkaz38gkfzvgv6nwgywxxix";
+       version = "0.6";
+       sha256 = "11mg3m760vm3b33c39h5n79lpsh9s4rjlmsmn6xxlycv2ms42cm4";
        libraryHaskellDepends = [
          array base bytestring containers deepseq dlist ghc-prim hashable
          list-t mono-traversable pretty primitive text unordered-containers
@@ -102647,7 +102784,7 @@ self: {
        mainProgram = "fourmolu";
      }) {};
 
-  "fourmolu_0_8_2_0" = callPackage
+  "fourmolu_0_9_0_0" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, array, base, bytestring
      , Cabal, containers, Diff, directory, dlist, exceptions, filepath
      , ghc-lib-parser, gitrev, hspec, hspec-discover, hspec-megaparsec
@@ -102657,8 +102794,8 @@ self: {
      }:
      mkDerivation {
        pname = "fourmolu";
-       version = "0.8.2.0";
-       sha256 = "1wyfj3yfhp00pr0sjbkba8djjgp1pk8jabj48cps2nkgy5lqbyix";
+       version = "0.9.0.0";
+       sha256 = "0zq9fv5yszm7icirgwj8g4lhg21lg87fhz56sssjnfikzmkwyh1l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -104422,8 +104559,8 @@ self: {
        pname = "ftp-client";
        version = "0.5.1.4";
        sha256 = "0c2xn2q24imrfgsx4zxzi24ciwkrly6n47lc5k5406j5b4znn5lf";
-       revision = "2";
-       editedCabalFile = "128c6lalfyjqsrycgk0773fwww3a914qd4w62vv3hx4vpmy75gq4";
+       revision = "3";
+       editedCabalFile = "1a7xya5c89lj4s73bd0cgr53id53xz4fnqzrizdibb6a90ml7g9r";
        libraryHaskellDepends = [
          attoparsec base bytestring connection containers exceptions network
          transformers
@@ -108098,28 +108235,32 @@ self: {
      }) {};
 
   "genvalidity-appendful" = callPackage
-    ({ mkDerivation, appendful, base, containers, criterion
-     , genvalidity, genvalidity-containers, genvalidity-criterion
-     , genvalidity-hspec, genvalidity-hspec-aeson, genvalidity-time
-     , genvalidity-uuid, hspec, mtl, pretty-show, QuickCheck, random
-     , time, uuid
+    ({ mkDerivation, appendful, autodocodec, autodocodec-yaml, base
+     , containers, criterion, genvalidity, genvalidity-containers
+     , genvalidity-criterion, genvalidity-sydtest
+     , genvalidity-sydtest-aeson, genvalidity-time, genvalidity-uuid
+     , mtl, pretty-show, QuickCheck, random, safe-coloured-text, sydtest
+     , sydtest-discover, time, uuid
      }:
      mkDerivation {
        pname = "genvalidity-appendful";
-       version = "0.0.0.0";
-       sha256 = "0sri0xdaqxpaapjspq4gipmvh7az3dilbzd4v5ihgcsjfk7kxmaj";
+       version = "0.1.0.0";
+       sha256 = "081a9m99mr1mvq9bysn3g0fq05f6zayb4401v6709jcw7szxfbwn";
        libraryHaskellDepends = [
          appendful base containers genvalidity genvalidity-containers
          genvalidity-time QuickCheck
        ];
        testHaskellDepends = [
-         appendful base containers genvalidity-hspec genvalidity-hspec-aeson
-         genvalidity-uuid hspec mtl pretty-show QuickCheck random time uuid
+         appendful autodocodec autodocodec-yaml base containers
+         genvalidity-sydtest genvalidity-sydtest-aeson genvalidity-uuid mtl
+         pretty-show QuickCheck random safe-coloured-text sydtest time uuid
        ];
+       testToolDepends = [ sydtest-discover ];
        benchmarkHaskellDepends = [
          appendful base criterion genvalidity-criterion
        ];
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-bytestring" = callPackage
@@ -109910,12 +110051,12 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-exactprint_1_6_0" = callPackage
+  "ghc-exactprint_1_6_1" = callPackage
     ({ mkDerivation }:
      mkDerivation {
        pname = "ghc-exactprint";
-       version = "1.6.0";
-       sha256 = "1yj0vn42sysilikylabnncq2g005mnmpf8n7sn0a6lphpcv9gdcf";
+       version = "1.6.1";
+       sha256 = "1ihr3mffcm0z4plkgysiki5l225ayrxgjfjqx37ysqgp7vvnsr08";
        isLibrary = true;
        isExecutable = true;
        description = "ExactPrint for GHC";
@@ -110140,7 +110281,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib_9_2_4_20220729" = callPackage
+  "ghc-lib_9_2_5_20221107" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-lib-parser
      , ghc-prim, happy, hpc, parsec, pretty, process, rts, time
@@ -110148,8 +110289,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "9.2.4.20220729";
-       sha256 = "16whiazjynzj6qw1rmadyrxkibvmyhfzxzw42cv0ya9ijzlplhpq";
+       version = "9.2.5.20221107";
+       sha256 = "0layv7zsjlah3dmr538g34pg7cwwiawg0xcihyjxdh2x5q5qi05s";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -110162,7 +110303,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib_9_4_2_20220822" = callPackage
+  "ghc-lib_9_4_3_20221104" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-lib-parser
      , ghc-prim, happy, hpc, parsec, pretty, process, rts, stm, time
@@ -110170,8 +110311,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "9.4.2.20220822";
-       sha256 = "0ri29jyrs31ai4a1w3a9jwxc6xb1hqp64gxbwb5y7mbfyi5ray30";
+       version = "9.4.3.20221104";
+       sha256 = "0qvlf7i5lk7d4q8kaq4b783kvrswl9q5idlw3ggqhph910bgvcwn";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -110224,15 +110365,15 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser_9_2_4_20220729" = callPackage
+  "ghc-lib-parser_9_2_5_20221107" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-prim, happy, parsec
      , pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "9.2.4.20220729";
-       sha256 = "0rlm6znxrhs3s9s6c7qblvl03lscydx3dridyp985i593jyan55s";
+       version = "9.2.5.20221107";
+       sha256 = "1xh8rm5lwbh96g4v34whkcbb1yjsyvx3rwwycj30lrglhqk7f4c4";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -110245,15 +110386,15 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib-parser_9_4_2_20220822" = callPackage
+  "ghc-lib-parser_9_4_3_20221104" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-prim, happy, parsec
      , pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "9.4.2.20220822";
-       sha256 = "0irqp5v5vsmv4jmwizl0ag9v43bxfi14m2n977xzya27fdwzvc9y";
+       version = "9.4.3.20221104";
+       sha256 = "10j4vfpajr716bnipfr1rfc6r99gdfc3pjmp80lqdsfzv7xfbgj4";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -118924,8 +119065,8 @@ self: {
      }:
      mkDerivation {
        pname = "gopro-plus";
-       version = "0.6.6.0";
-       sha256 = "1pc89l3kirw7d8bzzbsivnf2mcfd15bk3kl1x2f7i0fdgk06apzy";
+       version = "0.6.6.3";
+       sha256 = "0rxkpxm7606lpiw4csixqfmd025f7rp6ivv86c6ximjlqzz1krhz";
        libraryHaskellDepends = [
          aeson base bytestring containers exceptions filepath
          generic-deriving generic-random lens lens-aeson monad-logger mtl
@@ -120232,10 +120373,8 @@ self: {
      }:
      mkDerivation {
        pname = "graphql-client";
-       version = "1.1.1";
-       sha256 = "1d00ib9c8ps8vv1qgrkjfzrjbgbsdnp1jiz7779bwm76j88vggb4";
-       revision = "5";
-       editedCabalFile = "0kbpsca7iybc1ra1fm04c8axmbd18czgn1rq93j0ak9979yw79gd";
+       version = "1.2.0";
+       sha256 = "1570gsfz3f2dlqpmmb00kr2hcjsfz9p4knfnwvjcm2lij7avcvnp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -122342,24 +122481,23 @@ self: {
      }) {};
 
   "h-raylib" = callPackage
-    ({ mkDerivation, base, c, libGL, libX11, libXcursor, libXi
+    ({ mkDerivation, base, c, libGL, libX11, libXcursor, libXext, libXi
      , libXinerama, libXrandr
      }:
      mkDerivation {
        pname = "h-raylib";
-       version = "4.5.0.2";
-       sha256 = "0yxjr2y12fj2mhis8gy3wz0115nbiznx6llxapbylcw4zx9vnb8i";
+       version = "4.5.0.3";
+       sha256 = "05k7z23fkjdwlq379vcd9ahqch52hkwlpmy774xafrbh2wrfli3d";
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [
-         c libGL libX11 libXcursor libXi libXinerama libXrandr
+         c libGL libX11 libXcursor libXext libXi libXinerama libXrandr
        ];
        description = "Raylib bindings for Haskell";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {c = null; inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
-         inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXi; 
-         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr;};
+         inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXext; 
+         inherit (pkgs.xorg) libXi; inherit (pkgs.xorg) libXinerama; 
+         inherit (pkgs.xorg) libXrandr;};
 
   "h-reversi" = callPackage
     ({ mkDerivation, base, blank-canvas, containers, hspec, QuickCheck
@@ -124182,15 +124320,16 @@ self: {
   "hadolint" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, colourista
      , containers, cryptonite, data-default, deepseq, directory
-     , email-validate, filepath, foldl, gitrev, hspec, HsYAML, HUnit
-     , ilist, language-docker, megaparsec, mtl, network-uri
-     , optparse-applicative, parallel, parsec, prettyprinter, semver
-     , ShellCheck, silently, spdx, split, text, time, timerep, void
+     , email-validate, filepath, foldl, gitrev, hspec, hspec-discover
+     , HsYAML, HUnit, ilist, language-docker, megaparsec, mtl
+     , network-uri, optparse-applicative, parallel, parsec
+     , prettyprinter, semver, ShellCheck, silently, spdx, split, text
+     , time, timerep, void
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "2.11.0";
-       sha256 = "1k5xjy064q6v306kaqkglkwzk5qwnljs7x550rxjk6012d8allcm";
+       version = "2.12.0";
+       sha256 = "190ighmy5bg21b67n8msli8im6xp1z4bh3cjadfpr76mikxk25vl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -124209,6 +124348,7 @@ self: {
          HUnit language-docker megaparsec optparse-applicative ShellCheck
          silently split text
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Dockerfile Linter JavaScript API";
        license = lib.licenses.gpl3Only;
        mainProgram = "hadolint";
@@ -125217,7 +125357,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "hal_1_0_0" = callPackage
+  "hal_1_0_0_1" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , case-insensitive, conduit, conduit-extra, containers, exceptions
      , hashable, hedgehog, hspec, hspec-hedgehog, http-client
@@ -125226,10 +125366,8 @@ self: {
      }:
      mkDerivation {
        pname = "hal";
-       version = "1.0.0";
-       sha256 = "0mfdxjlypb1sj2kcsqks6anh80xy1azcg9lvlpkgz7dgdpjfygaq";
-       revision = "2";
-       editedCabalFile = "0hc2b8bdsbd1q1j7d8l64d51q3apsmsfs1blzw0fg3cjzd4v2slc";
+       version = "1.0.0.1";
+       sha256 = "1gdd0nbwm6hma57nw1y1gd0cc6z9zhhmim6l5miql2j6dk909mdv";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive conduit
          conduit-extra containers exceptions hashable http-client http-types
@@ -127013,23 +127151,25 @@ self: {
      }) {};
 
   "harfbuzz-pure" = callPackage
-    ({ mkDerivation, base, bytestring, freetype2, harfbuzz, parallel
-     , text, utf8-light
+    ({ mkDerivation, base, bytestring, derive-storable, freetype2
+     , harfbuzz, parallel, text, utf8-light
      }:
      mkDerivation {
        pname = "harfbuzz-pure";
-       version = "0.1.0.0";
-       sha256 = "1djgq14d62zh2rhs10i5l6b78kmyvd3r6qghd36vhykza4lg2div";
+       version = "1.0.0.0";
+       sha256 = "1bydw57ab1qlicrs6cav3vk0jzqkvhnwb8c0k7ba48fmjyihi5fp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring freetype2 text utf8-light
+         base bytestring derive-storable freetype2 text utf8-light
        ];
        libraryPkgconfigDepends = [ harfbuzz ];
-       executableHaskellDepends = [ base bytestring parallel ];
+       executableHaskellDepends = [ base bytestring parallel text ];
        description = "Pure-functional Harfbuzz language bindings";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "shape-text";
+       broken = true;
      }) {inherit (pkgs) harfbuzz;};
 
   "harg" = callPackage
@@ -137078,12 +137218,27 @@ self: {
        pname = "hex-text";
        version = "0.1.0.6";
        sha256 = "1a5ccvbj7asbx92f4309qfwwih8ffnfi5kkahdn6dp444xa374r7";
+       revision = "2";
+       editedCabalFile = "00bwakiri9vbn05zi7alwhl5rdg13ls3pydcrgc0q4v8banrp868";
        libraryHaskellDepends = [ base base16-bytestring bytestring text ];
        testHaskellDepends = [ base base16-bytestring bytestring text ];
        description = "ByteString-Text hexidecimal conversions";
        license = lib.licenses.mit;
      }) {};
 
+  "hex-text_0_1_0_7" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, text }:
+     mkDerivation {
+       pname = "hex-text";
+       version = "0.1.0.7";
+       sha256 = "1xyyr6570dbp6mgarz8v56s9kg4pfzk1dc10nw0gg51j6xl1c2zn";
+       libraryHaskellDepends = [ base base16-bytestring bytestring text ];
+       testHaskellDepends = [ base base16-bytestring bytestring text ];
+       description = "ByteString-Text hexidecimal conversions";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hexchat" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -145396,10 +145551,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpc-lcov";
-       version = "1.0.1";
-       sha256 = "01ws5y2vavgm7151dcabw3jwny1prrnzn5b04q76m5gc6a36wivl";
-       revision = "4";
-       editedCabalFile = "0mds8q19pqxgrmyzgzrc01zb6wf7gx5cjl8brvw7ljkyrb2n2lya";
+       version = "1.1.0";
+       sha256 = "009z1i0ddjx7sazybirrpw99675p1fyl84ykg4dyypa7rz81vv3z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers hpc ];
@@ -161030,25 +161183,25 @@ self: {
   "inline-r" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , data-default-class, deepseq, directory, exceptions, filepath
-     , ieee754, inline-c, mtl, pretty, primitive, process
+     , heredoc, ieee754, inline-c, mtl, pretty, primitive, process
      , quickcheck-assertions, R, reflection, setenv, silently
-     , singletons, strict, tasty, tasty-expected-failure, tasty-golden
-     , tasty-hunit, tasty-quickcheck, template-haskell, temporary, text
-     , th-lift, th-orphans, transformers, unix, vector
+     , singletons, singletons-th, strict, tasty, tasty-expected-failure
+     , tasty-golden, tasty-hunit, tasty-quickcheck, template-haskell
+     , temporary, text, th-lift, th-orphans, transformers, unix, vector
      }:
      mkDerivation {
        pname = "inline-r";
-       version = "0.10.5";
-       sha256 = "1jaj3p4vj9g1pk4rfs1sywbq04w24g137yvl6g6mlsxyzd4mldwh";
+       version = "1.0.0";
+       sha256 = "0b7xsfglhb9mjac79ch07fd426bkdg22nwdg50j3jj906bi65jba";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default-class deepseq
-         exceptions inline-c mtl pretty primitive process reflection setenv
-         singletons template-haskell text th-lift th-orphans transformers
-         unix vector
+         exceptions heredoc inline-c mtl pretty primitive process reflection
+         setenv singletons singletons-th template-haskell temporary text
+         th-lift th-orphans transformers unix vector
        ];
        libraryPkgconfigDepends = [ R ];
        testHaskellDepends = [
-         base bytestring directory filepath ieee754 mtl process
+         base bytestring directory filepath heredoc ieee754 mtl process
          quickcheck-assertions silently singletons strict tasty
          tasty-expected-failure tasty-golden tasty-hunit tasty-quickcheck
          template-haskell temporary text unix vector
@@ -172990,6 +173143,29 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "language-docker_12_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default
+     , data-default-class, hspec, hspec-megaparsec, HUnit, megaparsec
+     , prettyprinter, QuickCheck, split, text, time
+     }:
+     mkDerivation {
+       pname = "language-docker";
+       version = "12.0.0";
+       sha256 = "1slrq343rcg9shmqxxy8kzk911071x31q61q75dnldnm3x27j6by";
+       libraryHaskellDepends = [
+         base bytestring containers data-default data-default-class
+         megaparsec prettyprinter split text time
+       ];
+       testHaskellDepends = [
+         base bytestring containers data-default data-default-class hspec
+         hspec-megaparsec HUnit megaparsec prettyprinter QuickCheck split
+         text time
+       ];
+       description = "Dockerfile parser, pretty-printer and embedded DSL";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "language-dockerfile" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath, free
      , Glob, hspec, HUnit, mtl, parsec, pretty, process, QuickCheck
@@ -174507,8 +174683,8 @@ self: {
      }:
      mkDerivation {
        pname = "launchdarkly-server-sdk";
-       version = "3.0.2";
-       sha256 = "1wh0an9g3hzpmdp2jayag7dknajivl07h273ar1qplrfd1js5fd6";
+       version = "3.0.3";
+       sha256 = "0j5j4x94r7ha7amv0cggs7n7n9vyx1ga5kwdr8mcddc7karz18cg";
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring bytestring clock containers
          cryptohash exceptions extra generic-lens hashtables hedis
@@ -178756,8 +178932,8 @@ self: {
     ({ mkDerivation, array, base, constraints }:
      mkDerivation {
        pname = "linear-smc";
-       version = "1.0.0";
-       sha256 = "13b1gvpnpxvkswigd9cdq289m6d68vqddnq95p0i65vr2hhard8i";
+       version = "1.0.1";
+       sha256 = "0xgrsjqfxzz1qbphv9r0kh4agg6cjz712isk5c16zywldw5hrx9q";
        libraryHaskellDepends = [ base constraints ];
        testHaskellDepends = [ array base constraints ];
        description = "Build SMC morphisms using linear types";
@@ -185997,8 +186173,8 @@ self: {
     ({ mkDerivation, base, tidal }:
      mkDerivation {
        pname = "maquinitas-tidal";
-       version = "0.2.10";
-       sha256 = "1p1n21hzmkk7czwnmyl4hm36jvn0m05wid3zdwiqhbxq3mw46sxa";
+       version = "0.2.11";
+       sha256 = "1bg0az68jzxkb54rx7zf7bbkdkp5h0aqxyy78d8caaimc5ch2mbv";
        libraryHaskellDepends = [ base tidal ];
        description = "library for MIDI control of hardware";
        license = lib.licenses.mit;
@@ -190372,8 +190548,8 @@ self: {
      }:
      mkDerivation {
        pname = "migrant-core";
-       version = "0.1.0.2";
-       sha256 = "1na0vcrmw3vy6v9qxxpprhga9ja7izwbp856pdpqiq98p4h8xmiw";
+       version = "0.1.0.3";
+       sha256 = "15g7w2bpzhpp0gann0s8sj5ha315jf3bwlhkapfbrbjmswph0fgf";
        libraryHaskellDepends = [ base text ];
        testHaskellDepends = [
          base HUnit QuickCheck tasty tasty-hunit tasty-quickcheck text
@@ -190391,8 +190567,8 @@ self: {
      }:
      mkDerivation {
        pname = "migrant-hdbc";
-       version = "0.1.0.2";
-       sha256 = "084vqb1z0ipxn07nswlcw0bbh0bfywm7hyvakb75xg8rv5kfak15";
+       version = "0.1.0.3";
+       sha256 = "181n17jxwii3c64crzrpxry9fbpmclpanf6sqbb3rc9vdpm7df0g";
        libraryHaskellDepends = [ base HDBC migrant-core text ];
        testHaskellDepends = [
          base HDBC HDBC-sqlite3 HUnit migrant-core process QuickCheck random
@@ -190410,8 +190586,8 @@ self: {
      }:
      mkDerivation {
        pname = "migrant-postgresql-simple";
-       version = "0.1.0.2";
-       sha256 = "1x1gsf0vp82n6dmyiamj1cvs9fww7j1ffh6d9qr075z5sj8zbhzx";
+       version = "0.1.0.3";
+       sha256 = "096lj9ibminyfb09ciab20q014mqhwahqh3prc530lhv5arin1ml";
        libraryHaskellDepends = [
          base migrant-core postgresql-simple text
        ];
@@ -190430,8 +190606,8 @@ self: {
      }:
      mkDerivation {
        pname = "migrant-sqlite-simple";
-       version = "0.1.0.2";
-       sha256 = "140fchiid0kjp1cdw114w497h0fsrskn9195bkjv44sdmq2l8car";
+       version = "0.1.0.3";
+       sha256 = "0gcji3kmdndn77kg74bxki32fwrvzafjv4svpxj31advprn6jdgx";
        libraryHaskellDepends = [ base migrant-core sqlite-simple text ];
        testHaskellDepends = [
          base HUnit migrant-core QuickCheck sqlite-simple tasty tasty-hunit
@@ -192408,8 +192584,8 @@ self: {
     ({ mkDerivation, base, doctest, typelits-witnesses }:
      mkDerivation {
        pname = "modular-arithmetic";
-       version = "2.0.0.1";
-       sha256 = "132cxgrw6lsdkpqi69v1f9jgl5icslwi5qclv4rc03hn0mcnl2sz";
+       version = "2.0.0.2";
+       sha256 = "1bbn3pwvpl9v7a8gkxx83w2s8mk2q9gin7yvkkr97f64rdf8lnrq";
        libraryHaskellDepends = [ base typelits-witnesses ];
        testHaskellDepends = [ base doctest typelits-witnesses ];
        description = "A type for integers modulo some constant";
@@ -192726,8 +192902,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-bayes";
-       version = "1.0.0";
-       sha256 = "1s5niiss16a5lgw2jhda3c34r1ylcjb5k14bk0n7p7l117xpxsza";
+       version = "1.1.0";
+       sha256 = "0zpgmai2wh8iqdg8ds9y1928fsila80dhpidgz4hp0jkxkk988gh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -192751,7 +192927,9 @@ self: {
        ];
        description = "A library for probabilistic programming";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "example";
+       broken = true;
      }) {};
 
   "monad-bool" = callPackage
@@ -195448,8 +195626,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.25.0";
-       sha256 = "08vi8g73c55ky6qrgkq57h1zbpkavv0ajfd16i86s6zdaxpk3fhm";
+       version = "0.26.0";
+       sha256 = "1x1hg60l7zbdb7kg2gx93zxknd9f7bbdvr6r9hcy8w86h8aplilm";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers morpheus-graphql-app
@@ -195478,8 +195656,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-app";
-       version = "0.25.0";
-       sha256 = "09skrg2pasx3hdm13sq9ajka5yh5wsc1wc8rphc9g6pa7hpnnsxh";
+       version = "0.26.0";
+       sha256 = "1dq0hnm1bsy43vbrs2rm5df5j9yy55azj420jf8fs71676xni7hn";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers hashable megaparsec
@@ -195529,8 +195707,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-client";
-       version = "0.25.0";
-       sha256 = "01brdkc2vqipif5942hrzli45agb7rk8wlhx2m1j9zhcxhsbhlwf";
+       version = "0.26.0";
+       sha256 = "0n8x888qhamlb6pkk4sa864mb3y7h261s1f83waqg0d7qdwcp5nx";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers file-embed modern-uri
@@ -195560,8 +195738,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-code-gen";
-       version = "0.25.0";
-       sha256 = "0hisqds2fn7m53hddvxw4glgwghqnx3qg0hhdc6c4zjafyfkbckf";
+       version = "0.26.0";
+       sha256 = "1mdhifqqj44dr9j2z4nh0m8n4836mv8cav9qn155b3nairfh3w3a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -195590,8 +195768,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-code-gen-utils";
-       version = "0.25.0";
-       sha256 = "1xnszpmzw0jl9dshzqs5vr9kjnm9sbi0jbgpjb44s9bd4hdgyxq5";
+       version = "0.26.0";
+       sha256 = "0nhv20vn8v73zri9ws3rwyi9xyshp6pm7v610rrwfa43wyxlpq5g";
        libraryHaskellDepends = [
          base bytestring containers morpheus-graphql-core prettyprinter
          relude template-haskell text unordered-containers
@@ -195609,8 +195787,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-core";
-       version = "0.25.0";
-       sha256 = "07ay9vzhlxgsv9lw3b22c59r00b6f0w2c90qn14a349lkjhl1wfa";
+       version = "0.26.0";
+       sha256 = "0cj78h29ryalxnx4hzpl5kywqdcvjxvxqlc6axibb1cmajn4kbqm";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers hashable megaparsec mtl relude
@@ -195638,8 +195816,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-server";
-       version = "0.25.0";
-       sha256 = "02lhrvz00l2486n7nihs8ka92hxa3idzlzx10fn142kqli65bwwi";
+       version = "0.26.0";
+       sha256 = "1aca18d60ja6awgsvwjjbikqhvspn3wans1dvh57g37ma1p1v331";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers morpheus-graphql-app
@@ -195664,8 +195842,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-subscriptions";
-       version = "0.25.0";
-       sha256 = "063gszwrjlszqg973axyig9alrix0fj7j4n2c01wdaxyjmxmzdjx";
+       version = "0.26.0";
+       sha256 = "1kmd37w3kp2mdhz64fwlyl9v7p10x3p6fbzw535kipic89y9pcx2";
        libraryHaskellDepends = [
          aeson base bytestring morpheus-graphql-app morpheus-graphql-core
          mtl relude text transformers unliftio-core unordered-containers
@@ -195692,14 +195870,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "morpheus-graphql-tests_0_25_0" = callPackage
+  "morpheus-graphql-tests_0_26_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, relude, tasty
      , tasty-hunit, text, unordered-containers
      }:
      mkDerivation {
        pname = "morpheus-graphql-tests";
-       version = "0.25.0";
-       sha256 = "1gnysygk4rvcyv85f86yhcxl0rlq5hk5avanyv428fdirsjkkn5q";
+       version = "0.26.0";
+       sha256 = "0dyza53pp9s16y8mlpm63b9ds396lqf8wsj2qaymyy18iakcfb9m";
        libraryHaskellDepends = [
          aeson base bytestring directory relude tasty tasty-hunit text
          unordered-containers
@@ -196513,8 +196691,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "mr-env";
-       version = "0.1.0.4";
-       sha256 = "05f89d0lxmi8w7hgdlqrgxh2abnjghcgjhzmra41p28h26adqnfm";
+       version = "0.1.0.5";
+       sha256 = "0hy9hqy3ijrg4l85lj6g5y48cj812y7i6nkb4q8cq2yshdchj6pi";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "A simple way to read environment variables in Haskell";
@@ -199454,26 +199632,6 @@ self: {
      }:
      mkDerivation {
        pname = "mysql-simple";
-       version = "0.4.8.1";
-       sha256 = "18w6mp7s1dmvwzqdgdzywhp5li3h4kisrhgxllwi578nddwg2yx3";
-       libraryHaskellDepends = [
-         attoparsec base base16-bytestring blaze-builder bytestring
-         containers mysql old-locale pcre-light text time vector
-       ];
-       testHaskellDepends = [
-         base blaze-builder bytestring hspec mysql text time
-       ];
-       description = "A mid-level MySQL client library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "mysql-simple_0_4_9" = callPackage
-    ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
-     , bytestring, containers, hspec, mysql, old-locale, pcre-light
-     , text, time, vector
-     }:
-     mkDerivation {
-       pname = "mysql-simple";
        version = "0.4.9";
        sha256 = "0hwv1hlr65m5l2zrrj5zmvrjz9y2814jy05l17l5jb4j4j5xw3z2";
        libraryHaskellDepends = [
@@ -199485,7 +199643,6 @@ self: {
        ];
        description = "A mid-level MySQL client library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mysql-simple-quasi" = callPackage
@@ -206574,6 +206731,46 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "nvim-hs_2_3_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, cereal-conduit, conduit
+     , containers, data-default, deepseq, foreign-store, hslogger, hspec
+     , hspec-discover, HUnit, megaparsec, messagepack, mtl, network
+     , optparse-applicative, path, path-io, prettyprinter
+     , prettyprinter-ansi-terminal, QuickCheck, resourcet, stm
+     , streaming-commons, template-haskell
+     , template-haskell-compat-v0208, text, time, time-locale-compat
+     , transformers, transformers-base, typed-process, unliftio
+     , unliftio-core, utf8-string, vector, void
+     }:
+     mkDerivation {
+       pname = "nvim-hs";
+       version = "2.3.0.0";
+       sha256 = "0jc0wzxfkah115j0y4pa4hvr4wziba4q319x5ddgb9jbc52rqh7r";
+       libraryHaskellDepends = [
+         base bytestring cereal cereal-conduit conduit containers
+         data-default deepseq foreign-store hslogger megaparsec messagepack
+         mtl network optparse-applicative path path-io prettyprinter
+         prettyprinter-ansi-terminal resourcet stm streaming-commons
+         template-haskell template-haskell-compat-v0208 text time
+         time-locale-compat transformers transformers-base typed-process
+         unliftio unliftio-core utf8-string vector void
+       ];
+       testHaskellDepends = [
+         base bytestring cereal cereal-conduit conduit containers
+         data-default foreign-store hslogger hspec hspec-discover HUnit
+         megaparsec messagepack mtl network optparse-applicative path
+         path-io prettyprinter prettyprinter-ansi-terminal QuickCheck
+         resourcet stm streaming-commons template-haskell
+         template-haskell-compat-v0208 text time time-locale-compat
+         transformers transformers-base typed-process unliftio unliftio-core
+         utf8-string vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Haskell plugin backend for neovim";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "nvim-hs-contrib" = callPackage
     ({ mkDerivation, base, bytestring, data-default, directory
      , filepath, hspec, hspec-discover, messagepack, mtl, nvim-hs
@@ -207563,8 +207760,8 @@ self: {
      }:
      mkDerivation {
        pname = "oidc-client";
-       version = "0.6.1.0";
-       sha256 = "0hhjndh4q2a9694rhylrqk2a8bzy8x9i5k4is2w7709sifydip1y";
+       version = "0.7.0.0";
+       sha256 = "0cc1psif3s6qmina5sx49clvpg54b6sapcvq4ax3r0afsp4hdl3m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -210748,23 +210945,11 @@ self: {
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "ordered-containers";
-       version = "0.2.2";
-       sha256 = "1j92dm36s0cfhc7s4k3dk36ibkvr6w1nhaq6q1m5vkbh1qrwfnn7";
-       libraryHaskellDepends = [ base containers ];
-       description = "Set- and Map-like types that remember the order elements were inserted";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ordered-containers_0_2_3" = callPackage
-    ({ mkDerivation, base, containers }:
-     mkDerivation {
-       pname = "ordered-containers";
        version = "0.2.3";
        sha256 = "18w1dasny6xffbjlvmz9861l2xbkqlg2w5qxz9kw6frgfl2rg11n";
        libraryHaskellDepends = [ base containers ];
        description = "Set- and Map-like types that remember the order elements were inserted";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ordering-util" = callPackage
@@ -212289,8 +212474,8 @@ self: {
        pname = "palette";
        version = "0.3.0.2";
        sha256 = "0820n3cj4zy9s46diln2rrs4lrxbipkhdw74p2w42gc7k1nlj54i";
-       revision = "4";
-       editedCabalFile = "07yjz9hsmfm5jh05i4nqc6iax61ssr97475l7pf3bbdp8bam39wl";
+       revision = "5";
+       editedCabalFile = "1h5vs204qkq0m9ks5sf7f300drpkinkhinvmnijq8x0mbjl8hsg4";
        libraryHaskellDepends = [
          array base colour containers MonadRandom
        ];
@@ -219169,8 +219354,8 @@ self: {
        pname = "phatsort";
        version = "0.5.0.1";
        sha256 = "14czx4s3ywfcxbw8lr60i3cdk62rcfr7m1v98mx3qm1gjinll5js";
-       revision = "1";
-       editedCabalFile = "06s8xg07za1d23wai8pb7gvbcri2vmbv0jks7as8d8mf82giqvz8";
+       revision = "2";
+       editedCabalFile = "087vq0cfrvqgqrph5kkpyrvyfc72n9jh7bip68s30w5y4v55a821";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -225972,8 +226157,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-migration";
-       version = "0.2.1.4";
-       sha256 = "0p8rggalgijw02p7m77x443md5dg1kjvvm06v980cchsj148c80s";
+       version = "0.2.1.6";
+       sha256 = "0zx6pa9s8k3gq1sgn8pj9xwdlj0wlx49d1mxgmd9s2zk9flfzybf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -230087,8 +230272,8 @@ self: {
      }:
      mkDerivation {
        pname = "project-m36";
-       version = "0.9.5";
-       sha256 = "01gd1hi7x515q1y2nz3zsx3481rb13f30i6xccyzm4fjn7p08mv7";
+       version = "0.9.6";
+       sha256 = "067z934phddvi7r4kp3b1ykfz62vak395j9wlwm36m9rn526ih8g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -230125,7 +230310,7 @@ self: {
          modern-uri MonadRandom mtl network optparse-applicative parallel
          parser-combinators prettyprinter random scientific semigroups stm
          stm-containers temporary text time transformers
-         unordered-containers uuid vector websockets winery
+         unordered-containers uuid vector wai warp websockets winery
        ];
        benchmarkHaskellDepends = [
          aeson attoparsec base base16-bytestring base64-bytestring
@@ -234372,19 +234557,19 @@ self: {
      }) {};
 
   "quickcheck-lockstep" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, mtl
-     , QuickCheck, quickcheck-dynamic, tasty, tasty-hunit
+    ({ mkDerivation, base, constraints, containers, directory, filepath
+     , mtl, QuickCheck, quickcheck-dynamic, tasty, tasty-hunit
      , tasty-quickcheck, temporary
      }:
      mkDerivation {
        pname = "quickcheck-lockstep";
-       version = "0.1.0";
-       sha256 = "0i0sqd5fky5d8imlrqazmr7cpdm71mdgv7sagyx9f1bb38p4yr9g";
+       version = "0.2.0";
+       sha256 = "1vc0ry2qp4c99pql6mgb4csffsjs9qgwciz58g68wbrjqp7rgm2w";
        libraryHaskellDepends = [
-         base containers mtl QuickCheck quickcheck-dynamic
+         base constraints containers mtl QuickCheck quickcheck-dynamic
        ];
        testHaskellDepends = [
-         base containers directory filepath mtl QuickCheck
+         base constraints containers directory filepath mtl QuickCheck
          quickcheck-dynamic tasty tasty-hunit tasty-quickcheck temporary
        ];
        description = "Library for lockstep-style testing with 'quickcheck-dynamic'";
@@ -244030,8 +244215,8 @@ self: {
      }:
      mkDerivation {
        pname = "ret";
-       version = "0.1.5.1";
-       sha256 = "0jac5hidynwqnfik8h2fkf45dm1cdf6ql6zxwyap14m7z3jbv48n";
+       version = "0.1.5.2";
+       sha256 = "1lsqjqib4nvxacsjlr4207vwwxdd86wxxjvxw4vqra6a5clj6g08";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -245323,8 +245508,8 @@ self: {
      }:
      mkDerivation {
        pname = "rio-prettyprint";
-       version = "0.1.1.0";
-       sha256 = "1h092l46pfm6k3n0vb6c67gb64kahzc97qv45rhvp0cq2y5bqykf";
+       version = "0.1.2.0";
+       sha256 = "0xql9rjd0b8vyfllb9h8j7nxbrnrvz9kkclzlb3wln10l9pi5v03";
        libraryHaskellDepends = [
          aeson annotated-wl-pprint ansi-terminal array base Cabal colour mtl
          path rio text
@@ -255515,8 +255700,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-polysemy";
-       version = "0.1.3";
-       sha256 = "132yf6fp0hl6k3859sywkfzsca8xsaqd3a4ca4vdqqjrllk0m88i";
+       version = "0.1.4";
+       sha256 = "07rma3yijvp9sd0lnnx77in0h4a8mm955v65hzh5mh0j91k406n2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -257876,6 +258061,8 @@ self: {
        pname = "shake-cabal";
        version = "0.2.2.2";
        sha256 = "1z1l4mah7nmpa6ycx9f5ynr9rn24irs1w44nq1j3ck25b408g460";
+       revision = "1";
+       editedCabalFile = "0r2b00d0r2i73sw4h5sksdck70924k0485ayai22n3ybdj8h6xwx";
        libraryHaskellDepends = [
          base binary Cabal composition-prelude deepseq directory filepath
          hashable shake
@@ -262656,22 +262843,6 @@ self: {
      }:
      mkDerivation {
        pname = "slist";
-       version = "0.2.0.1";
-       sha256 = "1b7b869gg3bkhx8ija601gwx9521mqy5sxkizc7ss73pqj4bhv60";
-       libraryHaskellDepends = [ base containers ];
-       testHaskellDepends = [
-         base doctest Glob hedgehog hspec hspec-hedgehog
-       ];
-       description = "Sized list";
-       license = lib.licenses.mpl20;
-     }) {};
-
-  "slist_0_2_1_0" = callPackage
-    ({ mkDerivation, base, containers, doctest, Glob, hedgehog, hspec
-     , hspec-hedgehog
-     }:
-     mkDerivation {
-       pname = "slist";
        version = "0.2.1.0";
        sha256 = "1j52gvq42x03y7jq0pxzab98qnrsjg6qnw4ysq6cd89cx6gg04ab";
        libraryHaskellDepends = [ base containers ];
@@ -262680,7 +262851,6 @@ self: {
        ];
        description = "Sized list";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sloane" = callPackage
@@ -266130,16 +266300,15 @@ self: {
   "souffle-haskell" = callPackage
     ({ mkDerivation, array, base, bytestring, criterion, deepseq
      , directory, filepath, hedgehog, hspec, hspec-hedgehog, mtl
-     , process, profunctors, temporary, text, text-short
-     , type-errors-pretty, vector
+     , process, profunctors, temporary, text, text-short, vector
      }:
      mkDerivation {
        pname = "souffle-haskell";
-       version = "3.5.0";
-       sha256 = "1s6398wfm6wly72b7kb7l13lskc1v4iivzz9d0vbwr8jv83grjbr";
+       version = "3.5.1";
+       sha256 = "0vxwbs0nc7rvlcfb62nx8fa5kghwgxakg4djqmsrcq2qdvxvifbh";
        libraryHaskellDepends = [
          array base bytestring deepseq directory filepath mtl process
-         profunctors temporary text text-short type-errors-pretty vector
+         profunctors temporary text text-short vector
        ];
        testHaskellDepends = [
          array base directory hedgehog hspec hspec-hedgehog profunctors
@@ -268101,6 +268270,28 @@ self: {
        broken = true;
      }) {inherit (pkgs) sqlite;};
 
+  "sqlite-easy" = callPackage
+    ({ mkDerivation, base, bytestring, direct-sqlite, hspec
+     , hspec-discover, migrant-core, resource-pool, text
+     }:
+     mkDerivation {
+       pname = "sqlite-easy";
+       version = "0.1.0.0";
+       sha256 = "0i971dvfsdxpm6chxbc53flcw8gyk45nsp8pm0q2avl8p9sab05f";
+       revision = "1";
+       editedCabalFile = "0b3sa10mk3c2gjpsgdnylb3iqpwycfnhpscqhi68s0vfvq2ph9w8";
+       libraryHaskellDepends = [
+         base bytestring direct-sqlite migrant-core resource-pool text
+       ];
+       testHaskellDepends = [
+         base direct-sqlite hspec hspec-discover text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A primitive yet easy to use sqlite library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sqlite-simple" = callPackage
     ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
      , blaze-textual, bytestring, containers, direct-sqlite, HUnit, Only
@@ -269723,8 +269914,8 @@ self: {
      }:
      mkDerivation {
        pname = "stackctl";
-       version = "1.1.0.1";
-       sha256 = "1rhwgc6qgip3p8qvyjahpk7xbv583p35rxba2x02ig7hbx3724y7";
+       version = "1.1.0.3";
+       sha256 = "0vvhvyvc6dz8l0df3f14qiy5851n2mv45gvjyz1cq94f44higfjw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -275257,6 +275448,32 @@ self: {
        broken = true;
      }) {};
 
+  "supply-chain" = callPackage
+    ({ mkDerivation, base, supply-chain-core }:
+     mkDerivation {
+       pname = "supply-chain";
+       version = "0.0.0.0";
+       sha256 = "12rdx593ivps3khxpvq0r1kc99jhzvc0qfkdxa7jdy0qn22fi3dx";
+       libraryHaskellDepends = [ base supply-chain-core ];
+       description = "Composable request-response pipelines";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "supply-chain-core" = callPackage
+    ({ mkDerivation, base, tasty, tasty-hedgehog, tasty-hunit }:
+     mkDerivation {
+       pname = "supply-chain-core";
+       version = "0.0.0.0";
+       sha256 = "17ih0pvfk0xzr30q9094gf8ry8pvnannr92hvk86z7j514nv6q9h";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base tasty tasty-hedgehog tasty-hunit ];
+       description = "Composable request-response pipelines";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "surjective" = callPackage
     ({ mkDerivation, base, lens, mtl, template-haskell }:
      mkDerivation {
@@ -275464,8 +275681,8 @@ self: {
     ({ mkDerivation, base, blaze-markup, blaze-svg, directory, text }:
      mkDerivation {
        pname = "svg-icons";
-       version = "2.3.0.0";
-       sha256 = "0ybnda16klwcajhhmzpiajdl39rkk52zb41k6b0qvd21dxmv2qji";
+       version = "2.5.0.1";
+       sha256 = "0iwrs53n6f4l2fqybamghbk5ha1w8vspiha6cnjx49hzljsjz738";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -275835,9 +276052,7 @@ self: {
        ];
        description = "2D resource gathering game with programmable robots";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "swarm";
-       broken = true;
      }) {};
 
   "swearjure" = callPackage
@@ -280327,18 +280542,19 @@ self: {
      }) {};
 
   "tasty-sugar" = callPackage
-    ({ mkDerivation, base, directory, filemanip, filepath, hedgehog
-     , kvitable, logict, microlens, mtl, optparse-applicative
-     , pretty-show, prettyprinter, raw-strings-qq, tasty, tasty-hedgehog
-     , tasty-hunit, text
+    ({ mkDerivation, base, containers, directory, filemanip, filepath
+     , hedgehog, kvitable, logict, microlens, mtl, optparse-applicative
+     , parallel, pretty-show, prettyprinter, raw-strings-qq, tasty
+     , tasty-hedgehog, tasty-hunit, text
      }:
      mkDerivation {
        pname = "tasty-sugar";
-       version = "1.3.0.2";
-       sha256 = "1hh2a3bzk0x0l4wqar7qb8kj9kwjlw1j5z7jxsia7a0p25wy8w8a";
+       version = "2.0.0.1";
+       sha256 = "0rgq5k9vv72c5826acpfscjfszvyi5bms5wjbw7bs0izimqw7b1j";
        libraryHaskellDepends = [
-         base directory filemanip filepath kvitable logict microlens mtl
-         optparse-applicative prettyprinter tasty text
+         base containers directory filemanip filepath kvitable logict
+         microlens mtl optparse-applicative parallel prettyprinter tasty
+         text
        ];
        testHaskellDepends = [
          base filepath hedgehog logict pretty-show prettyprinter
@@ -283382,12 +283598,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "text-ansi_0_2_0" = callPackage
+  "text-ansi_0_2_1" = callPackage
     ({ mkDerivation, base, text, text-builder }:
      mkDerivation {
        pname = "text-ansi";
-       version = "0.2.0";
-       sha256 = "15sraxbiwwx49nz4kxhh2b45q222pcxzgm85rmaskpi7pswwj0b2";
+       version = "0.2.1";
+       sha256 = "1s0ad0nap9z0pzwl3nm2vglkz148qv120bngwy08bqb6vbs8w90p";
        libraryHaskellDepends = [ base text text-builder ];
        description = "Text styling for ANSI terminals";
        license = lib.licenses.bsd3;
@@ -283529,14 +283745,18 @@ self: {
      }) {};
 
   "text-compression" = callPackage
-    ({ mkDerivation, base, containers, massiv, mtl }:
+    ({ mkDerivation, base, bytestring, containers, massiv, mtl, text }:
      mkDerivation {
        pname = "text-compression";
-       version = "0.1.0.4";
-       sha256 = "15bkgmlav4aybsgh7wg261fkhqg7phsc91sp1w26f9m2wb278xby";
-       libraryHaskellDepends = [ base containers massiv mtl ];
+       version = "0.1.0.7";
+       sha256 = "0sxzcdfx2v0870w130vkw6iyg5w0k8vvkz7fj3b50kr4wl9wypb4";
+       libraryHaskellDepends = [
+         base bytestring containers massiv mtl text
+       ];
        description = "A text compression library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "text-containers" = callPackage
@@ -285244,6 +285464,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "th-test-utils_1_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-golden, tasty-hunit
+     , template-haskell, th-orphans, transformers
+     }:
+     mkDerivation {
+       pname = "th-test-utils";
+       version = "1.2.0";
+       sha256 = "0p5j5mgjqwvkw0rcxlfkcflyqdz972ls70lprn38yjb32v3l8ncf";
+       libraryHaskellDepends = [
+         base template-haskell th-orphans transformers
+       ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-golden tasty-hunit template-haskell
+         th-orphans transformers
+       ];
+       description = "Utility functions for testing Template Haskell code";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "th-to-exp" = callPackage
     ({ mkDerivation, base, hspec, template-haskell }:
      mkDerivation {
@@ -286209,8 +286449,8 @@ self: {
      }:
      mkDerivation {
        pname = "tibetan-utils";
-       version = "0.1.2.0";
-       sha256 = "1bw10jahy0s9ai6ryfdx58jzjib146x7kzqkg65z71brvm0cliza";
+       version = "0.1.2.1";
+       sha256 = "1crs90dy9ljprxb19x3zj92579njjw6ki5jnnjj8afrharim9ppj";
        libraryHaskellDepends = [
          base composition-prelude megaparsec text
        ];
@@ -287248,14 +287488,27 @@ self: {
        pname = "timer-wheel";
        version = "0.3.0";
        sha256 = "16v663mcsj0h17x4jriq50dps3m3f8wqcsm19kl48vrs7f4mp07s";
-       revision = "2";
-       editedCabalFile = "0kfckbmcf9c8538i38r40agrc31mgk771hfnm54sgslnam1idiym";
+       revision = "3";
+       editedCabalFile = "1lgavl752g968ki042dxha8d28dm8zfs8mzm5zl8xk4p0wi1iwdv";
        libraryHaskellDepends = [ atomic-primops base psqueues vector ];
        testHaskellDepends = [ base ];
        description = "A timer wheel";
        license = lib.licenses.bsd3;
      }) {};
 
+  "timer-wheel_0_4_0_1" = callPackage
+    ({ mkDerivation, array, atomic-primops, base, ki, psqueues }:
+     mkDerivation {
+       pname = "timer-wheel";
+       version = "0.4.0.1";
+       sha256 = "0h8g9mgp7hcmksvgwwx2n1p9mavdsykqlavpdms7xbh0kgsb445z";
+       libraryHaskellDepends = [ array atomic-primops base ki psqueues ];
+       testHaskellDepends = [ base ];
+       description = "A timer wheel";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "timerep" = callPackage
     ({ mkDerivation, attoparsec, base, monoid-subclasses, QuickCheck
      , tasty, tasty-hunit, tasty-quickcheck, text, time
@@ -293031,8 +293284,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitchapi";
-       version = "0.0.2";
-       sha256 = "0lw7lr41lnm0jz3ig3y7y23348sp7mvpnihz90nh8j5iv74j7z12";
+       version = "0.0.3";
+       sha256 = "1wbkix4cmkzgg5mz6d721107nra00dr00nhigq55wkzhnpf39lbz";
        libraryHaskellDepends = [
          aeson base bytestring hoauth2 http-client text time timerep
          uri-bytestring
@@ -307635,8 +307888,8 @@ self: {
      }:
      mkDerivation {
        pname = "welford-online-mean-variance";
-       version = "0.1.0.1";
-       sha256 = "1zzahm5d47rx1zx70i24mj6slkddwpa6hwyplda36x9xpkpjzr51";
+       version = "0.1.0.2";
+       sha256 = "041z3vgbnv2q6a9w80rjws3y0lwb56z1ws2ic8pyx79dvjb0y55q";
        libraryHaskellDepends = [ base cereal deepseq vector ];
        testHaskellDepends = [
          base cereal deepseq QuickCheck tasty tasty-discover
@@ -312271,6 +312524,8 @@ self: {
        pname = "xmonad";
        version = "0.17.1";
        sha256 = "1apqwyqmc51gamfgsvlanzqqig9qvjss89ibcamhnha1gs1k4jl8";
+       revision = "2";
+       editedCabalFile = "1rgwrnyb7kijzl2mqm8ks2nydh37q5vkbg4400rg9n6x13w2r9b3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -312322,6 +312577,8 @@ self: {
        pname = "xmonad-contrib";
        version = "0.17.1";
        sha256 = "0lwj8xkyaw6h0rv3lz2jdqrwzz7yghfmnhpndygkb3wgyhvq6dxb";
+       revision = "1";
+       editedCabalFile = "0dc9nbn0kaw98rgpi1rq8np601zjhdr1y0ydg6yb82wwaqawql6z";
        libraryHaskellDepends = [
          base bytestring containers deepseq directory filepath mtl process
          random time unix utf8-string X11 X11-xft xmonad
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 3bea390bd4c14..78095d6d9d317 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.1189";
+  version = "1.11.1.1200";
 
   src = fetchurl {
     # https://clojure.org/releases/tools
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "sha256-wg5iN5/UT6jb68vF98mgSl21fLG9BdEcXH0EEmvnEOs=";
+    sha256 = "sha256-296cS91Ct9paZ9h5VItFKOSQPOc+4mwylia2Fl1Xthw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/luau/default.nix b/pkgs/development/interpreters/luau/default.nix
index 1202f2fa14566..03fd14d03dd6b 100644
--- a/pkgs/development/interpreters/luau/default.nix
+++ b/pkgs/development/interpreters/luau/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luau";
-  version = "0.552";
+  version = "0.554";
 
   src = fetchFromGitHub {
     owner = "Roblox";
     repo = "luau";
     rev = version;
-    sha256 = "sha256-dxxzM9VKN4yDkVpU3uQNgiFbBXBa+ALWSG/Ut6JKOEY=";
+    sha256 = "sha256-BgCeLvMwMPsXIopSO2OH50SPqwZ4Ehqmog+3DydJ3vU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/interpreters/lunatic/default.nix b/pkgs/development/interpreters/lunatic/default.nix
index c33429279779b..b056b7a133b4f 100644
--- a/pkgs/development/interpreters/lunatic/default.nix
+++ b/pkgs/development/interpreters/lunatic/default.nix
@@ -1,19 +1,17 @@
-{ lib, rustPlatform, fetchFromGitHub, cmake, stdenv, Security }:
+{ lib, rustPlatform, fetchFromGitHub, stdenv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "lunatic";
-  version = "0.10.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "lunatic-solutions";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MQ10WwvUdqU4w9uA4H1+VRM29HXVtLMwfGvbM6VqS90=";
+    sha256 = "sha256-7fxccufM5tunbutABEtsa6++OLTsS72oA219zvf+KN8=";
   };
 
-  cargoSha256 = "sha256-tNYA3YruI7VENmLbd3rmZr7BkqHp1HNOfzPTkIiixqA=";
-
-  nativeBuildInputs = [ cmake ];
+  cargoSha256 = "sha256-sHSQUvHTwyqMrGmwpblqpS4HfFiWGb+70a1uloDu2wY=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/development/interpreters/php/8.2.nix b/pkgs/development/interpreters/php/8.2.nix
new file mode 100644
index 0000000000000..72816da1d4b11
--- /dev/null
+++ b/pkgs/development/interpreters/php/8.2.nix
@@ -0,0 +1,61 @@
+{ callPackage, lib, stdenv, fetchurl, ... }@_args:
+
+let
+  hash = "sha256-sbT8sIwle3OugXxqLZO3jKXlrOQsX1iH7WRH8G+nv8Y=";
+
+  base = callPackage ./generic.nix (_args // {
+    version = "8.2.0";
+    phpAttrsOverrides = attrs: attrs // {
+      src = fetchurl {
+        url = "https://downloads.php.net/~sergey/php-8.2.0RC6.tar.xz";
+        inherit hash;
+      };
+    };
+    inherit hash;
+  });
+
+in
+base.withExtensions ({ all, ... }: with all; ([
+  bcmath
+  calendar
+  curl
+  ctype
+  dom
+  exif
+  fileinfo
+  filter
+  ftp
+  gd
+  gettext
+  gmp
+  iconv
+  imap
+  intl
+  ldap
+  mbstring
+  mysqli
+  mysqlnd
+  opcache
+  openssl
+  pcntl
+  pdo
+  pdo_mysql
+  pdo_odbc
+  pdo_pgsql
+  pdo_sqlite
+  pgsql
+  posix
+  readline
+  session
+  simplexml
+  sockets
+  soap
+  sodium
+  sysvsem
+  sqlite3
+  tokenizer
+  xmlreader
+  xmlwriter
+  zip
+  zlib
+]))
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 479557e0890f0..41e196d00fb52 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.6"; # always change at once with ./minimal.nix
+  version = "8.7"; # 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-Lv8+l7x6EM+gMg2psH8NSIZTsLW4SQMiyC84SuD6Gig=";
+    sha256 = "sha256-dqfmbUfnPrDcP8on/IGONuHUv/502iY8Xv47iAGjCgE=";
   };
 
   FONTCONFIG_FILE = fontsConf;
diff --git a/pkgs/development/interpreters/racket/minimal.nix b/pkgs/development/interpreters/racket/minimal.nix
index 4796a2591064b..9ddaa0f141439 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-AdUJ1f/YKSD/S7Qd6EwH7MavkSKVNxatQ9hKp7OTn0g=";
+    sha256 = "sha256-Iy7ZzxfNf3Q7LM9z13XsNbWvJrJeVREprrYDi7DNwOw=";
   };
 
   meta = oldAttrs.meta // {
diff --git a/pkgs/development/libraries/ada/gnatcoll/bindings.nix b/pkgs/development/libraries/ada/gnatcoll/bindings.nix
index fb2a744be7fb5..9d22551b32a96 100644
--- a/pkgs/development/libraries/ada/gnatcoll/bindings.nix
+++ b/pkgs/development/libraries/ada/gnatcoll/bindings.nix
@@ -33,19 +33,15 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnatcoll-${component}";
-  version = "22.0.0";
+  version = "23.0.0";
 
   src = fetchFromGitHub {
     owner = "AdaCore";
     repo = "gnatcoll-bindings";
     rev = "v${version}";
-    sha256 = "0wbwnd6jccwfd4jdxbnzhc0jhm8ad4phz6y9b1gk8adykkk6jcz4";
+    sha256 = "1jnnfsvll4jh6ip0fww4mh2cm61h7dzpxz3zaa2psrc1w54x34nn";
   };
 
-  patches = [
-    ./omp-setup-text-mode.patch
-  ];
-
   nativeBuildInputs = [
     gprbuild
     gnat
diff --git a/pkgs/development/libraries/ada/gnatcoll/core.nix b/pkgs/development/libraries/ada/gnatcoll/core.nix
index 690361bb11192..171e9b99eec3d 100644
--- a/pkgs/development/libraries/ada/gnatcoll/core.nix
+++ b/pkgs/development/libraries/ada/gnatcoll/core.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnatcoll-core";
-  version = "22.0.0";
+  version = "23.0.0";
 
   src = fetchFromGitHub {
     owner = "AdaCore";
     repo = "gnatcoll-core";
     rev = "v${version}";
-    sha256 = "0fn28dp6bgpp1sshr09m1x85g2gx11xqkiy410hiicfyg5hamh1l";
+    sha256 = "11q66xszqvpc9jyyzivcakik27d23yniahjdznb47wyqkxphm1dl";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/ada/gnatcoll/db.nix b/pkgs/development/libraries/ada/gnatcoll/db.nix
index 6c87d63063fac..6b4ce3677d1f3 100644
--- a/pkgs/development/libraries/ada/gnatcoll/db.nix
+++ b/pkgs/development/libraries/ada/gnatcoll/db.nix
@@ -50,23 +50,20 @@ let
 in
 
 stdenv.mkDerivation rec {
-  pname = "gnatcoll-${component}";
-  version = "22.0.0";
+  # executables don't adhere to the string gnatcoll-* scheme
+  pname =
+    if onlyExecutable
+    then builtins.replaceStrings [ "_" ] [ "-" ] component
+    else "gnatcoll-${component}";
+  version = "23.0.0";
 
   src = fetchFromGitHub {
     owner = "AdaCore";
     repo = "gnatcoll-db";
     rev = "v${version}";
-    sha256 = "1c39yg13faadg5mzpq3s83rn24npmpc4yjj0cvj7kqwpqxci4m55";
+    sha256 = "1j77ina17myahlsvbyiycgxkncd7ijc7jrvzwa4gagx0fwjk7prh";
   };
 
-  patches = lib.optionals (component == "sqlite") [
-    # fixes build of the static sqlite component
-    # when building against the system libsqlite3
-    # See https://github.com/AdaCore/gprbuild/issues/27#issuecomment-298444608
-    ./gnatcoll-db-sqlite-static-external.patch
-  ];
-
   # Link executables dynamically unless specified by the platform,
   # as we usually do in nixpkgs where possible
   postPatch = lib.optionalString (!stdenv.hostPlatform.isStatic) ''
diff --git a/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch b/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch
deleted file mode 100644
index f67837d7d5162..0000000000000
--- a/pkgs/development/libraries/ada/gnatcoll/gnatcoll-db-sqlite-static-external.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/sqlite/gnatcoll_sqlite.gpr b/sqlite/gnatcoll_sqlite.gpr
-index 5bd53d35..580739f8 100644
---- a/sqlite/gnatcoll_sqlite.gpr
-+++ b/sqlite/gnatcoll_sqlite.gpr
-@@ -69,7 +69,12 @@ project GnatColl_Sqlite is
-          for Source_Dirs use (".", "amalgamation");
-       when "external" =>
-          for Source_Dirs use (".");
--         for Library_Options use ("-lsqlite3") & Thread_Lib;
-+         case Library_Type is
-+            when "relocatable" =>
-+               for Library_Options use ("-lsqlite3") & Thread_Lib;
-+            when others =>
-+               null;
-+         end case;
-    end case;
- 
-    package Compiler is
diff --git a/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch b/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch
deleted file mode 100644
index 07953809bb202..0000000000000
--- a/pkgs/development/libraries/ada/gnatcoll/omp-setup-text-mode.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-commit 37c815ee660d1bf37256638d23b0346ad7cc19e7
-Author: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>
-Date:   Wed Jul 21 00:18:30 2021 +0200
-
-    omp/setup.py: open version_information in text mode
-    
-    Otherwise saving the config in setup_support.py will fail as a bytes
-    object is not encodeable as JSON. Luckily, version_information is text
-    anyways.
-
-diff --git a/omp/setup.py b/omp/setup.py
-index 942ab1f5..5281398e 100755
---- a/omp/setup.py
-+++ b/omp/setup.py
-@@ -25,7 +25,7 @@ class GNATCollOMP(SetupApp):
- 
-         # Set library version
-         with open(os.path.join(config.source_dir, '..',
--                               'version_information'), 'rb') as fd:
-+                               'version_information'), 'r') as fd:
-             version = fd.read().strip()
-         config.set_data('GNATCOLL_VERSION', version, sub='gprbuild')
- 
diff --git a/pkgs/development/libraries/ada/xmlada/default.nix b/pkgs/development/libraries/ada/xmlada/default.nix
index cd0aad61d403d..e80371e092e89 100644
--- a/pkgs/development/libraries/ada/xmlada/default.nix
+++ b/pkgs/development/libraries/ada/xmlada/default.nix
@@ -9,14 +9,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xmlada";
-  version = "22.0.0";
+  version = "23.0.0";
 
   src = fetchFromGitHub {
     name = "xmlada-${version}-src";
     owner = "AdaCore";
     repo = "xmlada";
     rev = "v${version}";
-    sha256 = "1pg6m0sfc1vwvd18r80jv2vwrsb2qgvyl8jmmrmpbdni0npx0kv3";
+    sha256 = "sha256-covcSwlQQjRKTv0DdMEgahXXlch0TeKnvSyOsGO9+e0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index 2e3a67af5ad89..7b3e4516bf6bb 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -24,7 +24,7 @@
 }:
 stdenv.mkDerivation rec {
   pname = "appstream-glib";
-  version = "0.8.1";
+  version = "0.8.2";
 
   outputs = [ "out" "dev" "man" "installedTests" ];
   outputBin = "dev";
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "appstream-glib";
     rev = "${lib.replaceStrings ["-"] ["_"] pname}_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "Qf0z9YTfjTiEr9OlK2BgOpVDtM2ozsiyjzO04O81zas=";
+    sha256 = "sha256-3QFiOJ38talA0GGL++n+DaA/AN7l4LOZQ7BJV6o8ius=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index a09d957989205..010f4c57aeded 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "babl";
-  version = "0.1.96";
+  version = "0.1.98";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-M2c/5Fmpg/QRJFpJ+B/X8ZZq8eqOypsJWpQMVCuFRfY=";
+    sha256 = "87Ii+E5GJzXeY/qcNlGULyt4/TFMc6IuBf98c6/SOvE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/catch2/3.nix b/pkgs/development/libraries/catch2/3.nix
index 0fdfe1cbdbb3c..bbbdb88b50ec1 100644
--- a/pkgs/development/libraries/catch2/3.nix
+++ b/pkgs/development/libraries/catch2/3.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "catch2";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "catchorg";
     repo = "Catch2";
     rev = "v${version}";
-    hash = "sha256-l/bqW32c1vAzE3jN01VystZXuH2ZiOQGgXkh/Mcq2eI=";
+    hash = "sha256-duUafkOy0pxhRj84pm7nkfhJnLIygVnFmFAJIyx0JEY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix
index 4aa3317cb2427..654c58ba694d2 100644
--- a/pkgs/development/libraries/duckdb/default.nix
+++ b/pkgs/development/libraries/duckdb/default.nix
@@ -17,15 +17,17 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qzDQFS2ogQ6hqTCddHnttWF365007Labnn4BmHB219k=";
+    sha256 = "sha256-XCEX2VCynbMUP5xsxWq8PlHnfrBfES5c2fuu2jhM+tI=";
   };
 
+  patches = [ ./version.patch ];
+
   postPatch = ''
     substituteInPlace CMakeLists.txt --subst-var-by DUCKDB_VERSION "v${version}"
   '';
@@ -42,6 +44,7 @@ stdenv.mkDerivation rec {
     "-DBUILD_TPCE=ON"
     "-DBUILD_TPCH_EXTENSION=ON"
     "-DBUILD_VISUALIZER_EXTENSION=ON"
+    "-DBUILD_INET_EXTENSION=ON"
     "-DJDBC_DRIVER=${enableFeature withJdbc}"
   ];
 
@@ -56,13 +59,20 @@ stdenv.mkDerivation rec {
   installCheckPhase =
     let
       excludes = map (pattern: "exclude:'${pattern}'") [
-        "*test_slow"
-        "Test file buffers for reading/writing to file"
-        "[test_slow]"
+        "[s3]"
+        "Test closing database during long running query"
         "test/common/test_cast_hugeint.test"
         "test/sql/copy/csv/test_csv_remote.test"
         "test/sql/copy/parquet/test_parquet_remote.test"
         "test/sql/copy/parquet/test_parquet_remote_foreign_files.test"
+        "test/sql/storage/compression/chimp/chimp_read.test"
+        "test/sql/storage/compression/chimp/chimp_read_float.test"
+        "test/sql/storage/compression/patas/patas_compression_ratio.test_coverage"
+        "test/sql/storage/compression/patas/patas_read.test"
+        # these are only hidden if no filters are passed in
+        "[!hide]"
+        # this test apparently never terminates
+        "test/sql/copy/csv/auto/test_csv_auto.test"
       ] ++ lib.optionals stdenv.isAarch64 [
         "test/sql/aggregate/aggregates/test_kurtosis.test"
         "test/sql/aggregate/aggregates/test_skewness.test"
diff --git a/pkgs/development/libraries/duckdb/version.patch b/pkgs/development/libraries/duckdb/version.patch
index 1f5491eac23cd..1f52fdb3b9351 100644
--- a/pkgs/development/libraries/duckdb/version.patch
+++ b/pkgs/development/libraries/duckdb/version.patch
@@ -1,27 +1,34 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 92c097228..5f51929f6 100644
+index 349af6acf7..7ffec0b4cb 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -157,45 +157,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
+@@ -196,52 +196,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
    set(SUN TRUE)
  endif()
  
--execute_process(
--        COMMAND git log -1 --format=%h
--        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
--        RESULT_VARIABLE GIT_RESULT
--        OUTPUT_VARIABLE GIT_COMMIT_HASH
--        OUTPUT_STRIP_TRAILING_WHITESPACE)
--execute_process(
--        COMMAND git describe --tags --abbrev=0
--        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
--        OUTPUT_VARIABLE GIT_LAST_TAG
--        OUTPUT_STRIP_TRAILING_WHITESPACE)
--execute_process(
--        COMMAND git describe --tags --long
--        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
--        OUTPUT_VARIABLE GIT_ITERATION
--        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-find_package(Git)
+-if(Git_FOUND)
+-  if (NOT DEFINED GIT_COMMIT_HASH)
+-    execute_process(
+-            COMMAND ${GIT_EXECUTABLE} log -1 --format=%h
+-            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-            RESULT_VARIABLE GIT_RESULT
+-            OUTPUT_VARIABLE GIT_COMMIT_HASH
+-            OUTPUT_STRIP_TRAILING_WHITESPACE)
+-  endif()
+-  execute_process(
+-          COMMAND ${GIT_EXECUTABLE} describe --tags --abbrev=0
+-          WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-          OUTPUT_VARIABLE GIT_LAST_TAG
+-          OUTPUT_STRIP_TRAILING_WHITESPACE)
+-  execute_process(
+-          COMMAND ${GIT_EXECUTABLE} describe --tags --long
+-          WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-          OUTPUT_VARIABLE GIT_ITERATION
+-          OUTPUT_STRIP_TRAILING_WHITESPACE)
+-else()
+-  message("Git NOT FOUND")
+-endif()
 -
 -if(GIT_RESULT EQUAL "0")
 -  string(REGEX REPLACE "v([0-9]+).[0-9]+.[0-9]+" "\\1" DUCKDB_MAJOR_VERSION "${GIT_LAST_TAG}")
@@ -47,5 +54,5 @@ index 92c097228..5f51929f6 100644
 -endif()
 +set(DUCKDB_VERSION "@DUCKDB_VERSION@")
  
- option(AMALGAMATION_BUILD
-        "Build from the amalgamation files, rather than from the normal sources."
+ message(STATUS "git hash ${GIT_COMMIT_HASH}, version ${DUCKDB_VERSION}")
+ 
diff --git a/pkgs/development/libraries/entt/default.nix b/pkgs/development/libraries/entt/default.nix
index 01d4b88246a8a..6f88610863960 100644
--- a/pkgs/development/libraries/entt/default.nix
+++ b/pkgs/development/libraries/entt/default.nix
@@ -1,23 +1,17 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "entt";
-  version = "3.10.3";
+  version = "3.11.0";
 
   src = fetchFromGitHub {
     owner = "skypjack";
     repo = "entt";
     rev = "v${version}";
-    sha256 = "sha256-pewAwvNRCBS6rm3AmHthiayGfP71lqkAO+x6rT957Xg=";
+    sha256 = "sha256-urB1oU4Riuo9+DKmMf317bqF4hTcm/zsSLn5fpZY27o=";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  # https://github.com/skypjack/entt/issues/890
-  postPatch = ''
-    substituteInPlace cmake/in/entt.pc.in \
-      --replace '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@
-  '';
-
   meta = with lib; {
     homepage = "https://github.com/skypjack/entt";
     description = "A header-only, tiny and easy to use library for game programming and much more written in modern C++";
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index 98c660dc798d5..76ed20495725c 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.freedesktop.org/wiki/Software/Farstream";
     description = "Audio/Video Communications Framework formely known as farsight";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix
index fb50c2c8fc074..61106d7f620e4 100644
--- a/pkgs/development/libraries/gegl/default.nix
+++ b/pkgs/development/libraries/gegl/default.nix
@@ -10,6 +10,7 @@
 , glib
 , babl
 , libpng
+, llvmPackages
 , cairo
 , libjpeg
 , librsvg
@@ -36,14 +37,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gegl";
-  version = "0.4.38";
+  version = "0.4.40";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   src = fetchurl {
     url = "https://download.gimp.org/pub/gegl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-5KM8hDClBC+6hDm1lTSOcYcPDZX7+IX/VT+QIMG+11A=";
+    sha256 = "zd6A0VpJ2rmmFO+Y+ATIzm5M/hM5o8JAw08/tFQ2uF0=";
   };
 
   nativeBuildInputs = [
@@ -77,7 +78,11 @@ stdenv.mkDerivation rec {
     luajit
     openexr
     suitesparse
-  ] ++ lib.optional stdenv.isDarwin OpenCL;
+  ] ++ lib.optionals stdenv.isDarwin [
+    OpenCL
+  ] ++ lib.optionals stdenv.cc.isClang [
+    llvmPackages.openmp
+  ];
 
   # for gegl-4.0.pc
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/glbinding/default.nix b/pkgs/development/libraries/glbinding/default.nix
index 1b36baa24e42b..bdb72b5d542af 100644
--- a/pkgs/development/libraries/glbinding/default.nix
+++ b/pkgs/development/libraries/glbinding/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libGLU, xlibsWrapper }:
+{ lib, stdenv, fetchFromGitHub, cmake, libGLU  }:
 
 stdenv.mkDerivation rec {
   pname = "glbinding";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ libGLU xlibsWrapper ];
+  buildInputs = [ libGLU ];
 
   meta = with lib; {
     homepage = "https://github.com/cginternals/glbinding/";
diff --git a/pkgs/development/libraries/gsl/gsl-1_16.nix b/pkgs/development/libraries/gsl/gsl-1_16.nix
deleted file mode 100644
index 2cda6c7955c23..0000000000000
--- a/pkgs/development/libraries/gsl/gsl-1_16.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ fetchurl, fetchpatch, lib, stdenv }:
-
-stdenv.mkDerivation rec {
-  pname = "gsl";
-  version = "1.16";
-
-  src = fetchurl {
-    url = "mirror://gnu/gsl/gsl-${version}.tar.gz";
-    sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k";
-  };
-
-  # do not let -march=skylake to enable FMA (https://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html)
-  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isx86_64 "-mno-fma";
-
-  patches = [
-    (fetchpatch {
-      name = "bug-39055.patch";
-      url = "https://git.savannah.gnu.org/cgit/gsl.git/patch/?id=9cc12d";
-      sha256 = "1bmrmihi28cly9g9pq54kkix2jy59y7cd7h5fw4v1c7h5rc2qvs8";
-    })
-
-    (fetchpatch {
-      name = "fix-parallel-test.patch";
-      url = "https://git.savannah.gnu.org/cgit/gsl.git/patch/?id=12654373c3b60541230921aae81f93b484ec5eaf";
-      sha256 = "1flzpbsfj7gjywv6v9qvm8wpdrkbpj7shryinfdpb40y7si9njdw";
-    })
-  ];
-
-  enableParallelBuilding = true;
-  doCheck = true;
-
-  meta = {
-    description = "The GNU Scientific Library, a large numerical library";
-    homepage = "https://www.gnu.org/software/gsl/";
-    license = lib.licenses.gpl3Plus;
-
-    longDescription = ''
-      The GNU Scientific Library (GSL) is a numerical library for C
-      and C++ programmers.  It is free software under the GNU General
-      Public License.
-
-      The library provides a wide range of mathematical routines such
-      as random number generators, special functions and least-squares
-      fitting.  There are over 1000 functions in total with an
-      extensive test suite.
-    '';
-    platforms = lib.platforms.unix;
-    # Failing "eigen" tests on aarch64.
-    badPlatforms = [ "aarch64-linux" ];
-  };
-}
diff --git a/pkgs/development/libraries/hiredis/default.nix b/pkgs/development/libraries/hiredis/default.nix
index 2c19c4ae7d011..6431dc5a1718a 100644
--- a/pkgs/development/libraries/hiredis/default.nix
+++ b/pkgs/development/libraries/hiredis/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hiredis";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "redis";
     repo = "hiredis";
     rev = "v${version}";
-    sha256 = "0a55zk3qrw9yl27i87h3brg2hskmmzbfda77dhq9a4if7y70xnfb";
+    sha256 = "sha256-0ESRnZTL6/vMpek+2sb0YQU3ajXtzj14yvjfOSQYjf4=";
   };
 
   PREFIX = "\${out}";
diff --git a/pkgs/development/libraries/imath/default.nix b/pkgs/development/libraries/imath/default.nix
index d16bfbc466b9c..1d5ec5abea6ef 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.5";
+  version = "3.1.6";
 
   src = fetchFromGitHub {
     owner = "AcademySoftwareFoundation";
     repo = "imath";
     rev = "v${version}";
-    sha256 = "sha256-pniIhpq2eXAZemq8LavXXv6+tGrBkqZ09Kjvi4aZdu8=";
+    sha256 = "sha256-FUruHlnFMSl+8r1VZnUQd2feLNGz+k0mLuyca9cgcbw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/imgui/default.nix b/pkgs/development/libraries/imgui/default.nix
index 8a5191aa5aeaf..1cc0e3b3342f2 100644
--- a/pkgs/development/libraries/imgui/default.nix
+++ b/pkgs/development/libraries/imgui/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imgui";
-  version = "1.88";
+  version = "1.89";
 
   src = fetchFromGitHub {
     owner = "ocornut";
     repo = "imgui";
     rev = "v${version}";
-    sha256 = "sha256-scG47rRE2qZuYYkgDiA3xnxn/9kQlZLRMb/4UjoknI0=";
+    sha256 = "sha256-nD65+yI0IR5XwUalAKH8q8kLhZBal0sPkJ1Wyf4UGq0=";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/libraries/java/commons/compress/default.nix b/pkgs/development/libraries/java/commons/compress/default.nix
index ba17eb1532d5a..d61938833492d 100644
--- a/pkgs/development/libraries/java/commons/compress/default.nix
+++ b/pkgs/development/libraries/java/commons/compress/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.21";
+  version = "1.22";
   pname = "commons-compress";
 
   src = fetchurl {
     url    = "mirror://apache/commons/compress/binaries/${pname}-${version}-bin.tar.gz";
-    sha256 = "sha256-sWF0K5MSOSXUxBLC9+1/RF5ST4tIzVKGnKQvStuVLvM=";
+    sha256 = "sha256-Bn3yxK1sw0U+iK6vXneVXNuRjBNzIugJAEBa+GEZSPc=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
index e4168299c1826..ac7f75f5e742f 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
@@ -4,7 +4,6 @@ mkDerivation {
   pname = "extra-cmake-modules";
 
   patches = [
-    ./nix-lib-path.patch
     # https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/268
     (fetchpatch {
       url = "https://invent.kde.org/frameworks/extra-cmake-modules/-/commit/5862a6f5b5cd7ed5a7ce2af01e44747c36318220.patch";
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
deleted file mode 100644
index b035b3664a2ae..0000000000000
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/kde-modules/KDEInstallDirsCommon.cmake b/kde-modules/KDEInstallDirsCommon.cmake
-index c1d056b..d9e19f0 100644
---- a/kde-modules/KDEInstallDirsCommon.cmake
-+++ b/kde-modules/KDEInstallDirsCommon.cmake
-@@ -15,35 +15,6 @@
- # GNUInstallDirs code deals with re-configuring, but that is dealt with
- # by the _define_* macros in this module).
- set(_LIBDIR_DEFAULT "lib")
--# Override this default 'lib' with 'lib64' if:
--#  - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
--#  - we are NOT on debian
--#  - we are NOT on flatpak
--#  - we are on a 64 bits system
--# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
--# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
--# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
--# See https://wiki.debian.org/Multiarch
--if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
--   AND NOT CMAKE_CROSSCOMPILING
--   AND NOT EXISTS "/etc/arch-release"
--   AND NOT DEFINED ENV{FLATPAK_ID})
--  if (EXISTS "/etc/debian_version") # is this a debian system ?
--    if(CMAKE_LIBRARY_ARCHITECTURE)
--      set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
--    endif()
--  else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
--    if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
--      message(AUTHOR_WARNING
--        "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
--        "Please enable at least one language before including KDEInstallDirs.")
--    else()
--      if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
--        set(_LIBDIR_DEFAULT "lib64")
--      endif()
--    endif()
--  endif()
--endif()
- 
- set(_gnu_install_dirs_vars
-     BINDIR
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 168ab3bdf63e3..ca4f9eaa782c7 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.99/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.100/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/karchive.nix b/pkgs/development/libraries/kde-frameworks/karchive.nix
index 822b28f3deea1..514b63f44b554 100644
--- a/pkgs/development/libraries/kde-frameworks/karchive.nix
+++ b/pkgs/development/libraries/kde-frameworks/karchive.nix
@@ -1,12 +1,12 @@
 {
   mkDerivation,
   extra-cmake-modules,
-  bzip2, xz, qtbase, zlib, zstd
+  bzip2, xz, qtbase, qttools, zlib, zstd
 }:
 
 mkDerivation {
   pname = "karchive";
-  nativeBuildInputs = [ extra-cmake-modules ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
   buildInputs = [ bzip2 xz zlib zstd ];
   propagatedBuildInputs = [ qtbase ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 2c7ae1f8a4b22..c6ae8457517c0 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,667 +4,667 @@
 
 {
   attica = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/attica-5.99.0.tar.xz";
-      sha256 = "1cb3cdn8v68d14l7gax4zdjk0vgqwj6gxmdnzhf9qfvik6rd6nhp";
-      name = "attica-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/attica-5.100.0.tar.xz";
+      sha256 = "1j1m7ps6rgjn8n363p0i32syxskzxjcmv255csbc1hgj6yb6cxxf";
+      name = "attica-5.100.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/baloo-5.99.0.tar.xz";
-      sha256 = "0spz0sa2lbdbm12d10bswcyawayxpykk3v8yicv5khgf6adpdyq0";
-      name = "baloo-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/baloo-5.100.0.tar.xz";
+      sha256 = "123fl16cxrascngw2cv8y78nf68bby3xa53vc0bxwm7yhixycfzr";
+      name = "baloo-5.100.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/bluez-qt-5.99.0.tar.xz";
-      sha256 = "11fg7lk1yxj5dfq7s8z17n9prvnqfvk1hsgyd1ygi1x1d2qipjg7";
-      name = "bluez-qt-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/bluez-qt-5.100.0.tar.xz";
+      sha256 = "1fn23r80jiyif9qxzs0n1jwwvdb3vnfksg54xksxa5v57wnwqjxi";
+      name = "bluez-qt-5.100.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/breeze-icons-5.99.0.tar.xz";
-      sha256 = "1z9wrmb4jj7sfnb7kqmx2ww53vily52ycm7rgycr2b1q0jf6j3s8";
-      name = "breeze-icons-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/breeze-icons-5.100.0.tar.xz";
+      sha256 = "1nya1m220q68asf2qrgxdbag1gawipy8ydlgympk1nzxa9linb6h";
+      name = "breeze-icons-5.100.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/extra-cmake-modules-5.99.0.tar.xz";
-      sha256 = "0zl0hwp077b8w338bl0210i6892kwfx2vqpn55qvb3b20sk8m081";
-      name = "extra-cmake-modules-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/extra-cmake-modules-5.100.0.tar.xz";
+      sha256 = "1if02s5kb9s4wawyz7rln2k46905ms3xrxg1kkvdii73pgkkqmil";
+      name = "extra-cmake-modules-5.100.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/frameworkintegration-5.99.0.tar.xz";
-      sha256 = "14dx60xvgcb6nf5d83cgm7y6wc8d7ngxg6aaka6k8996qfkczz9k";
-      name = "frameworkintegration-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/frameworkintegration-5.100.0.tar.xz";
+      sha256 = "18755r0l3r0q96g6zfz2g9lbf3isx865vhz4z39qblmm13jm97cm";
+      name = "frameworkintegration-5.100.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kactivities-5.99.0.tar.xz";
-      sha256 = "1l7jzj3nscfmbiq105v9gkz4sd0c92vydmhw4j9mjjjn16aqbs39";
-      name = "kactivities-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kactivities-5.100.0.tar.xz";
+      sha256 = "14m8dbpn6lxdjlv87ir5wa42s9zb1ipqkj33gbijdagsza0xvc8k";
+      name = "kactivities-5.100.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kactivities-stats-5.99.0.tar.xz";
-      sha256 = "0cr0sjk1rwv3zjvmhs2xc7wfs33r9x6padybc7v2aq751gz5cc4k";
-      name = "kactivities-stats-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kactivities-stats-5.100.0.tar.xz";
+      sha256 = "15iry0vaq76ng5wadb4pq4drkccivnjh5bncf4bnjg58wby1zi95";
+      name = "kactivities-stats-5.100.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kapidox-5.99.0.tar.xz";
-      sha256 = "15r8x5z50xwfmh507kf3hsr8yqlfank224hfhcrpyl1vi256jb8c";
-      name = "kapidox-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kapidox-5.100.0.tar.xz";
+      sha256 = "0fgn1qfqa80q4nb8wnvmprsc9gc8axs3n13fk4p01zw6bfmc1938";
+      name = "kapidox-5.100.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/karchive-5.99.0.tar.xz";
-      sha256 = "1z4msj6w7g2fy2mp07aadm9f2qv5x4mhjisv7ppl8hrhz355f6ap";
-      name = "karchive-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/karchive-5.100.0.tar.xz";
+      sha256 = "16wnzvmm74lzf9xs78d2gilipxgg29z9ja3i04li59zc1ixm1bpm";
+      name = "karchive-5.100.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kauth-5.99.0.tar.xz";
-      sha256 = "14xz3gh4p7dn0wacjyqwm5x82kiwik3nswx7icmhnq686cvp7fin";
-      name = "kauth-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kauth-5.100.0.tar.xz";
+      sha256 = "0vcgfzkgpk35x14gdprlbzpvcmbx695jqdc8ril23firzrdj1191";
+      name = "kauth-5.100.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kbookmarks-5.99.0.tar.xz";
-      sha256 = "0vb8q69ki6aqmq8hacqq886dl7kwf9zyw015vb52nsinv8zjvf5m";
-      name = "kbookmarks-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kbookmarks-5.100.0.tar.xz";
+      sha256 = "1bl4brkn3am2nchjcnvxzwswmdp1mb4y644djhvrf6hbz7pghv13";
+      name = "kbookmarks-5.100.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kcalendarcore-5.99.0.tar.xz";
-      sha256 = "11zcgjkz0q4da3vxis7b4lg07sfvk01z0dgx1ccpa15ardmc8l8r";
-      name = "kcalendarcore-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kcalendarcore-5.100.0.tar.xz";
+      sha256 = "0mxzqpwanjrczm5b99a7id7bgxgxzif6lrvmfffcrr7pz84j8330";
+      name = "kcalendarcore-5.100.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kcmutils-5.99.0.tar.xz";
-      sha256 = "1ljaz8xja2z720cr6n8g2lizsb4kw4vlakfv5xhq466am27csyvm";
-      name = "kcmutils-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kcmutils-5.100.0.tar.xz";
+      sha256 = "0kyp8p3svnyn7pkgm4ww1lc0dznrjfvhyc89bd3ahy2b3kvcjymw";
+      name = "kcmutils-5.100.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kcodecs-5.99.0.tar.xz";
-      sha256 = "0xi0hscwf4kv5cp7hxwialy2wqr6ijdh0syh9p43icwx6c8q1kb2";
-      name = "kcodecs-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kcodecs-5.100.0.tar.xz";
+      sha256 = "18qcwjhyrxh4sjakq515agpzh7mk4yr6f9fw1kwiwvc44ydbgs2m";
+      name = "kcodecs-5.100.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kcompletion-5.99.0.tar.xz";
-      sha256 = "14s7nmslli2vaiwg993rg0wvfqlnfcvxadapl41s92iisf6b4m2b";
-      name = "kcompletion-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kcompletion-5.100.0.tar.xz";
+      sha256 = "11j51byll5ffyl2swif84sq1a751991vdic49rrj0wwwmndrss33";
+      name = "kcompletion-5.100.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.99.0";
+    version = "5.100.1";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kconfig-5.99.0.tar.xz";
-      sha256 = "19jqsah1x1086sqnv5f4bicmi4c5y8idxrx96ji7jign5z9c7isx";
-      name = "kconfig-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kconfig-5.100.1.tar.xz";
+      sha256 = "1nl2ibqxgjd2zppiibnsvdpp5ci8ydz8i685gfgji3jfsx8pkfwb";
+      name = "kconfig-5.100.1.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kconfigwidgets-5.99.0.tar.xz";
-      sha256 = "07xzgmx3fvrynzhnnxrdr4536n1v10rwgk2z92q1y1q18cmbwyc5";
-      name = "kconfigwidgets-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kconfigwidgets-5.100.0.tar.xz";
+      sha256 = "14ahwlnnyf2dv3ik6cwa6n7cwxm5wqhiwws6y9w2ff1724vqg0g8";
+      name = "kconfigwidgets-5.100.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kcontacts-5.99.0.tar.xz";
-      sha256 = "1f3288xll0kd0dyq7namfykq8f9zkg5lm27lk2vfvba4v28hdax5";
-      name = "kcontacts-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kcontacts-5.100.0.tar.xz";
+      sha256 = "0jw8qvw0sv73pw3n51n9dvhlwfjbcz3cf065sqy949bm6q43l1p5";
+      name = "kcontacts-5.100.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kcoreaddons-5.99.0.tar.xz";
-      sha256 = "06qkyk3zjkpjd7zynx5krh6k2qx8nxmggyhkvd4dgcbi74ys6xjs";
-      name = "kcoreaddons-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kcoreaddons-5.100.0.tar.xz";
+      sha256 = "140pbjg38d9fcddi2ifq6y19aqbf6njs4dvqy0ad56widww6ivfz";
+      name = "kcoreaddons-5.100.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kcrash-5.99.0.tar.xz";
-      sha256 = "1wn3cwdhipw2ry1qf58cf24vq23jg8rnki33vc6mwbi54qkc95p8";
-      name = "kcrash-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kcrash-5.100.0.tar.xz";
+      sha256 = "0a572bc4c6ngllwfkg58sqjsjddn0a8x5mn0isrq0fdynbfyjxhs";
+      name = "kcrash-5.100.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kdav-5.99.0.tar.xz";
-      sha256 = "1r36nlybwwn5pk6q9hl4zkyhp3vyrqdp75g4fd4jj1a2y88yiwzd";
-      name = "kdav-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kdav-5.100.0.tar.xz";
+      sha256 = "094fwz3iphz56nbjjyw62n3lxw1mfp10jkcn95qx8n1m20f4bnbf";
+      name = "kdav-5.100.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kdbusaddons-5.99.0.tar.xz";
-      sha256 = "1n9j9gf4br0vykbwf1n0zcvwfz727d71ny92ka0g97bid7nwrix0";
-      name = "kdbusaddons-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kdbusaddons-5.100.0.tar.xz";
+      sha256 = "1cr40a96l5adr3xascw9ivlgy8h3nmh7y9fcnw47xmdclcvm2xg0";
+      name = "kdbusaddons-5.100.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kdeclarative-5.99.0.tar.xz";
-      sha256 = "191s25l07z0blqcap23l6gbzvxa6pcqhsfaqfkf4f3vap48wr2hn";
-      name = "kdeclarative-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kdeclarative-5.100.0.tar.xz";
+      sha256 = "05s0p35jph316mnzc0ldmxjccda8fwpas9libza14gsv6rrcndbn";
+      name = "kdeclarative-5.100.0.tar.xz";
     };
   };
   kded = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kded-5.99.0.tar.xz";
-      sha256 = "1kbh921p3n9zszbvsrnrmi32v567s7dqp7dfm13kykmz9lsxih82";
-      name = "kded-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kded-5.100.0.tar.xz";
+      sha256 = "1klv9ml1ckadf5dp1gx25g33pcd66xlpjb8njr6ygycyqxgiln6j";
+      name = "kded-5.100.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/portingAids/kdelibs4support-5.99.0.tar.xz";
-      sha256 = "074d7qaai4xj2w1534862a13flqfchdr2c6651gdgrw4275cfd85";
-      name = "kdelibs4support-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/portingAids/kdelibs4support-5.100.0.tar.xz";
+      sha256 = "1ckkwfzg4ga79bgd5g22cdals720b55nc40n3grjhzw1ksy05ac2";
+      name = "kdelibs4support-5.100.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/portingAids/kdesignerplugin-5.99.0.tar.xz";
-      sha256 = "0wvx95nx11b25ib1yqmagvzp2ky7yqdrwaxm03cvhb0y92ymmrmf";
-      name = "kdesignerplugin-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/portingAids/kdesignerplugin-5.100.0.tar.xz";
+      sha256 = "1hhddi8zmjbgvy51gwrrjrawdfp9g7n2k14rnw135q423nyfaq8c";
+      name = "kdesignerplugin-5.100.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kdesu-5.99.0.tar.xz";
-      sha256 = "0chwfman5ka1fgbv5ckr21z93xmbhccv527y43mqa9rwa3gdk4xk";
-      name = "kdesu-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kdesu-5.100.0.tar.xz";
+      sha256 = "1cgn1wznk4i8la5n03qajc38pggm162ybfdb2ya109zq7nnqkn1g";
+      name = "kdesu-5.100.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/portingAids/kdewebkit-5.99.0.tar.xz";
-      sha256 = "1m1x63w6qb4dbr5p9vzg0v5hc0bxk86h2qswm52nx8wagapi1qhp";
-      name = "kdewebkit-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/portingAids/kdewebkit-5.100.0.tar.xz";
+      sha256 = "10gl34a9zb5nad21nwqvj1fipxxckfdy7myr8bxlqkjqll0jiv15";
+      name = "kdewebkit-5.100.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kdnssd-5.99.0.tar.xz";
-      sha256 = "071ab2gx19vrl5jcm14w4y0rk431wmmmkzcs8mkcr8rwpdclyca7";
-      name = "kdnssd-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kdnssd-5.100.0.tar.xz";
+      sha256 = "1fkjhkv7qgjr3lgfwvvhqbrigca8hw9fdw6531xqr97slwxiqxb3";
+      name = "kdnssd-5.100.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kdoctools-5.99.0.tar.xz";
-      sha256 = "19p3lkis641cdbbfpld122n242l3980j5x38mwd6slpl2alyz5f6";
-      name = "kdoctools-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kdoctools-5.100.0.tar.xz";
+      sha256 = "0ar7lw6s7qzswf1k80xl9px5g9agl5zi7daaswppqjrpn7pwksa0";
+      name = "kdoctools-5.100.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kemoticons-5.99.0.tar.xz";
-      sha256 = "1fihsp4w9icc47fswnikmdpdwrznrv2zdddc59akd5n308224sys";
-      name = "kemoticons-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kemoticons-5.100.0.tar.xz";
+      sha256 = "0qs5w5wc1ljmhvly08k0569kyy6c51ldi3080ka9hpasdxlpy4y4";
+      name = "kemoticons-5.100.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kfilemetadata-5.99.0.tar.xz";
-      sha256 = "15ni3ns6c85a7121nph9c48f9ddna5bfj1134wrn76jwa2scs7vs";
-      name = "kfilemetadata-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kfilemetadata-5.100.0.tar.xz";
+      sha256 = "0cbiaq9ivdf7pjjh47m65zxrzr1r776ycjzzkkwfc7n27lb0rckg";
+      name = "kfilemetadata-5.100.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kglobalaccel-5.99.0.tar.xz";
-      sha256 = "0c4wi6kpra34wwvsj12f1bis8jkv4c57jgp9b5k72h04hpnps7a7";
-      name = "kglobalaccel-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kglobalaccel-5.100.0.tar.xz";
+      sha256 = "1wm2j8hsgwfp8zv4mi0l9rg3qlnk74l1cnkgid3sd02c7vrlx6y3";
+      name = "kglobalaccel-5.100.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kguiaddons-5.99.0.tar.xz";
-      sha256 = "0kqvf7h98d0bsgqmcfwasi7ik3025g0bi3brx47wrkd3nxjym1zf";
-      name = "kguiaddons-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kguiaddons-5.100.0.tar.xz";
+      sha256 = "00ix7gfp5c4ph4q2f3cig1bxjvc8pnwg8psy5fxix24xxm1n7qaw";
+      name = "kguiaddons-5.100.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kholidays-5.99.0.tar.xz";
-      sha256 = "1k165ksmznhx2d5ycmw1lwly7qkmj50113w1qrfqvg16jl6il4zq";
-      name = "kholidays-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kholidays-5.100.0.tar.xz";
+      sha256 = "076ax7p579180vr66dqjzv43ny1cz56s4w61g6d5s6v18w9n7i2g";
+      name = "kholidays-5.100.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/portingAids/khtml-5.99.0.tar.xz";
-      sha256 = "0vwkii8x6l3sw0nkxvv960frz9qgjxpkxg6cabxvp3v5gcb3fbzr";
-      name = "khtml-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/portingAids/khtml-5.100.0.tar.xz";
+      sha256 = "0h8wb1n0yfc2729rpnx3n52ky3zprfkbgk2rr85k3dax79pcv9a0";
+      name = "khtml-5.100.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/ki18n-5.99.0.tar.xz";
-      sha256 = "1bgq7saadrh9vvx15hyf03cir1nywad63vlg07qpc8ra01ddsi0m";
-      name = "ki18n-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/ki18n-5.100.0.tar.xz";
+      sha256 = "008gndw3cp45hkm7klfipm54k1kdglj8sb2hkkvfz4b5p3bg2qyy";
+      name = "ki18n-5.100.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kiconthemes-5.99.0.tar.xz";
-      sha256 = "019s0wr00s6c8p70jzi3vr2m5wkc3rsnlc44ldn16z4r4x9wl9m4";
-      name = "kiconthemes-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kiconthemes-5.100.0.tar.xz";
+      sha256 = "1fahg11v02757iiwc4nkwnnhf9d7jfa6ryx5l5i2sjg7c4xwqblh";
+      name = "kiconthemes-5.100.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kidletime-5.99.0.tar.xz";
-      sha256 = "1wfwhfzhpsy1m5zm2m99dsg0g9hjns33m4v4714sfpyngzqwlggg";
-      name = "kidletime-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kidletime-5.100.0.tar.xz";
+      sha256 = "1i3p3cfvcl3li45nn63r6vwi7sk3rbkd9crd5z686gm6z0nidw5l";
+      name = "kidletime-5.100.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kimageformats-5.99.0.tar.xz";
-      sha256 = "1vmi3mi7gg81f556dm8gk7i3k9izr008swpdpyqd3n03zva3drh6";
-      name = "kimageformats-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kimageformats-5.100.0.tar.xz";
+      sha256 = "09w8fg321lzmavsid0a4yf6hwa9clhihfbvpkdl0kb60alyjbdfb";
+      name = "kimageformats-5.100.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kinit-5.99.0.tar.xz";
-      sha256 = "0xq1sqyni7xzcnjiaszaxwhv7q2p4zjp6nixkam356iswkbss0i3";
-      name = "kinit-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kinit-5.100.0.tar.xz";
+      sha256 = "1kpjbd20dv2zazcn275p1fwgvnq1pjpkkf0mp4bwk95vrvcjs4c9";
+      name = "kinit-5.100.0.tar.xz";
     };
   };
   kio = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kio-5.99.0.tar.xz";
-      sha256 = "0z587zrmdxg2dld6x6qzkpnqbcar7swz76ihhclwhcsjp94vzlpg";
-      name = "kio-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kio-5.100.0.tar.xz";
+      sha256 = "1dkwdmjc41zq1j0kl38zzag0hckk6fgy5prg5kcid05k5v9qi1q8";
+      name = "kio-5.100.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kirigami2-5.99.0.tar.xz";
-      sha256 = "1qh3vpac07582d944zgh3sxsb5i4kn2csa5dj6m52697jfpyp25r";
-      name = "kirigami2-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kirigami2-5.100.0.tar.xz";
+      sha256 = "1pq16p69k7g963ah5ilr8mjplzrgarqky7i6rxgm5knfqpq0l26n";
+      name = "kirigami2-5.100.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kitemmodels-5.99.0.tar.xz";
-      sha256 = "1z52dkrj5pg0c3avm8jph54j4vjfswsnkcmbdnbg6337qs6rvkip";
-      name = "kitemmodels-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kitemmodels-5.100.0.tar.xz";
+      sha256 = "1n1iis3xjmvlfgrwv61cpif63pk2wca8g168iscijvpkhihn49x3";
+      name = "kitemmodels-5.100.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kitemviews-5.99.0.tar.xz";
-      sha256 = "13gr90sjbpqkzg370d82ji03wn9d3zcnvlhmpkvclbql6knx0q8i";
-      name = "kitemviews-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kitemviews-5.100.0.tar.xz";
+      sha256 = "06pzlcrjbfahhp8diirmvf2xl7a2bj4x34fp1yax9pjnx44i2vcw";
+      name = "kitemviews-5.100.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kjobwidgets-5.99.0.tar.xz";
-      sha256 = "1ywqpcw925wl1lcrqpkvdhwj5s4m3n02mghx8pir7w42n36ykxq6";
-      name = "kjobwidgets-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kjobwidgets-5.100.0.tar.xz";
+      sha256 = "00rilxsbbhl52j9bfzk60hlqrka9hahli0p6fmd8m6m452czjqnk";
+      name = "kjobwidgets-5.100.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/portingAids/kjs-5.99.0.tar.xz";
-      sha256 = "0jsy13gjhyl0yhdx7dxxapaqigr9a06bz555pngnfzf6lia15wa0";
-      name = "kjs-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/portingAids/kjs-5.100.0.tar.xz";
+      sha256 = "1bn23bq1g1774dvak5mq9xmndxjkwmsiyjkxc93byfwi52xrswk1";
+      name = "kjs-5.100.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/portingAids/kjsembed-5.99.0.tar.xz";
-      sha256 = "0w104v96416bcf18aimxqykmi7d40l2x53g8d91zjclpylxx12gw";
-      name = "kjsembed-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/portingAids/kjsembed-5.100.0.tar.xz";
+      sha256 = "1w2cfckd6r68jmvqcfiw326s3zl4l2j3pz19p12v01vlrh4lr1m7";
+      name = "kjsembed-5.100.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/portingAids/kmediaplayer-5.99.0.tar.xz";
-      sha256 = "1f2cn1gakjh7m52gsm4294ccn35iwwa35diyd6r8k6fvyf0bn3ny";
-      name = "kmediaplayer-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/portingAids/kmediaplayer-5.100.0.tar.xz";
+      sha256 = "002ahd1d39m22cy5xd2vvps4ib4cncfwzmqdnki9sh76gsmlpb52";
+      name = "kmediaplayer-5.100.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/knewstuff-5.99.0.tar.xz";
-      sha256 = "0bd7shvl6m4gry8cql2p64iba8iim12rsj5shaqp31n512mbc928";
-      name = "knewstuff-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/knewstuff-5.100.0.tar.xz";
+      sha256 = "19fz50jqrs467qm5qvc6iadw7kb1za6ncc2vnhax6j59h5xn2bn3";
+      name = "knewstuff-5.100.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/knotifications-5.99.0.tar.xz";
-      sha256 = "0arhbhf5hrg943zmr9gs6dq3z7jifica72bqnxpv4jgn05l15c9n";
-      name = "knotifications-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/knotifications-5.100.0.tar.xz";
+      sha256 = "18z6cb1s6nra7cyj121knj50brmyyp9a7qdwyd101rfj1d7k08ds";
+      name = "knotifications-5.100.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/knotifyconfig-5.99.0.tar.xz";
-      sha256 = "1k0ryay0vdd0slzcdjlvp3kry7q9v3drx06jl1qwamfjs4ak65xp";
-      name = "knotifyconfig-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/knotifyconfig-5.100.0.tar.xz";
+      sha256 = "1ads4yy08441a8hfbig4413p2qyw07b0gpxm3pzw3958y32a9d8x";
+      name = "knotifyconfig-5.100.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kpackage-5.99.0.tar.xz";
-      sha256 = "05z459mg0l0gv8749sdsgj9xfhwqgsv2cxwfjsqv06nymgq71jyq";
-      name = "kpackage-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kpackage-5.100.0.tar.xz";
+      sha256 = "11969rqkwf14gjk3vx2lzd3snirnv3fry5yh6jwnc17vjiz6b35j";
+      name = "kpackage-5.100.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kparts-5.99.0.tar.xz";
-      sha256 = "0pkw1r1hr34ppl72blcmsdgp9a37dav7l83nc3dfcfvkhzzj0ch0";
-      name = "kparts-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kparts-5.100.0.tar.xz";
+      sha256 = "0vy8j5p0icxdlsvdlmbrvkbp50f3qnb7fqnvdg544d2lp7x1v5k8";
+      name = "kparts-5.100.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kpeople-5.99.0.tar.xz";
-      sha256 = "0gb63gvi61gncmd79i1zdjcgidlmb4xh5ldvp6piydw5kl2z81bz";
-      name = "kpeople-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kpeople-5.100.0.tar.xz";
+      sha256 = "1q9yxfrs9rhwzykah3909lv9qfly13jdirya4m4j34azbqfiahqg";
+      name = "kpeople-5.100.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kplotting-5.99.0.tar.xz";
-      sha256 = "0yxlzh1ffjs4b3fw7yxkvsxiabm1jw8zgkzzgqvmsjs41h1g8nyq";
-      name = "kplotting-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kplotting-5.100.0.tar.xz";
+      sha256 = "1lsi6yk7fpdji9qb2hdy2qqcp050cgckg8xmg1kmv551g6x13r7m";
+      name = "kplotting-5.100.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kpty-5.99.0.tar.xz";
-      sha256 = "0vg8s3minm1p2qmhp7i7d0yxvbkzpxibvb76w9kag1ds3lq8k150";
-      name = "kpty-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kpty-5.100.0.tar.xz";
+      sha256 = "0h5l72klg78wy0z29zay5zyivgff8jb2v0hfw2akrfblwwdmc27j";
+      name = "kpty-5.100.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kquickcharts-5.99.0.tar.xz";
-      sha256 = "0b60jj9w491amciq3cragsyjfzamzakajhvzfb76xpjw2wvjaqb9";
-      name = "kquickcharts-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kquickcharts-5.100.0.tar.xz";
+      sha256 = "1b5ddbcgxasjyhzabbqcvlb4q04zp7yiqifk7gdigjvxx15dxwrz";
+      name = "kquickcharts-5.100.0.tar.xz";
     };
   };
   kross = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/portingAids/kross-5.99.0.tar.xz";
-      sha256 = "1ml8fylm66dksnx5d3n2p0mndxwspqb25ak3inlf8m2my6asixvv";
-      name = "kross-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/portingAids/kross-5.100.0.tar.xz";
+      sha256 = "0jpnnvajxyzki221agl1ai15bj6xrylg69ymwxn70pcdp30wsvxj";
+      name = "kross-5.100.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/krunner-5.99.0.tar.xz";
-      sha256 = "1nf8cvzvbgaynimgf5i3lc632w71zzypbdg8a25lyvvc2n5qf895";
-      name = "krunner-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/krunner-5.100.0.tar.xz";
+      sha256 = "0mn0b2rvkb0c743vn4xxi1f8mcb5gb9vjnksiw88jgfy4qrmal3q";
+      name = "krunner-5.100.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kservice-5.99.0.tar.xz";
-      sha256 = "0ra6znqja27g3r4b856h26nchn8h5lzxahazsyx5ndrkx1ranl0s";
-      name = "kservice-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kservice-5.100.0.tar.xz";
+      sha256 = "1vq4hnyfpj1ax19zgly7vcqvysxdc7wyyycmhrn6982l24d14gdk";
+      name = "kservice-5.100.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/ktexteditor-5.99.0.tar.xz";
-      sha256 = "13462wsc5nd71w6hyn010zgmw83ml02kpximazk0pjf6akamqg8j";
-      name = "ktexteditor-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/ktexteditor-5.100.0.tar.xz";
+      sha256 = "1rbyaamgrnga6k39q646xfi81ic5dar9wa5wcacp9d17m6zqry51";
+      name = "ktexteditor-5.100.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/ktextwidgets-5.99.0.tar.xz";
-      sha256 = "1a39nj96hi6wvzig9khp1rfh32hfd25zgmzb5ybz0rpqagqdzs1i";
-      name = "ktextwidgets-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/ktextwidgets-5.100.0.tar.xz";
+      sha256 = "109j8zpnpiw9h0arh2ll3ql7czyv65lva4hwa626wk6589nc82vn";
+      name = "ktextwidgets-5.100.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kunitconversion-5.99.0.tar.xz";
-      sha256 = "0bx44j94j2zp68n32zkml101j49pi1zq829aqsl8zxdzyj4qm8ny";
-      name = "kunitconversion-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kunitconversion-5.100.0.tar.xz";
+      sha256 = "06ql3ijlha0gib31mwc7r260vy3dcxi6nrz5jylv9blzvcq8qnqw";
+      name = "kunitconversion-5.100.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kwallet-5.99.0.tar.xz";
-      sha256 = "01raw36fzk3bjih72vi9ixyc0pngbqr6amyvwiy3lmkjd1rnpinj";
-      name = "kwallet-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kwallet-5.100.0.tar.xz";
+      sha256 = "101fhgrgjqsxdqxzraw4a8gn5dvv2nb6xxfwi9gdjdjva5zzbg9b";
+      name = "kwallet-5.100.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kwayland-5.99.0.tar.xz";
-      sha256 = "18k5vmlg1ahxv83892937k4d9h5yz7a06nj0v6dfjcx8wcjj3gm7";
-      name = "kwayland-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kwayland-5.100.0.tar.xz";
+      sha256 = "119ggvny15x65z2i4d7x6bh01a9wif1h5jq4rppcm7mwczmhjg91";
+      name = "kwayland-5.100.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kwidgetsaddons-5.99.0.tar.xz";
-      sha256 = "0scjrpwbp4p8hkxbvsaamd0y7fx5drq7nl6icfsm5v2v5rpa5kas";
-      name = "kwidgetsaddons-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kwidgetsaddons-5.100.0.tar.xz";
+      sha256 = "07sa914xmkrm0bb3r7rnzkn9aw1rzlgbkzmakwyw0v569yb166f7";
+      name = "kwidgetsaddons-5.100.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kwindowsystem-5.99.0.tar.xz";
-      sha256 = "0xzqlw0nr8icdmwpr6rpi806ryb7wl6pm6cznmdhf19caszkzlgl";
-      name = "kwindowsystem-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kwindowsystem-5.100.0.tar.xz";
+      sha256 = "1csghc0b4jr4nfwicz29bp9lxr69iw52ghbdqi0a0jn9lnx4xck9";
+      name = "kwindowsystem-5.100.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/kxmlgui-5.99.0.tar.xz";
-      sha256 = "1p2ay1hfkhm3cfzyb7b31y5i7scq0z3cypysryfcnz75zz7wd4ic";
-      name = "kxmlgui-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/kxmlgui-5.100.0.tar.xz";
+      sha256 = "19cfavf2qqy6kzc5p30s05pp92fphnaja11arnaks0vd0m9hbvky";
+      name = "kxmlgui-5.100.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/portingAids/kxmlrpcclient-5.99.0.tar.xz";
-      sha256 = "0rma78pj0h3ss28ncz7km0cd5l1rwwf5vraf0h96apb0vh2y115x";
-      name = "kxmlrpcclient-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/portingAids/kxmlrpcclient-5.100.0.tar.xz";
+      sha256 = "0fnfkka872w1bjyh3cscmcj8cfmwybj016x1zph7yxwpnbmzyimr";
+      name = "kxmlrpcclient-5.100.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/modemmanager-qt-5.99.0.tar.xz";
-      sha256 = "0wjcrnkgaxq5kqck6fl2328k220byhmc66ss63x7rmz7y3jir17g";
-      name = "modemmanager-qt-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/modemmanager-qt-5.100.0.tar.xz";
+      sha256 = "0x7l80hkxhf7b45h2kwlchd04763rcai06cjk1s88mzcl6s419fy";
+      name = "modemmanager-qt-5.100.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/networkmanager-qt-5.99.0.tar.xz";
-      sha256 = "0643dx3jcjrabrhds2d3lh5h9c7dc6q26gg4vb5vrhgwsybqzna9";
-      name = "networkmanager-qt-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/networkmanager-qt-5.100.0.tar.xz";
+      sha256 = "0pv3daiywmw0jjzd4px3g2d1ifkd63dm7zq3r77kl2ibxwk2yqfn";
+      name = "networkmanager-qt-5.100.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/oxygen-icons5-5.99.0.tar.xz";
-      sha256 = "1pak09dps9fwcs6rcbvjdxvivw8ahcvnmzk175ky7xjq065aprlc";
-      name = "oxygen-icons5-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/oxygen-icons5-5.100.0.tar.xz";
+      sha256 = "1s81jz9ndjzyvn7gps1jr5wbxmirb986cx1665lk6zgk577x8q80";
+      name = "oxygen-icons5-5.100.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.99.0";
+    version = "5.100.1";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/plasma-framework-5.99.0.tar.xz";
-      sha256 = "1ax029s0nmcv4cg6pqgv66hgyj5b4djdvvnmpmzb1003l22aivck";
-      name = "plasma-framework-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/plasma-framework-5.100.1.tar.xz";
+      sha256 = "18ddniihbj26gz3lqh36xghwdszwgazkvpgr1bghb8bk0y90m52k";
+      name = "plasma-framework-5.100.1.tar.xz";
     };
   };
   prison = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/prison-5.99.0.tar.xz";
-      sha256 = "1wf1fkqgnyrbd8i2mhkb6baynkkg010f2lbiwbz77jkrkv0vkpl4";
-      name = "prison-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/prison-5.100.0.tar.xz";
+      sha256 = "10wlrcfqgbk88w2xr7wi2kjkkk8lcyiqqvav07r13f34hgpsdj9h";
+      name = "prison-5.100.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/purpose-5.99.0.tar.xz";
-      sha256 = "1bh2rrc3h9r95qv5kn45nhx10vgcfv6y7qfl7r152mrsvas317qy";
-      name = "purpose-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/purpose-5.100.0.tar.xz";
+      sha256 = "0bskd3qmzsqlr8xjagx7d5cpy4s5lhf2z7p5wgn0axfb8jvva3iw";
+      name = "purpose-5.100.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/qqc2-desktop-style-5.99.0.tar.xz";
-      sha256 = "19pykvy9ifnfnhh7587dbb68jnk1bfjyipw3f1gshqr9b9vgjfdx";
-      name = "qqc2-desktop-style-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/qqc2-desktop-style-5.100.0.tar.xz";
+      sha256 = "09igdk79v0rv2kiv259zzvqinqqhhqq64l5wj2xcc5b9vpnvyyx9";
+      name = "qqc2-desktop-style-5.100.0.tar.xz";
     };
   };
   solid = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/solid-5.99.0.tar.xz";
-      sha256 = "0yyhyqhvb2r374idn70rr74vyjvrgsv604issvx8d8dmvwyldrcb";
-      name = "solid-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/solid-5.100.0.tar.xz";
+      sha256 = "10s64js1hwda9zd7y91yq5f7x1h0z7n0khf9m3rmqmi4kpnr76cd";
+      name = "solid-5.100.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/sonnet-5.99.0.tar.xz";
-      sha256 = "1r57zhxfcgkp2bh3yqirdyl1s040qjzcsg4jsvvzqp10z408xwgk";
-      name = "sonnet-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/sonnet-5.100.0.tar.xz";
+      sha256 = "068y78y8n5yrnxs4kicxhjfx6mhvr5r15z8nxjpm63chhn9jprz4";
+      name = "sonnet-5.100.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/syndication-5.99.0.tar.xz";
-      sha256 = "1lfgm0a2wmsssr4vlw5h4gjvci6g11n78y609mzk5hw51989i672";
-      name = "syndication-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/syndication-5.100.0.tar.xz";
+      sha256 = "13gkkl5yczsdg4yfxvasza286l6k6876p35b1jzhw0ysjxdh8j65";
+      name = "syndication-5.100.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/syntax-highlighting-5.99.0.tar.xz";
-      sha256 = "0yh92dmf6kfannbx1iv90k7g931vlqw82qfvhbk7m8kvggdvy2xy";
-      name = "syntax-highlighting-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/syntax-highlighting-5.100.0.tar.xz";
+      sha256 = "1d2c86a1k824f44gzzm138pkz21mk788xp2hnq1xcanlsa3r99z0";
+      name = "syntax-highlighting-5.100.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.99.0";
+    version = "5.100.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.99/threadweaver-5.99.0.tar.xz";
-      sha256 = "1j3vcr2kcmd01byklnly239xb07vs9d74vnd7y37zjbg3yx14ina";
-      name = "threadweaver-5.99.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.100/threadweaver-5.100.0.tar.xz";
+      sha256 = "0dap8iihilqy2v9jy1s00j05qqrjj67n6v0yg4ix0lay2kqjwnh3";
+      name = "threadweaver-5.100.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix
index c426ec922ae4b..792d4b102f4d7 100644
--- a/pkgs/development/libraries/kerberos/heimdal.nix
+++ b/pkgs/development/libraries/kerberos/heimdal.nix
@@ -7,13 +7,13 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "heimdal";
-  version = "7.7.0";
+  version = "7.8.0";
 
   src = fetchFromGitHub {
     owner = "heimdal";
     repo = "heimdal";
     rev = "heimdal-${version}";
-    sha256 = "099qn9b8q20invvi5r8d8q9rnwpcm3nr89hx5rj7gj2ah2x5vgxs";
+    sha256 = "sha256-iXOaar1S3y0xHdL0S+vS0uxoFQjy43kABxqE+KEhxjU=";
   };
 
   outputs = [ "out" "dev" "man" "info" ];
diff --git a/pkgs/development/libraries/libagar/default.nix b/pkgs/development/libraries/libagar/default.nix
index 7aeccdf583e0c..28d5e481324a1 100644
--- a/pkgs/development/libraries/libagar/default.nix
+++ b/pkgs/development/libraries/libagar/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, pkg-config, libtool, perl, bsdbuild, gettext, mandoc
-, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU, libGL
+, libpng, libjpeg, libXinerama, freetype, SDL, libGLU, libGL
 , libsndfile, portaudio, libmysqlclient, fontconfig
 }:
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkg-config libtool gettext ];
 
   buildInputs = [
-    bsdbuild perl xlibsWrapper libXinerama SDL libGL libmysqlclient mandoc
+    bsdbuild perl libXinerama SDL libGL libmysqlclient mandoc
     freetype.dev libpng libjpeg.dev fontconfig portaudio libsndfile
   ];
 
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index a2b17cbb6b7e9..f2671e0dc76b4 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.100.0";
+  version = "1.101.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    hash = "sha256-p7IqvxV9C3Ej0xNUA9iRtmkXrUgGWx1OR+/SBDzhcZE=";
+    hash = "sha256-EhFxun80s5tNZT4d7vbszTfHbYK9X3PohsQl20wRzlg=";
   };
 
   patches = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-Wfk2cHGTO2ZvhVAvOs6xOSnldyrkiAinMc6ErLy8QpA=";
+    hash = "sha256-8uu4i4WfW9pmdLAWWUU1QP09B1/ws+DeVf8baYfikw4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libhv/default.nix b/pkgs/development/libraries/libhv/default.nix
new file mode 100644
index 0000000000000..a4314b996f221
--- /dev/null
+++ b/pkgs/development/libraries/libhv/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, cmake, curl, openssl, Security }:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libhv";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "ithewei";
+    repo = "libhv";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-LMk8B/1EofcQcIF3kGmtPdM2s+/gN9ctcsybwTpf4Po=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ curl openssl ] ++ lib.optional stdenv.isDarwin Security;
+
+  cmakeFlags = [
+    "-DENABLE_UDS=ON"
+    "-DWITH_MQTT=ON"
+    "-DWITH_CURL=ON"
+    "-DWITH_NGHTTP2=ON"
+    "-DWITH_OPENSSL=ON"
+    "-DWITH_KCP=ON"
+  ];
+
+  meta = with lib; {
+    description = "A c/c++ network library for developing TCP/UDP/SSL/HTTP/WebSocket/MQTT client/server";
+    homepage = "https://github.com/ithewei/libhv";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.unix;
+  };
+})
diff --git a/pkgs/development/libraries/libmodbus/default.nix b/pkgs/development/libraries/libmodbus/default.nix
index d5a5647837dd9..1ce3b0d4a0079 100644
--- a/pkgs/development/libraries/libmodbus/default.nix
+++ b/pkgs/development/libraries/libmodbus/default.nix
@@ -1,14 +1,18 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "libmodbus";
-  version = "3.1.7";
+  version = "3.1.8";
 
-  src = fetchurl {
-    url = "http://libmodbus.org/releases/libmodbus-${version}.tar.gz";
-    sha256 = "sha256-ff6VhDHQVwsnHhpbMpt2pljonGFM8RnrWq23Jch/j70=";
+  src = fetchFromGitHub {
+    owner = "stephane";
+    repo = "libmodbus";
+    rev = "v${version}";
+    hash = "sha256-rIsMTSyctPZmIh6hFeL3MxyNzey0+iOc2lbBKTkE7To=";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   configureFlags = [
     # when cross-compiling we assume that the host system will return a valid
     # pointer for calls to malloc(0) or realloc(0)
@@ -23,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "Library to send/receive data according to the Modbus protocol";
     homepage = "https://libmodbus.org/";
     license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix
index 42fb795d38ed7..3129c9c7ab937 100644
--- a/pkgs/development/libraries/libnice/default.nix
+++ b/pkgs/development/libraries/libnice/default.nix
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
       It provides a GLib-based library, libnice and a Glib-free library,
       libstun as well as GStreamer elements.'';
     homepage = "https://libnice.freedesktop.org/";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = with licenses; [ lgpl21 mpl11 ];
   };
 }
diff --git a/pkgs/development/libraries/libplctag/default.nix b/pkgs/development/libraries/libplctag/default.nix
index e5d42f540a36f..df209993bb107 100644
--- a/pkgs/development/libraries/libplctag/default.nix
+++ b/pkgs/development/libraries/libplctag/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libplctag";
-  version = "2.5.3";
+  version = "2.5.4";
 
   src = fetchFromGitHub {
     owner = "libplctag";
     repo = "libplctag";
     rev = "v${version}";
-    sha256 = "sha256-v6Gp9C5r5WMFR+LAZPlUKQ4EiBDmbscPEKKDv7gaTEo=";
+    sha256 = "sha256-RQlT+G0aSHHETyJaWKhGFdBLSv0qoZsavggv/ubeSQA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libstroke/default.nix b/pkgs/development/libraries/libstroke/default.nix
index d40b5b6b04921..698fa5c579f70 100644
--- a/pkgs/development/libraries/libstroke/default.nix
+++ b/pkgs/development/libraries/libstroke/default.nix
@@ -1,4 +1,10 @@
-{lib, stdenv, fetchurl, automake, autoconf, xlibsWrapper}:
+{ lib
+, stdenv
+, fetchurl
+, automake
+, autoconf
+, libX11
+}:
 
 stdenv.mkDerivation rec {
   pname = "libstroke";
@@ -10,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ automake autoconf ];
-  buildInputs = [ xlibsWrapper ];
+  buildInputs = [ libX11 ];
 
   # libstroke ships with an ancient config.sub that doesn't know about x86_64, so regenerate it.
   # Also, modern automake doesn't like things and returns error code 63.  But it generates the file.
diff --git a/pkgs/development/libraries/libutempter/default.nix b/pkgs/development/libraries/libutempter/default.nix
index 6c0406bf40134..3b63ef9386b33 100644
--- a/pkgs/development/libraries/libutempter/default.nix
+++ b/pkgs/development/libraries/libutempter/default.nix
@@ -4,17 +4,19 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "libutempter";
-  version = "1.1.6";
+  version = "1.2.1";
 
   src = fetchurl {
-    url = "mirror://ubuntu/pool/main/libu/libutempter/libutempter_${version}.orig.tar.bz2";
-    sha256 = "15y3xbgznjxnfmix4xg3bwmqdvghdw7slbhazb0ybmyf65gmd65q";
+    url = "http://ftp.altlinux.org/pub/people/ldv/utempter/libutempter-${version}.tar.gz";
+    sha256 = "sha256-ln/vNy85HeUBhDrYdXDGz12r2WUfAPF4MJD7wSsqNMs=";
   };
 
   buildInputs = [ glib ];
 
   patches = [ ./exec_path.patch ];
 
+  patchFlags = [ "-p2" ];
+
   prePatch = ''
     substituteInPlace Makefile --replace 2711 0711
   '';
@@ -27,6 +29,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
+    homepage = "https://github.com/altlinux/libutempter";
     description = "Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files";
     longDescription = ''
       The bundled utempter binary must be able to run as a user belonging to group utmp.
diff --git a/pkgs/development/libraries/libutempter/exec_path.patch b/pkgs/development/libraries/libutempter/exec_path.patch
index bd5f56611ef91..da3fe110fb670 100644
--- a/pkgs/development/libraries/libutempter/exec_path.patch
+++ b/pkgs/development/libraries/libutempter/exec_path.patch
@@ -1,19 +1,28 @@
-diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
---- libutempter-1.1.6/iface.c	2010-11-04 18:14:53.000000000 +0100
-+++ libutempter-1.1.6.patched/iface.c	2018-06-06 15:09:11.417755549 +0200
-@@ -60,9 +60,9 @@
+diff --git a/libutempter/iface.c b/libutempter/iface.c
+index 37c74a8..6f44c9a 100644
+--- a/libutempter/iface.c
++++ b/libutempter/iface.c
+@@ -43,7 +43,7 @@
+        __result; }))
+ #endif
+ 
+-#define UTEMPTER_DEFAULT_PATHNAME	LIBEXECDIR "/utempter/utempter"
++#define UTEMPTER_DEFAULT_PATHNAME	"utempter"
+ 
+ static const char *utempter_pathname;
+ static int saved_fd = -1;
+@@ -57,8 +57,8 @@ do_child(int master_fd, const char *path, char *const *argv)
  		_exit(EXIT_FAILURE);
  	}
  
 -	execv(path, argv);
+-	print_dbg("execv: %s", strerror(errno));
 +	execvp(path, argv);
- #ifdef	UTEMPTER_DEBUG
--	fprintf(stderr, "libutempter: execv: %s\n", strerror(errno));
-+	fprintf(stderr, "libutempter: execvp: %s\n", strerror(errno));
- #endif
++	print_dbg("execvp: %s", strerror(errno));
  
- 	while (EACCES == errno)
-@@ -79,7 +79,7 @@
+ 	while (EACCES == errno) {
+ 		/* try saved group ID */
+@@ -73,7 +73,7 @@ do_child(int master_fd, const char *path, char *const *argv)
  		if (setgid(sgid))
  			break;
  
@@ -21,5 +30,3 @@ diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
 +		(void) execvp(path, argv);
  		break;
  	}
- 
-Only in libutempter-1.1.6.patched: result
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index 8e9561ecd49cf..f6b9e1d9dbdbe 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -1,5 +1,21 @@
-{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, pkg-config, help2man, python3,
-  alsa-lib, xlibsWrapper, libxslt, systemd, libusb-compat-0_1, libftdi1 }:
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, autoreconfHook
+, pkg-config
+, help2man
+, python3
+
+, alsa-lib
+, libxslt
+, systemd
+, libusb-compat-0_1
+, libftdi1
+, libICE
+, libSM
+, libX11
+}:
 
 let
   pythonEnv = python3.pythonForBuild.withPackages (p: with p; [ pyyaml setuptools ]);
@@ -54,7 +70,7 @@ stdenv.mkDerivation rec {
 
   depsBuildBuild = [ pkg-config ];
 
-  buildInputs = [ alsa-lib xlibsWrapper systemd libusb-compat-0_1 libftdi1 ];
+  buildInputs = [ alsa-lib systemd libusb-compat-0_1 libftdi1 libICE libSM libX11 ];
 
   DEVINPUT_HEADER = "include/linux/input-event-codes.h";
 
diff --git a/pkgs/development/libraries/ngtcp2/default.nix b/pkgs/development/libraries/ngtcp2/default.nix
index da0e535c1bc1a..0611bccbf4022 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 = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zDiJlwcDTLCU+WpJ6Jz6tve4oV+XMRYOtppC2fj/HgU=";
+    sha256 = "sha256-u6orYF/VzXpcUdCitPawoet3KAhXlTQ2giR5eTQkrLY=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/odpic/default.nix b/pkgs/development/libraries/odpic/default.nix
index 30ddc3d3b629c..0c056c0991824 100644
--- a/pkgs/development/libraries/odpic/default.nix
+++ b/pkgs/development/libraries/odpic/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, fixDarwinDylibNames, oracle-instantclient, libaio }:
 
 let
-  version = "4.5.0";
+  version = "4.6.0";
   libPath = lib.makeLibraryPath [ oracle-instantclient.lib ];
 
 in stdenv.mkDerivation {
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
     owner = "oracle";
     repo = "odpi";
     rev = "v${version}";
-    sha256 = "sha256-EPTEZ8Sh8yWtgbKRhwa1nrXSgQelUJfZDaStGSfOKGw=";
+    sha256 = "sha256-hhe6j0qJkRoUIr+FZ4GqGUmI9Yu4Rwxu01f9b4pU5Dc=";
   };
 
   nativeBuildInputs = lib.optional stdenv.isDarwin fixDarwinDylibNames;
diff --git a/pkgs/development/libraries/openturns/default.nix b/pkgs/development/libraries/openturns/default.nix
index d5988ace408a6..ae95a45dd3920 100644
--- a/pkgs/development/libraries/openturns/default.nix
+++ b/pkgs/development/libraries/openturns/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openturns";
-  version = "1.19";
+  version = "1.20";
 
   src = fetchFromGitHub {
     owner = "openturns";
     repo = "openturns";
     rev = "v${version}";
-    sha256 = "sha256-hSvhKx7Ke5PXPYGcn9OJvq7YooAbHrbP6TdLZBotriE=";
+    sha256 = "sha256-QeapH937yGnK6oD+rgIERePxz6ooxGpOx6x9LyFDt2A=";
   };
 
   nativeBuildInputs = [ cmake ] ++ lib.optional enablePython python3Packages.sphinx;
diff --git a/pkgs/development/libraries/openxr-loader/default.nix b/pkgs/development/libraries/openxr-loader/default.nix
index b4b438e4a810f..4cd1490fd4bf8 100644
--- a/pkgs/development/libraries/openxr-loader/default.nix
+++ b/pkgs/development/libraries/openxr-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.0.25";
+  version = "1.0.26";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     rev = "release-${version}";
-    sha256 = "sha256-8fCz+t+PcZflq3sYdn+J6AdWHkG6UyDNcQmJ21b9p80=";
+    sha256 = "sha256-Ou6IwCvRJE4pB/69Sjmc5fZPMvjaDvPOs0Qgol9rTEA=";
   };
 
   nativeBuildInputs = [ cmake python3 pkg-config ];
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index bebfbdda8d8b3..76f3481386f30 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -69,5 +69,8 @@ qtModule {
 
   meta = {
     maintainers = with lib.maintainers; [ abbradar periklis ];
+    knownVulnerabilities = [
+      "QtWebkit upstream is unmaintained and receives no security updates, see https://blogs.gnome.org/mcatanzaro/2022/11/04/stop-using-qtwebkit/"
+    ];
   };
 }
diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix
index 5d17df8028d2e..4c36e29f02f2c 100644
--- a/pkgs/development/libraries/qt-6/default.nix
+++ b/pkgs/development/libraries/qt-6/default.nix
@@ -107,6 +107,8 @@ let
       } ./hooks/qmake-hook.sh;
     };
 
+  # TODO(@Artturin): convert to makeScopeWithSplicing
+  # simple example of how to do that in 5568a4d25ca406809530420996d57e0876ca1a01
   self = lib.makeScope newScope addPackages;
 in
 self
diff --git a/pkgs/development/libraries/qt-6/qtModule.nix b/pkgs/development/libraries/qt-6/qtModule.nix
index 3ef0ea191a760..5f6d429edf58b 100644
--- a/pkgs/development/libraries/qt-6/qtModule.nix
+++ b/pkgs/development/libraries/qt-6/qtModule.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation (args // {
       if [[ -z "$dontSyncQt" && -f sync.profile ]]; then
         # FIXME: this probably breaks crosscompiling as it's not from nativeBuildInputs
         # I don't know how to get /libexec from nativeBuildInputs to work, it's not under /bin
-        ${self.qtbase.dev.nativeDrv or self.qtbase.dev}/libexec/syncqt.pl -version "''${version%%-*}"
+        ${lib.getDev self.qtbase}/libexec/syncqt.pl -version "''${version%%-*}"
       fi
     '';
 
diff --git a/pkgs/development/libraries/s2n-tls/default.nix b/pkgs/development/libraries/s2n-tls/default.nix
index aa1ad43fbb558..d22f59271fec8 100644
--- a/pkgs/development/libraries/s2n-tls/default.nix
+++ b/pkgs/development/libraries/s2n-tls/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s2n-tls";
-  version = "1.3.27";
+  version = "1.3.28";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-y6YlSzLZXNL7GkP0SNXQgt16W2AohGaGjshNq9GoCtA=";
+    sha256 = "sha256-RkOP+et8wFb44NLqkizXB68U0NRKKvhDl4PyQWz2m6A=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/science/math/blas/default.nix b/pkgs/development/libraries/science/math/blas/default.nix
index acb737836c0d3..84a4486b6e3aa 100644
--- a/pkgs/development/libraries/science/math/blas/default.nix
+++ b/pkgs/development/libraries/science/math/blas/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "blas";
-  version = "3.10.0";
+  version = "3.11.0";
 
   src = fetchurl {
     url = "http://www.netlib.org/blas/${pname}-${version}.tgz";
-    sha256 = "sha256-LjYNmcm9yEB6YYiMQKqFP7QhlCDruCZNtIbLiGBGirM=";
+    sha256 = "sha256-LZ/e59NhlU/uUyEApQ5gKCbJzBFT+M0Fe6pl7VfpAoM=";
   };
 
   passthru = { inherit blas64; };
diff --git a/pkgs/development/libraries/telepathy/farstream/default.nix b/pkgs/development/libraries/telepathy/farstream/default.nix
index 59f0a165221ca..072ca801f31b1 100644
--- a/pkgs/development/libraries/telepathy/farstream/default.nix
+++ b/pkgs/development/libraries/telepathy/farstream/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "GObject-based C library that uses Telepathy GLib, Farstream and GStreamer to handle the media streaming part of channels of type Call";
     homepage = "https://telepathy.freedesktop.org/wiki/Components/Telepathy-Farstream/";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.lgpl21Only;
   };
 }
diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix
index 37a71fb25363f..accc02499d460 100644
--- a/pkgs/development/libraries/telepathy/qt/default.nix
+++ b/pkgs/development/libraries/telepathy/qt/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     description = "Telepathy Qt bindings";
     homepage = "https://telepathy.freedesktop.org/components/telepathy-qt/";
     license = licenses.lgpl21;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/vtk/9.x.nix b/pkgs/development/libraries/vtk/9.x.nix
index dea68ca153db0..3a5032efdce3c 100644
--- a/pkgs/development/libraries/vtk/9.x.nix
+++ b/pkgs/development/libraries/vtk/9.x.nix
@@ -1,5 +1,5 @@
 import ./generic.nix {
-  majorVersion = "9.1";
-  minorVersion = "0";
-  sourceSha256 = "sha256-j+1C9Pjx64CDEHto6qmtcdoHEQFhoxFq2Af0PlylzpY=";
+  majorVersion = "9.2";
+  minorVersion = "2";
+  sourceSha256 = "sha256-HFsKK+cfrJb/SDGvaeNQ96DqMWiYH3kMAAcJ3PkSEHU=";
 }
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK30.nix b/pkgs/development/libraries/wxwidgets/wxGTK30.nix
index 89b7ae1f94c4e..3b848f788c104 100644
--- a/pkgs/development/libraries/wxwidgets/wxGTK30.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK30.nix
@@ -41,13 +41,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wxwidgets";
-  version = "3.0.5";
+  version = "3.0.5.1";
 
   src = fetchFromGitHub {
     owner = "wxWidgets";
     repo = "wxWidgets";
     rev = "v${version}";
-    hash = "sha256-p69nNCg552j+nldGY0oL65uFRVu4xXCkoE10F5MwY9A=";
+    hash = "sha256-I91douzXDAfDgm4Pplf17iepv4vIRhXZDRFl9keJJq0=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/misc/brev-cli/default.nix b/pkgs/development/misc/brev-cli/default.nix
index 6d2f352d14774..52efc4f1fc3f0 100644
--- a/pkgs/development/misc/brev-cli/default.nix
+++ b/pkgs/development/misc/brev-cli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "brev-cli";
-  version = "0.6.170";
+  version = "0.6.179";
 
   src = fetchFromGitHub {
     owner = "brevdev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-chcxXTTsUqs0YtqeHbSHyj0F+R+T59msAwMGDIVNWis=";
+    sha256 = "sha256-vU4pEVH6y72Z8H3QgrgxTp0tofAOMGUnez3Q343EOXw=";
   };
 
-  vendorSha256 = "sha256-1cQd/gxXFB1VagTICvxCjtqCUlPHL4NCuW6u2AeE/WM=";
+  vendorSha256 = "sha256-uaLoh1VhJAT5liGqL77DLhAWviy5Ci8B16LuzCWuek8=";
 
   CGO_ENABLED = 0;
   subPackages = [ "." ];
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index cfd0e1676b538..f9bb0b1a82f1b 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -85,6 +85,7 @@
 , "coc-smartf"
 , "coc-snippets"
 , "coc-solargraph"
+, "coc-spell-checker"
 , "coc-stylelint"
 , "coc-sumneko-lua"
 , "coc-sqlfluff"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 3579cb7436391..f5af5c140e0f6 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -3163,6 +3163,15 @@ let
         sha512 = "jpUVex0JTMGIQC/+T/GglLRpimmvH8HUcpf3gC+bS1ZcVGzyWQo5clevxYbz2MBVoLxSMZiqPoqB5dt/vAOTwQ==";
       };
     };
+    "@cspell/dict-aws-1.0.14" = {
+      name = "_at_cspell_slash_dict-aws";
+      packageName = "@cspell/dict-aws";
+      version = "1.0.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-1.0.14.tgz";
+        sha512 = "K21CfB4ZpKYwwDQiPfic2zJA/uxkbsd4IQGejEvDAhE3z8wBs6g6BwwqdVO767M9NgZqc021yAVpr79N5pWe3w==";
+      };
+    };
     "@cspell/dict-aws-3.0.0" = {
       name = "_at_cspell_slash_dict-aws";
       packageName = "@cspell/dict-aws";
@@ -3172,6 +3181,15 @@ let
         sha512 = "O1W6nd5y3Z00AMXQMzfiYrIJ1sTd9fB1oLr+xf/UD7b3xeHeMeYE2OtcWbt9uyeHim4tk+vkSTcmYEBKJgS5bQ==";
       };
     };
+    "@cspell/dict-bash-1.0.18" = {
+      name = "_at_cspell_slash_dict-bash";
+      packageName = "@cspell/dict-bash";
+      version = "1.0.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-1.0.18.tgz";
+        sha512 = "kJIqQ+FD2TCSgaaP5XLEDgy222+pVWTc+VhveNO++gnTWU3BCVjkD5LjfW7g/CmGONnz+nwXDueWspProaSdJw==";
+      };
+    };
     "@cspell/dict-bash-3.0.0" = {
       name = "_at_cspell_slash_dict-bash";
       packageName = "@cspell/dict-bash";
@@ -3181,6 +3199,15 @@ let
         sha512 = "bQl6mk1SrcmrDL+F4XTeZtW2JnqgNJx5pNX6PIfWe5QA+J2blLlYbwDQOvjovpZEirwy8iqQmu//6bKjaDu1ow==";
       };
     };
+    "@cspell/dict-companies-1.0.40" = {
+      name = "_at_cspell_slash_dict-companies";
+      packageName = "@cspell/dict-companies";
+      version = "1.0.40";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-1.0.40.tgz";
+        sha512 = "Aw07qiTroqSST2P5joSrC4uOA05zTXzI2wMb+me3q4Davv1D9sCkzXY0TGoC2vzhNv5ooemRi9KATGaBSdU1sw==";
+      };
+    };
     "@cspell/dict-companies-3.0.3" = {
       name = "_at_cspell_slash_dict-companies";
       packageName = "@cspell/dict-companies";
@@ -3190,6 +3217,15 @@ let
         sha512 = "qBWdwA97HdnLbxPLOUTZ+/mg9eYhi14hM7PEUM1PZ004MEIxQHum0IQpypKAwP3teR1KEsyxEPHp8v24Dw45Zg==";
       };
     };
+    "@cspell/dict-cpp-1.1.40" = {
+      name = "_at_cspell_slash_dict-cpp";
+      packageName = "@cspell/dict-cpp";
+      version = "1.1.40";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-1.1.40.tgz";
+        sha512 = "sscfB3woNDNj60/yGXAdwNtIRWZ89y35xnIaJVDMk5TPMMpaDvuk0a34iOPIq0g4V+Y8e3RyAg71SH6ADwSjGw==";
+      };
+    };
     "@cspell/dict-cpp-4.0.0" = {
       name = "_at_cspell_slash_dict-cpp";
       packageName = "@cspell/dict-cpp";
@@ -3199,6 +3235,15 @@ let
         sha512 = "NrCmer14tTSbPs1TwqyCjFEmWCBw0UFvAn4O3pdWuxktArHxRJ5vUQOoL2Gus2H9s3ihhOJZkcuJ47Kd21E7BQ==";
       };
     };
+    "@cspell/dict-cryptocurrencies-1.0.10" = {
+      name = "_at_cspell_slash_dict-cryptocurrencies";
+      packageName = "@cspell/dict-cryptocurrencies";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-1.0.10.tgz";
+        sha512 = "47ABvDJOkaST/rXipNMfNvneHUzASvmL6K/CbOFpYKfsd0x23Jc9k1yaOC7JAm82XSC/8a7+3Yu+Fk2jVJNnsA==";
+      };
+    };
     "@cspell/dict-cryptocurrencies-3.0.1" = {
       name = "_at_cspell_slash_dict-cryptocurrencies";
       packageName = "@cspell/dict-cryptocurrencies";
@@ -3208,6 +3253,15 @@ let
         sha512 = "Tdlr0Ahpp5yxtwM0ukC13V6+uYCI0p9fCRGMGZt36rWv8JQZHIuHfehNl7FB/Qc09NCF7p5ep0GXbL+sVTd/+w==";
       };
     };
+    "@cspell/dict-csharp-1.0.11" = {
+      name = "_at_cspell_slash_dict-csharp";
+      packageName = "@cspell/dict-csharp";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-csharp/-/dict-csharp-1.0.11.tgz";
+        sha512 = "nub+ZCiTgmT87O+swI+FIAzNwaZPWUGckJU4GN402wBq420V+F4ZFqNV7dVALJrGaWH7LvADRtJxi6cZVHJKeA==";
+      };
+    };
     "@cspell/dict-csharp-4.0.1" = {
       name = "_at_cspell_slash_dict-csharp";
       packageName = "@cspell/dict-csharp";
@@ -3217,6 +3271,15 @@ let
         sha512 = "BkfT6S790FcyWLTWYBwkj9dKxuNz4pHFDrj9GFrmqXd2HWzfSa944S0NJhal42TnW30JJljQY5P1ZYau+s2Pbg==";
       };
     };
+    "@cspell/dict-css-1.0.13" = {
+      name = "_at_cspell_slash_dict-css";
+      packageName = "@cspell/dict-css";
+      version = "1.0.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-1.0.13.tgz";
+        sha512 = "HU8RbFRoGanFH85mT01Ot/Ay48ixr/gG25VPLtdq56QTrmPsw79gxYm/5Qay16eQbpoPIxaj5CAWNam+DX4GbA==";
+      };
+    };
     "@cspell/dict-css-3.0.0" = {
       name = "_at_cspell_slash_dict-css";
       packageName = "@cspell/dict-css";
@@ -3235,6 +3298,15 @@ let
         sha512 = "p7vHszsu2uJt+F04gvNy1e5okypFfVEYHBWgpOV/Jrvs0F5A+gUzFTG2Ix9b1jkCigAULYKQkIGue+qlhSoK5Q==";
       };
     };
+    "@cspell/dict-django-1.0.26" = {
+      name = "_at_cspell_slash_dict-django";
+      packageName = "@cspell/dict-django";
+      version = "1.0.26";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-1.0.26.tgz";
+        sha512 = "mn9bd7Et1L2zuibc08GVHTiD2Go3/hdjyX5KLukXDklBkq06r+tb0OtKtf1zKodtFDTIaYekGADhNhA6AnKLkg==";
+      };
+    };
     "@cspell/dict-django-3.0.0" = {
       name = "_at_cspell_slash_dict-django";
       packageName = "@cspell/dict-django";
@@ -3253,6 +3325,15 @@ let
         sha512 = "Iz7EQGnLBgnnmzCC8iLQ7JssCCQlCjZLiCs0qhooETWLifob3nzsI9AVBh3gkYLhISLIIjBpfa4LTknskT7LzA==";
       };
     };
+    "@cspell/dict-dotnet-1.0.32" = {
+      name = "_at_cspell_slash_dict-dotnet";
+      packageName = "@cspell/dict-dotnet";
+      version = "1.0.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-1.0.32.tgz";
+        sha512 = "9H9vXrgJB4KF8xsyTToXO53cXD33iyfrpT4mhCds+YLUw3P3x3E9myszgJzshnrxYBvQZ+QMII57Qr6SjZVk4Q==";
+      };
+    };
     "@cspell/dict-dotnet-3.0.1" = {
       name = "_at_cspell_slash_dict-dotnet";
       packageName = "@cspell/dict-dotnet";
@@ -3262,6 +3343,15 @@ let
         sha512 = "Flruqsmhwrm1K2+HKsA4I6aywmsM5QnCddFb8FIQLgluyuTss6Hs1Xj380+k3PeU/wAg4xNTD7f6b4xxZLbfjw==";
       };
     };
+    "@cspell/dict-elixir-1.0.26" = {
+      name = "_at_cspell_slash_dict-elixir";
+      packageName = "@cspell/dict-elixir";
+      version = "1.0.26";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-1.0.26.tgz";
+        sha512 = "hz1yETUiRJM7yjN3mITSnxcmZaEyaBbyJhpZPpg+cKUil+xhHeZ2wwfbRc83QHGmlqEuDWbdCFqKSpCDJYpYhg==";
+      };
+    };
     "@cspell/dict-elixir-3.0.0" = {
       name = "_at_cspell_slash_dict-elixir";
       packageName = "@cspell/dict-elixir";
@@ -3280,6 +3370,15 @@ let
         sha512 = "tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==";
       };
     };
+    "@cspell/dict-en_us-1.2.45" = {
+      name = "_at_cspell_slash_dict-en_us";
+      packageName = "@cspell/dict-en_us";
+      version = "1.2.45";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-1.2.45.tgz";
+        sha512 = "UPwR4rfiJCxnS+Py+EK9E4AUj3aPZE4p/yBRSHN+5aBQConlI0lLDtMceH5wlupA/sQTU1ERZGPJA9L96jVSyQ==";
+      };
+    };
     "@cspell/dict-en_us-4.0.0" = {
       name = "_at_cspell_slash_dict-en_us";
       packageName = "@cspell/dict-en_us";
@@ -3289,6 +3388,15 @@ let
         sha512 = "ZqWPm0cdC/3KdhWWHojti7/gfH5/JIzyGqI2zlmibz/jpR5Z0IzsW71xQCuU3KpNaYU1Frfivk0m34yicm1JFw==";
       };
     };
+    "@cspell/dict-filetypes-1.1.8" = {
+      name = "_at_cspell_slash_dict-filetypes";
+      packageName = "@cspell/dict-filetypes";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-1.1.8.tgz";
+        sha512 = "EllahNkhzvLWo0ptwu0l3oEeAJOQSUpZnDfnKRIh6mJVehuSovNHwA9vrdZ8jBUjuqcfaN2e7c32zN0D/qvWJQ==";
+      };
+    };
     "@cspell/dict-filetypes-3.0.0" = {
       name = "_at_cspell_slash_dict-filetypes";
       packageName = "@cspell/dict-filetypes";
@@ -3298,6 +3406,15 @@ let
         sha512 = "Fiyp0z5uWaK0d2TfR9GMUGDKmUMAsOhGD5A0kHoqnNGswL2iw0KB0mFBONEquxU65fEnQv4R+jdM2d9oucujuA==";
       };
     };
+    "@cspell/dict-fonts-1.0.14" = {
+      name = "_at_cspell_slash_dict-fonts";
+      packageName = "@cspell/dict-fonts";
+      version = "1.0.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-1.0.14.tgz";
+        sha512 = "VhIX+FVYAnqQrOuoFEtya6+H72J82cIicz9QddgknsTqZQ3dvgp6lmVnsQXPM3EnzA8n1peTGpLDwHzT7ociLA==";
+      };
+    };
     "@cspell/dict-fonts-3.0.0" = {
       name = "_at_cspell_slash_dict-fonts";
       packageName = "@cspell/dict-fonts";
@@ -3307,6 +3424,15 @@ let
         sha512 = "zTZni0AbwBVG1MKA0WpwPyIJPVF+gp6neXDQzHcu4RUnuQ4uDu0PVEuZjGHCJWwwFoR5JmkqZxVSg1y3ufJODA==";
       };
     };
+    "@cspell/dict-fullstack-1.0.39" = {
+      name = "_at_cspell_slash_dict-fullstack";
+      packageName = "@cspell/dict-fullstack";
+      version = "1.0.39";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-1.0.39.tgz";
+        sha512 = "Mbi+zWdiP9yzL+X4YD9Tgcm5YQ95Ql+Y3vF2LRnOY6g2QWaijTRN1rgksVuxzpFqHi//+bx2uoUb0XEKBYDi8g==";
+      };
+    };
     "@cspell/dict-fullstack-3.0.0" = {
       name = "_at_cspell_slash_dict-fullstack";
       packageName = "@cspell/dict-fullstack";
@@ -3325,6 +3451,15 @@ let
         sha512 = "n1AxyX5Kgxij/sZFkxFJlzn3K9y/sCcgVPg/vz4WNJ4K9YeTsUmyGLA2OQI7d10GJeiuAo2AP1iZf2A8j9aj2w==";
       };
     };
+    "@cspell/dict-golang-1.1.24" = {
+      name = "_at_cspell_slash_dict-golang";
+      packageName = "@cspell/dict-golang";
+      version = "1.1.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-1.1.24.tgz";
+        sha512 = "qq3Cjnx2U1jpeWAGJL1GL0ylEhUMqyaR36Xij6Y6Aq4bViCRp+HRRqk0x5/IHHbOrti45h3yy7ii1itRFo+Xkg==";
+      };
+    };
     "@cspell/dict-golang-4.0.0" = {
       name = "_at_cspell_slash_dict-golang";
       packageName = "@cspell/dict-golang";
@@ -3334,6 +3469,15 @@ let
         sha512 = "XxKINt3dmpixrmAcxVdP545eh0S6vmaGbddZyzIWzQlwoIE0b98l3AvtcdhCyYxbvcKAcZ+pkf+t2zGTnMvQug==";
       };
     };
+    "@cspell/dict-haskell-1.0.13" = {
+      name = "_at_cspell_slash_dict-haskell";
+      packageName = "@cspell/dict-haskell";
+      version = "1.0.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-1.0.13.tgz";
+        sha512 = "kvl8T84cnYRPpND/P3D86P6WRSqebsbk0FnMfy27zo15L5MLAb3d3MOiT1kW3vEWfQgzUD7uddX/vUiuroQ8TA==";
+      };
+    };
     "@cspell/dict-haskell-3.0.0" = {
       name = "_at_cspell_slash_dict-haskell";
       packageName = "@cspell/dict-haskell";
@@ -3343,6 +3487,15 @@ let
         sha512 = "vVreZvGp9M8UcF/3fJAl/99M3NkcH0ik19xnFTsp4RWhy7+Ar/yCXo8251sSBtwL4TdR+0BHXdXKb2PYZ2UFdQ==";
       };
     };
+    "@cspell/dict-html-1.1.9" = {
+      name = "_at_cspell_slash_dict-html";
+      packageName = "@cspell/dict-html";
+      version = "1.1.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-1.1.9.tgz";
+        sha512 = "vvnYia0tyIS5Fdoz+gEQm77MGZZE66kOJjuNpIYyRHCXFAhWdYz3SmkRm6YKJSWSvuO+WBJYTKDvkOxSh3Fx/w==";
+      };
+    };
     "@cspell/dict-html-4.0.0" = {
       name = "_at_cspell_slash_dict-html";
       packageName = "@cspell/dict-html";
@@ -3352,6 +3505,15 @@ let
         sha512 = "UQRolrzTTMS3Ja1qkrdERnqG04qqwqp4vbMV+BLKvR0oiibfH56Dfnx/qz/C5KgFLc48GLGXLALjgCiHtPjPiA==";
       };
     };
+    "@cspell/dict-html-symbol-entities-1.0.23" = {
+      name = "_at_cspell_slash_dict-html-symbol-entities";
+      packageName = "@cspell/dict-html-symbol-entities";
+      version = "1.0.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-1.0.23.tgz";
+        sha512 = "PV0UBgcBFbBLf/m1wfkVMM8w96kvfHoiCGLWO6BR3Q9v70IXoE4ae0+T+f0CkxcEkacMqEQk/I7vuE9MzrjaNw==";
+      };
+    };
     "@cspell/dict-html-symbol-entities-4.0.0" = {
       name = "_at_cspell_slash_dict-html-symbol-entities";
       packageName = "@cspell/dict-html-symbol-entities";
@@ -3361,6 +3523,15 @@ let
         sha512 = "HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==";
       };
     };
+    "@cspell/dict-java-1.0.23" = {
+      name = "_at_cspell_slash_dict-java";
+      packageName = "@cspell/dict-java";
+      version = "1.0.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-1.0.23.tgz";
+        sha512 = "LcOg9srYLDoNGd8n3kbfDBlZD+LOC9IVcnFCdua1b/luCHNVmlgBx7e677qPu7olpMYOD5TQIVW2OmM1+/6MFA==";
+      };
+    };
     "@cspell/dict-java-5.0.2" = {
       name = "_at_cspell_slash_dict-java";
       packageName = "@cspell/dict-java";
@@ -3370,6 +3541,15 @@ let
         sha512 = "HWgdp8plZOdYjOkndwmgHGVxoewylZcl886PqSL6TMcDshyI0+2nePft31nIuALRvt7HL8IX++DM1uk4UfY4kg==";
       };
     };
+    "@cspell/dict-latex-1.0.25" = {
+      name = "_at_cspell_slash_dict-latex";
+      packageName = "@cspell/dict-latex";
+      version = "1.0.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-1.0.25.tgz";
+        sha512 = "cEgg91Migqcp1SdVV7dUeMxbPDhxdNo6Fgq2eygAXQjIOFK520FFvh/qxyBvW90qdZbIRoU2AJpchyHfGuwZFA==";
+      };
+    };
     "@cspell/dict-latex-3.0.0" = {
       name = "_at_cspell_slash_dict-latex";
       packageName = "@cspell/dict-latex";
@@ -3379,6 +3559,15 @@ let
         sha512 = "QsRWj+Jll4ueVbce8ofKa743oQ2exmbVNZN70MaMbmu8PSbjW2+Rj3OdExVStesANMj7qc20inS/TgPr8DrInQ==";
       };
     };
+    "@cspell/dict-lorem-ipsum-1.0.22" = {
+      name = "_at_cspell_slash_dict-lorem-ipsum";
+      packageName = "@cspell/dict-lorem-ipsum";
+      version = "1.0.22";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-1.0.22.tgz";
+        sha512 = "yqzspR+2ADeAGUxLTfZ4pXvPl7FmkENMRcGDECmddkOiuEwBCWMZdMP5fng9B0Q6j91hQ8w9CLvJKBz10TqNYg==";
+      };
+    };
     "@cspell/dict-lorem-ipsum-3.0.0" = {
       name = "_at_cspell_slash_dict-lorem-ipsum";
       packageName = "@cspell/dict-lorem-ipsum";
@@ -3388,6 +3577,15 @@ let
         sha512 = "msEV24qEpzWZs2kcEicqYlhyBpR0amfDkJOs+iffC07si9ftqtQ+yP3lf1VFLpgqw3SQh1M1vtU7RD4sPrNlcQ==";
       };
     };
+    "@cspell/dict-lua-1.0.16" = {
+      name = "_at_cspell_slash_dict-lua";
+      packageName = "@cspell/dict-lua";
+      version = "1.0.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-1.0.16.tgz";
+        sha512 = "YiHDt8kmHJ8nSBy0tHzaxiuitYp+oJ66ffCYuFWTNB3//Y0SI4OGHU3omLsQVeXIfCeVrO4DrVvRDoCls9B5zQ==";
+      };
+    };
     "@cspell/dict-lua-3.0.0" = {
       name = "_at_cspell_slash_dict-lua";
       packageName = "@cspell/dict-lua";
@@ -3397,6 +3595,15 @@ let
         sha512 = "WOhSCgS5wMxkGQJ8siB90iTB9ElquJB7FeqYSbJqqs6cUwH8G7MM/CEDPL6h7vCo0+v3GuxQ8yKWDSUcUhz9Lg==";
       };
     };
+    "@cspell/dict-node-1.0.12" = {
+      name = "_at_cspell_slash_dict-node";
+      packageName = "@cspell/dict-node";
+      version = "1.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-1.0.12.tgz";
+        sha512 = "RPNn/7CSkflAWk0sbSoOkg0ORrgBARUjOW3QjB11KwV1gSu8f5W/ij/S50uIXtlrfoBLqd4OyE04jyON+g/Xfg==";
+      };
+    };
     "@cspell/dict-node-4.0.1" = {
       name = "_at_cspell_slash_dict-node";
       packageName = "@cspell/dict-node";
@@ -3406,6 +3613,15 @@ let
         sha512 = "4EmT5yZFitdwnG0hYEd+Ek19zzD81Bp+n7w0kglZKldS5AvapwW6GM/SAps5YMQQc5zZMi+bMgV7NIzapREqUg==";
       };
     };
+    "@cspell/dict-npm-1.0.16" = {
+      name = "_at_cspell_slash_dict-npm";
+      packageName = "@cspell/dict-npm";
+      version = "1.0.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-1.0.16.tgz";
+        sha512 = "RwkuZGcYBxL3Yux3cSG/IOWGlQ1e9HLCpHeyMtTVGYKAIkFAVUnGrz20l16/Q7zUG7IEktBz5O42kAozrEnqMQ==";
+      };
+    };
     "@cspell/dict-npm-4.0.1" = {
       name = "_at_cspell_slash_dict-npm";
       packageName = "@cspell/dict-npm";
@@ -3415,6 +3631,15 @@ let
         sha512 = "jNKImVG5ZX+Pp6PhbSR3TmC9+0ROx09dGhSgUsZyvXV5CGEr+OQGJtNL98TGwU3pP2Xjc++qnHA/XPwB5WvLfA==";
       };
     };
+    "@cspell/dict-php-1.0.25" = {
+      name = "_at_cspell_slash_dict-php";
+      packageName = "@cspell/dict-php";
+      version = "1.0.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-1.0.25.tgz";
+        sha512 = "RoBIP5MRdByyPaXcznZMfOY1JdCMYPPLua5E9gkq0TJO7bX5mC9hyAKfYBSWVQunZydd82HZixjb5MPkDFU1uw==";
+      };
+    };
     "@cspell/dict-php-3.0.3" = {
       name = "_at_cspell_slash_dict-php";
       packageName = "@cspell/dict-php";
@@ -3424,6 +3649,15 @@ let
         sha512 = "7dvXdPTfbIF2xEob9w94/eV5SU8BkYoN0R7EQghXi0fcF7T1unK+JwDgfoEs6wqApB5aCVYwguiaj8HGX2IRIQ==";
       };
     };
+    "@cspell/dict-powershell-1.0.19" = {
+      name = "_at_cspell_slash_dict-powershell";
+      packageName = "@cspell/dict-powershell";
+      version = "1.0.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-1.0.19.tgz";
+        sha512 = "zF/raM/lkhXeHf4I43OtK0gP9rBeEJFArscTVwLWOCIvNk21MJcNoTYoaGw+c056+Q+hJL0psGLO7QN+mxYH1A==";
+      };
+    };
     "@cspell/dict-powershell-3.0.0" = {
       name = "_at_cspell_slash_dict-powershell";
       packageName = "@cspell/dict-powershell";
@@ -3442,6 +3676,15 @@ let
         sha512 = "NdMHnS6xiYJKlzVoTV5CBhMiDpXMZ/PDcvXiOpxeR50xkjR18O/XFP4f4eDZpxGiBSUCMFRWf4JjILJ04Rpcfg==";
       };
     };
+    "@cspell/dict-python-1.0.38" = {
+      name = "_at_cspell_slash_dict-python";
+      packageName = "@cspell/dict-python";
+      version = "1.0.38";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-1.0.38.tgz";
+        sha512 = "KuyOQaby9NID/pn7EkXilpUxjVIvvyLzhr7BPsDS6FcvUE8Yhss6bJowEDHSv6pa+W2387phoqbDf2rTicquAA==";
+      };
+    };
     "@cspell/dict-python-4.0.0" = {
       name = "_at_cspell_slash_dict-python";
       packageName = "@cspell/dict-python";
@@ -3460,6 +3703,15 @@ let
         sha512 = "rdt1cKc3VL2uXJ2X088gRhTFreN/MkJWK1jccW1EWdFHLzDwhKfrlAkoLCp0paD6HvmloLQ+eSR09D58DdsYfA==";
       };
     };
+    "@cspell/dict-ruby-1.0.15" = {
+      name = "_at_cspell_slash_dict-ruby";
+      packageName = "@cspell/dict-ruby";
+      version = "1.0.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-1.0.15.tgz";
+        sha512 = "I76hJA///lc1pgmDTGUFHN/O8KLIZIU/8TgIYIGI6Ix/YzSEvWNdQYbANn6JbCynS0X+7IbZ2Ft+QqvmGtIWuA==";
+      };
+    };
     "@cspell/dict-ruby-3.0.0" = {
       name = "_at_cspell_slash_dict-ruby";
       packageName = "@cspell/dict-ruby";
@@ -3469,6 +3721,15 @@ let
         sha512 = "sA98T8Y1Pmq3RStVkO14E8vTWkq6JUn8c8PldiMyYgV0yfQgwhQfFAzlSfF3Gg2B0VkIdqt2et2SPN7f9wp7fQ==";
       };
     };
+    "@cspell/dict-rust-1.0.23" = {
+      name = "_at_cspell_slash_dict-rust";
+      packageName = "@cspell/dict-rust";
+      version = "1.0.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-1.0.23.tgz";
+        sha512 = "lR4boDzs79YD6+30mmiSGAMMdwh7HTBAPUFSB0obR3Kidibfc3GZ+MHWZXay5dxZ4nBKM06vyjtanF9VJ8q1Iw==";
+      };
+    };
     "@cspell/dict-rust-3.0.0" = {
       name = "_at_cspell_slash_dict-rust";
       packageName = "@cspell/dict-rust";
@@ -3478,6 +3739,15 @@ let
         sha512 = "L1T1IBsYJZVDmfOGAbVLcpc6arWxRRCSJYvHSwEDBGrNuMyJ4jx/NvBEz5crcKf4vVKgwVlXgzQlJJZ8AVxU9w==";
       };
     };
+    "@cspell/dict-scala-1.0.21" = {
+      name = "_at_cspell_slash_dict-scala";
+      packageName = "@cspell/dict-scala";
+      version = "1.0.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-1.0.21.tgz";
+        sha512 = "5V/R7PRbbminTpPS3ywgdAalI9BHzcEjEj9ug4kWYvBIGwSnS7T6QCFCiu+e9LvEGUqQC+NHgLY4zs1NaBj2vA==";
+      };
+    };
     "@cspell/dict-scala-3.0.0" = {
       name = "_at_cspell_slash_dict-scala";
       packageName = "@cspell/dict-scala";
@@ -3487,6 +3757,15 @@ let
         sha512 = "sIiCQDIMMnNns/fzD61z5npbh5pypaKq07Orqe0+eRfdQpika8iRSGUGFHVbtdd1JzB1DyTCV2e8OwdaQiXqJQ==";
       };
     };
+    "@cspell/dict-software-terms-1.0.48" = {
+      name = "_at_cspell_slash_dict-software-terms";
+      packageName = "@cspell/dict-software-terms";
+      version = "1.0.48";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-1.0.48.tgz";
+        sha512 = "pfF3Ys2gRffu5ElqkH7FQMDMi/iZMyOzpGMb3FSH0PJ2AnRQ5rRNWght1h2L36YxvXl0mWVaFrrfwiOyRIc8ZQ==";
+      };
+    };
     "@cspell/dict-software-terms-3.0.5" = {
       name = "_at_cspell_slash_dict-software-terms";
       packageName = "@cspell/dict-software-terms";
@@ -3514,6 +3793,15 @@ let
         sha512 = "VStJ0fKPPNIXKmxJrbGH6vKNtJCwAnQatfSH0fVj+Unf3QHHlmuLKRG0cN0aVgEIolpRkxNXJcSB3CPbYr0Xhw==";
       };
     };
+    "@cspell/dict-typescript-1.0.20" = {
+      name = "_at_cspell_slash_dict-typescript";
+      packageName = "@cspell/dict-typescript";
+      version = "1.0.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-1.0.20.tgz";
+        sha512 = "yIuGeeZtQA2gqpGefGjZqBl8iGJpIYWz0QzDqsscNi2qfSnLsbjM0RkRbTehM8y9gGGe7xfgUP5adxceJa5Krg==";
+      };
+    };
     "@cspell/dict-typescript-3.0.1" = {
       name = "_at_cspell_slash_dict-typescript";
       packageName = "@cspell/dict-typescript";
@@ -23396,6 +23684,15 @@ let
         sha512 = "aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==";
       };
     };
+    "comment-json-1.1.3" = {
+      name = "comment-json";
+      packageName = "comment-json";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/comment-json/-/comment-json-1.1.3.tgz";
+        sha512 = "gGSHSON1HdpFDb3WpU6C1tdksZV0lpfzoihXK+CD0l4xQ2TvHbVuiZy8Dg414ZqbeRxt2sU8d9kC0srpM2+RzQ==";
+      };
+    };
     "comment-json-4.2.3" = {
       name = "comment-json";
       packageName = "comment-json";
@@ -25134,6 +25431,15 @@ let
         sha512 = "x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==";
       };
     };
+    "cspell-dict-vimlang-1.0.1" = {
+      name = "cspell-dict-vimlang";
+      packageName = "cspell-dict-vimlang";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cspell-dict-vimlang/-/cspell-dict-vimlang-1.0.1.tgz";
+        sha512 = "pP2W2BvLrRKggS1fUk8qQw2FG8PhyV969dlwF3M0jAg/HH83n76H+KGdzGsmEut6VJFlJYQkd1ZZskjaeVWnrA==";
+      };
+    };
     "cspell-dictionary-6.14.0" = {
       name = "cspell-dictionary";
       packageName = "cspell-dictionary";
@@ -25152,6 +25458,15 @@ let
         sha512 = "WaA2bwQQ87YNzRGidi4IJpiTFJFzRJx1I97h2VWkZAiz7mxmIX+RHDsUxgVsIUy3S2SH5SF4bUmZwz8DWTGAAQ==";
       };
     };
+    "cspell-glob-0.1.25" = {
+      name = "cspell-glob";
+      packageName = "cspell-glob";
+      version = "0.1.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-0.1.25.tgz";
+        sha512 = "/XaSHrGBpMJa+duFz3GKOWfrijrfdHT7a/XGgIcq3cymCSpOH+DPho42sl0jLI/hjM+8yv2m8aEoxRT8yVSnlg==";
+      };
+    };
     "cspell-glob-6.14.0" = {
       name = "cspell-glob";
       packageName = "cspell-glob";
@@ -25170,6 +25485,15 @@ let
         sha512 = "0+W6tuHRYsFvrdh3HBTsQlYRWwv+RAok+YZaTv8ypmkMAISU13ipxL9SkEc/r/AermPd5JpJAfPNw8ZNWRVsAg==";
       };
     };
+    "cspell-io-4.1.7" = {
+      name = "cspell-io";
+      packageName = "cspell-io";
+      version = "4.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-4.1.7.tgz";
+        sha512 = "V0/tUu9FnIS3v+vAvDT6NNa14Nc/zUNX8+YUUOfFAiDJJTdqefmvcWjOJBIMYBf3wIk9iWLmLbMM+bNHqr7DSQ==";
+      };
+    };
     "cspell-io-6.14.0" = {
       name = "cspell-io";
       packageName = "cspell-io";
@@ -25179,6 +25503,15 @@ let
         sha512 = "KmjUQ2JrmH3/5JZtYvvjtlB4FWHwE75DrudYfnyFUTzLvVlSagNagfy5wPWTkydnRMdI23I7BOqBA+wtBydXcA==";
       };
     };
+    "cspell-lib-4.3.12" = {
+      name = "cspell-lib";
+      packageName = "cspell-lib";
+      version = "4.3.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-4.3.12.tgz";
+        sha512 = "yCCb6MoW1K8Tsr/WVEQoO4dfYhH9bCsjQayccb8MlyDaNNuWJHuX+gUGHsZSXSuChSh8PrTWKXJzs13/uM977g==";
+      };
+    };
     "cspell-lib-6.14.0" = {
       name = "cspell-lib";
       packageName = "cspell-lib";
@@ -25188,6 +25521,15 @@ let
         sha512 = "EqC/zhG7JSiYIcbzyPngFFrj5ElK0EACILKeqO/5lMvX19TdzaLDtnhY8ZHFY5+EIuaPkj4ahAqferx1gbJaDA==";
       };
     };
+    "cspell-trie-lib-4.2.8" = {
+      name = "cspell-trie-lib";
+      packageName = "cspell-trie-lib";
+      version = "4.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-4.2.8.tgz";
+        sha512 = "Nt3c0gxOYXIc3/yhALDukpje1BgR6guvlUKWQO2zb0r7qRWpwUw2j2YM4dWbHQeH/3Hx5ei4Braa6cMaiJ5YBw==";
+      };
+    };
     "cspell-trie-lib-6.14.0" = {
       name = "cspell-trie-lib";
       packageName = "cspell-trie-lib";
@@ -25197,6 +25539,15 @@ let
         sha512 = "JY2iRwp/6/qQYmOw2B8uhYDxP7VzqSWIo8rD5lHSivQMjH7lhVnQ2LPumMTa9IEOEesCkwNM8N+krndo12Ptqg==";
       };
     };
+    "cspell-util-bundle-4.1.11" = {
+      name = "cspell-util-bundle";
+      packageName = "cspell-util-bundle";
+      version = "4.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cspell-util-bundle/-/cspell-util-bundle-4.1.11.tgz";
+        sha512 = "or3OGKydZs1NwweMIgnA48k8H3F5zK4e5lonjUhpEzLYQZ2nB23decdoqZ8ogFC8pFTA40tZKDsMJ0b+65gX4Q==";
+      };
+    };
     "csrf-3.1.0" = {
       name = "csrf";
       packageName = "csrf";
@@ -35397,6 +35748,24 @@ let
         sha512 = "hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==";
       };
     };
+    "gensequence-2.3.0" = {
+      name = "gensequence";
+      packageName = "gensequence";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gensequence/-/gensequence-2.3.0.tgz";
+        sha512 = "XrmtQsfTd1Mdt60fNG3sDpmo7yX3UaCd2RzrfWGbgE86H2k/pppGs84zFV2WSh9UwXIVNs0O62HeIrxIcTZntQ==";
+      };
+    };
+    "gensequence-3.1.1" = {
+      name = "gensequence";
+      packageName = "gensequence";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gensequence/-/gensequence-3.1.1.tgz";
+        sha512 = "ys3h0hiteRwmY6BsvSttPmkhC0vEQHPJduANBRtH/dlDPZ0UBIb/dXy80IcckXyuQ6LKg+PloRqvGER9IS7F7g==";
+      };
+    };
     "gensequence-4.0.2" = {
       name = "gensequence";
       packageName = "gensequence";
@@ -42643,6 +43012,15 @@ let
         sha512 = "1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==";
       };
     };
+    "iterable-to-stream-1.0.1" = {
+      name = "iterable-to-stream";
+      packageName = "iterable-to-stream";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iterable-to-stream/-/iterable-to-stream-1.0.1.tgz";
+        sha512 = "O62gD5ADMUGtJoOoM9U6LQ7i4byPXUNoHJ6mqsmkQJcom331ZJGDApWgDESWyBMEHEJRjtHozgIiTzYo9RU4UA==";
+      };
+    };
     "iterall-1.1.3" = {
       name = "iterall";
       packageName = "iterall";
@@ -43517,6 +43895,15 @@ let
         sha512 = "XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg==";
       };
     };
+    "json-parser-1.1.5" = {
+      name = "json-parser";
+      packageName = "json-parser";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-parser/-/json-parser-1.1.5.tgz";
+        sha512 = "6wQrWqKdbvCQ4ccCM1+14Q2Z2XTXeUqwt3xEaGe/GpsObJRh1n1Z+5ZeHosmfSpN5bJKDfeNRy9jOE+wQRduOg==";
+      };
+    };
     "json-pointer-0.6.2" = {
       name = "json-pointer";
       packageName = "json-pointer";
@@ -53203,6 +53590,15 @@ let
         sha512 = "ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==";
       };
     };
+    "node-watch-0.6.4" = {
+      name = "node-watch";
+      packageName = "node-watch";
+      version = "0.6.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-watch/-/node-watch-0.6.4.tgz";
+        sha512 = "cI6CHzivIFESe8djiK3Wh90CtWQBxLwMem8x8S+2GSvCvFgoMuOKVlfJtQ/2v3Afg3wOnHl/+tXotEs8z5vOrg==";
+      };
+    };
     "node-watch-0.7.3" = {
       name = "node-watch";
       packageName = "node-watch";
@@ -94338,6 +94734,141 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  coc-spell-checker = nodeEnv.buildNodePackage {
+    name = "coc-spell-checker";
+    packageName = "coc-spell-checker";
+    version = "1.2.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/coc-spell-checker/-/coc-spell-checker-1.2.0.tgz";
+      sha512 = "TuwqtkoDN8MvxLNC7R0932vgAVY+eRIrL4dZoWtIhgQF3WTlIAQBrgC0AHuF0v8q/QeZU8hxEqDIyfTwIKXXJw==";
+    };
+    dependencies = [
+      sources."@cspell/dict-aws-1.0.14"
+      sources."@cspell/dict-bash-1.0.18"
+      sources."@cspell/dict-companies-1.0.40"
+      sources."@cspell/dict-cpp-1.1.40"
+      sources."@cspell/dict-cryptocurrencies-1.0.10"
+      sources."@cspell/dict-csharp-1.0.11"
+      sources."@cspell/dict-css-1.0.13"
+      sources."@cspell/dict-django-1.0.26"
+      sources."@cspell/dict-dotnet-1.0.32"
+      sources."@cspell/dict-elixir-1.0.26"
+      sources."@cspell/dict-en-gb-1.1.33"
+      sources."@cspell/dict-en_us-1.2.45"
+      sources."@cspell/dict-filetypes-1.1.8"
+      sources."@cspell/dict-fonts-1.0.14"
+      sources."@cspell/dict-fullstack-1.0.39"
+      sources."@cspell/dict-golang-1.1.24"
+      sources."@cspell/dict-haskell-1.0.13"
+      sources."@cspell/dict-html-1.1.9"
+      sources."@cspell/dict-html-symbol-entities-1.0.23"
+      sources."@cspell/dict-java-1.0.23"
+      sources."@cspell/dict-latex-1.0.25"
+      sources."@cspell/dict-lorem-ipsum-1.0.22"
+      sources."@cspell/dict-lua-1.0.16"
+      sources."@cspell/dict-node-1.0.12"
+      sources."@cspell/dict-npm-1.0.16"
+      sources."@cspell/dict-php-1.0.25"
+      sources."@cspell/dict-powershell-1.0.19"
+      sources."@cspell/dict-python-1.0.38"
+      sources."@cspell/dict-ruby-1.0.15"
+      sources."@cspell/dict-rust-1.0.23"
+      sources."@cspell/dict-scala-1.0.21"
+      sources."@cspell/dict-software-terms-1.0.48"
+      sources."@cspell/dict-typescript-1.0.20"
+      sources."array-timsort-1.0.3"
+      sources."at-least-node-1.0.0"
+      sources."balanced-match-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
+      sources."comment-json-1.1.3"
+      sources."concat-map-0.0.1"
+      sources."configstore-5.0.1"
+      sources."core-util-is-1.0.3"
+      sources."crypto-random-string-2.0.0"
+      sources."cspell-dict-vimlang-1.0.1"
+      sources."cspell-glob-0.1.25"
+      (sources."cspell-io-4.1.7" // {
+        dependencies = [
+          sources."iconv-lite-0.6.3"
+        ];
+      })
+      (sources."cspell-lib-4.3.12" // {
+        dependencies = [
+          sources."comment-json-4.2.3"
+          sources."esprima-4.0.1"
+          sources."fs-extra-9.1.0"
+          sources."gensequence-3.1.1"
+          sources."vscode-uri-3.0.6"
+        ];
+      })
+      (sources."cspell-trie-lib-4.2.8" // {
+        dependencies = [
+          sources."gensequence-3.1.1"
+        ];
+      })
+      sources."cspell-util-bundle-4.1.11"
+      sources."dot-prop-5.3.0"
+      sources."esprima-2.7.3"
+      sources."fill-range-7.0.1"
+      (sources."fs-extra-8.1.0" // {
+        dependencies = [
+          sources."jsonfile-4.0.0"
+          sources."universalify-0.1.2"
+        ];
+      })
+      sources."gensequence-2.3.0"
+      sources."global-dirs-0.1.1"
+      sources."graceful-fs-4.2.10"
+      sources."has-own-prop-2.0.0"
+      sources."iconv-lite-0.4.24"
+      sources."imurmurhash-0.1.4"
+      sources."ini-1.3.8"
+      sources."is-number-7.0.0"
+      sources."is-obj-2.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."iterable-to-stream-1.0.1"
+      sources."json-parser-1.1.5"
+      sources."jsonfile-6.1.0"
+      sources."make-dir-3.1.0"
+      sources."micromatch-4.0.5"
+      sources."minimatch-3.1.2"
+      sources."node-watch-0.6.4"
+      sources."picomatch-2.3.1"
+      sources."repeat-string-1.6.1"
+      sources."resolve-from-5.0.0"
+      sources."resolve-global-1.0.0"
+      sources."rxjs-6.6.7"
+      sources."safer-buffer-2.1.2"
+      sources."semver-6.3.0"
+      sources."signal-exit-3.0.7"
+      sources."to-regex-range-5.0.1"
+      sources."tslib-1.14.1"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."unique-string-2.0.0"
+      sources."universalify-2.0.0"
+      sources."vscode-jsonrpc-4.0.0"
+      (sources."vscode-languageserver-5.2.1" // {
+        dependencies = [
+          sources."vscode-uri-1.0.8"
+        ];
+      })
+      sources."vscode-languageserver-protocol-3.14.1"
+      sources."vscode-languageserver-types-3.14.0"
+      sources."vscode-uri-2.1.2"
+      sources."write-file-atomic-3.0.3"
+      sources."xdg-basedir-4.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Spelling checker for source code";
+      homepage = "https://github.com/iamcco/coc-spell-checker";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   coc-stylelint = nodeEnv.buildNodePackage {
     name = "coc-stylelint";
     packageName = "coc-stylelint";
diff --git a/pkgs/development/ocaml-modules/cudf/default.nix b/pkgs/development/ocaml-modules/cudf/default.nix
index 54e96e047e5d4..c3b0a3c29c02f 100644
--- a/pkgs/development/ocaml-modules/cudf/default.nix
+++ b/pkgs/development/ocaml-modules/cudf/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, stdenv, ocaml, ocamlbuild, findlib, ocaml_extlib, glib, perl, pkg-config, stdlib-shims, ounit }:
+{ lib, fetchurl, stdenv, ocaml, ocamlbuild, findlib, extlib, glib, perl, pkg-config, stdlib-shims, ounit }:
 
 stdenv.mkDerivation {
   pname = "ocaml${ocaml.version}-cudf";
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
     stdlib-shims
   ];
   propagatedBuildInputs = [
-    ocaml_extlib
+    extlib
   ];
 
   checkTarget = [
diff --git a/pkgs/development/ocaml-modules/dose3/default.nix b/pkgs/development/ocaml-modules/dose3/default.nix
index daf5b3779d735..5f71375dc46fe 100644
--- a/pkgs/development/ocaml-modules/dose3/default.nix
+++ b/pkgs/development/ocaml-modules/dose3/default.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, fetchFromGitLab
 , camlzip, ocamlgraph, parmap, re, stdlib-shims
-, base64, bz2, ocaml_extlib, cudf
+, base64, bz2, extlib, cudf
 , dpkg, git, ocaml, ounit, python39, python39Packages
 }:
 
@@ -27,7 +27,7 @@ buildDunePackage rec {
     bz2
     camlzip
     cudf
-    ocaml_extlib
+    extlib
     ocamlgraph
     re
     stdlib-shims
diff --git a/pkgs/development/ocaml-modules/extlib/1.7.7.nix b/pkgs/development/ocaml-modules/extlib/1.7.7.nix
index d27fe085569f1..7ab61a146a95a 100644
--- a/pkgs/development/ocaml-modules/extlib/1.7.7.nix
+++ b/pkgs/development/ocaml-modules/extlib/1.7.7.nix
@@ -1,14 +1,33 @@
 # Older version of extlib for Haxe 4.0 and 4.1.
 # May be replaceable by the next extlib + extlib-base64 release.
-{ lib, fetchurl, ocaml, ocaml_extlib }:
+{ stdenv, lib, fetchurl, ocaml, findlib, cppo
+# De facto, option minimal seems to be the default. See the README.
+, minimal ? true
+}:
 
-ocaml_extlib.overrideAttrs (x: rec {
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-extlib";
   version = "1.7.7";
+
   src = fetchurl {
-    url = "https://github.com/ygrek/ocaml-extlib/releases/download/${version}/extlib-${version}.tar.gz";
+    url = "https://ygrek.org/p/release/ocaml-extlib/extlib-${version}.tar.gz";
     sha256 = "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1";
   };
-  meta = x.meta // {
+
+  nativeBuildInputs = [ ocaml findlib cppo ];
+
+  strictDeps = true;
+
+  createFindlibDestdir = true;
+
+  makeFlags = lib.optional minimal "minimal=1";
+
+  meta = {
+    homepage = "https://github.com/ygrek/ocaml-extlib";
+    description = "Enhancements to the OCaml Standard Library modules";
+    license = lib.licenses.lgpl21Only;
+    inherit (ocaml.meta) platforms;
+    maintainers = [ lib.maintainers.sternenseemann ];
     broken = lib.versionAtLeast ocaml.version "4.12";
   };
-})
+}
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index 7baee7a6032a8..35b8c59091cc5 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -1,30 +1,24 @@
-{ stdenv, lib, fetchurl, ocaml, findlib, cppo
-# De facto, option minimal seems to be the default. See the README.
-, minimal ? true
-}:
+{ buildDunePackage, lib, fetchurl, cppo }:
 
-stdenv.mkDerivation rec {
-  pname = "ocaml${ocaml.version}-extlib";
-  version = "1.7.8";
+buildDunePackage rec {
+  pname = "extlib";
+  version = "1.7.9";
+
+  minimalOCamlVersion = "4.02";
 
   src = fetchurl {
-    url = "https://ygrek.org/p/release/ocaml-extlib/extlib-${version}.tar.gz";
-    sha256 = "0npq4hq3zym8nmlyji7l5cqk6drx2rkcx73d60rxqh5g8dla8p4k";
+    url = "https://ygrek.org/p/release/ocaml-${pname}/${pname}-${version}.tar.gz";
+    sha512 = "2386ac69f037ea520835c0624d39ae9fbffe43a20b18e247de032232ed6f419d667b53d2314c6f56dc71d368bf0b6201a56c2f3f2a5bdfd933766c5a6cb98768";
   };
 
-  nativeBuildInputs = [ ocaml findlib cppo ];
-
-  strictDeps = true;
-
-  createFindlibDestdir = true;
+  nativeBuildInputs = [ cppo ];
 
-  makeFlags = lib.optional minimal "minimal=1";
+  doCheck = true;
 
   meta = {
     homepage = "https://github.com/ygrek/ocaml-extlib";
     description = "Enhancements to the OCaml Standard Library modules";
     license = lib.licenses.lgpl21Only;
-    inherit (ocaml.meta) platforms;
     maintainers = [ lib.maintainers.sternenseemann ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/iter/default.nix b/pkgs/development/ocaml-modules/iter/default.nix
index 0154029b55042..3faa8244b6d76 100644
--- a/pkgs/development/ocaml-modules/iter/default.nix
+++ b/pkgs/development/ocaml-modules/iter/default.nix
@@ -1,25 +1,24 @@
 { lib, fetchFromGitHub, buildDunePackage, ocaml, dune-configurator
-, mdx, qtest, result
+, result, seq
+, mdx, ounit2, qcheck-core
 }:
 
 buildDunePackage rec {
   pname = "iter";
-  version = "1.4";
-
-  useDune2 = true;
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner = "c-cube";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Kk92GM7IVXOSVBkeN6wj67Q3UGCyuOOVi2umpn1AZTo=";
+    sha256 = "sha256-FbM/Vk/h4wkrBjyf9/QXTvTOA0nNqsdHP1mDnVkg1is=";
   };
 
   buildInputs = [ dune-configurator ];
-  propagatedBuildInputs = [ result ];
+  propagatedBuildInputs = [ result seq ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  checkInputs = [ mdx.bin qtest ];
+  checkInputs = [ mdx.bin ounit2 qcheck-core ];
 
   meta = {
     homepage = "https://github.com/c-cube/sequence";
diff --git a/pkgs/development/ocaml-modules/lustre-v6/default.nix b/pkgs/development/ocaml-modules/lustre-v6/default.nix
index 3cc7a25a36aa6..419ae432ed37f 100644
--- a/pkgs/development/ocaml-modules/lustre-v6/default.nix
+++ b/pkgs/development/ocaml-modules/lustre-v6/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, fetchurl, ocaml_extlib, lutils, rdbg }:
+{ lib, buildDunePackage, fetchurl, extlib, lutils, rdbg }:
 
 buildDunePackage rec {
   pname = "lustre-v6";
@@ -14,7 +14,7 @@ buildDunePackage rec {
   };
 
   propagatedBuildInputs = [
-    ocaml_extlib
+    extlib
     lutils
     rdbg
   ];
diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
index 33f9f2d8e6b05..7952f811e7bef 100644
--- a/pkgs/development/ocaml-modules/mlgmpidl/default.nix
+++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, lib, fetchFromGitHub, perl, ocaml, findlib, camlidl, gmp, mpfr }:
+{ stdenv, lib, fetchFromGitHub, perl, ocaml, findlib, camlidl, gmp, mpfr, bigarray-compat }:
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-mlgmpidl";
-  version = "1.2.12";
+  version = "1.2.15";
   src = fetchFromGitHub {
     owner = "nberth";
     repo = "mlgmpidl";
     rev = version;
-    sha256 = "17xqiclaqs4hmnb92p9z6z9a1xfr31vcn8nlnj8ykk57by31vfza";
+    sha256 = "sha256-85wy5eVWb5qdaa2lLDcfqlUTIY7vnN3nGMdxoj5BslU=";
   };
 
   nativeBuildInputs = [ perl ocaml findlib camlidl ];
   buildInputs = [ gmp mpfr ];
+  propagatedBuildInputs = [ bigarray-compat ];
 
   strictDeps = true;
 
@@ -19,6 +20,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--gmp-prefix ${gmp.dev}"
     "--mpfr-prefix ${mpfr.dev}"
+    "-disable-profiling"
   ];
 
   postConfigure = ''
diff --git a/pkgs/development/ocaml-modules/tcslib/default.nix b/pkgs/development/ocaml-modules/tcslib/default.nix
index a8ddea79b77f2..4454359d5845d 100644
--- a/pkgs/development/ocaml-modules/tcslib/default.nix
+++ b/pkgs/development/ocaml-modules/tcslib/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, ocamlPackages, buildOasisPackage, ounit, ocaml_extlib, num }:
+{ lib, fetchFromGitHub, ocamlPackages, buildOasisPackage, ounit, extlib, num }:
 
 buildOasisPackage rec {
   pname = "tcslib";
@@ -14,7 +14,7 @@ buildOasisPackage rec {
   };
 
   buildInputs = [ ounit ];
-  propagatedBuildInputs = [ ocaml_extlib num ];
+  propagatedBuildInputs = [ extlib num ];
 
   meta = {
     homepage = "https://github.com/tcsprojects/tcslib";
diff --git a/pkgs/development/php-packages/datadog_trace/default.nix b/pkgs/development/php-packages/datadog_trace/default.nix
index 9b91d85fefe5f..f77433a8a9ec3 100644
--- a/pkgs/development/php-packages/datadog_trace/default.nix
+++ b/pkgs/development/php-packages/datadog_trace/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, curl, fetchFromGitHub, lib, pcre2 }:
+{ buildPecl, curl, fetchFromGitHub, lib, pcre2, php }:
 
 buildPecl rec {
   pname = "ddtrace";
@@ -14,6 +14,7 @@ buildPecl rec {
   buildInputs = [ curl pcre2 ];
 
   meta = with lib; {
+    broken = lib.versionOlder php.version "8.1"; # Broken on PHP older than 8.1.
     description = "Datadog Tracing PHP Client";
     homepage = "https://github.com/DataDog/dd-trace-php";
     license = licenses.apsl20;
diff --git a/pkgs/development/php-packages/gnupg/default.nix b/pkgs/development/php-packages/gnupg/default.nix
index 1d0b65d2c5625..22ce2be4473b5 100644
--- a/pkgs/development/php-packages/gnupg/default.nix
+++ b/pkgs/development/php-packages/gnupg/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, lib, gpgme, file, gnupg }:
+{ buildPecl, lib, gpgme, file, gnupg, php }:
 
 buildPecl {
   pname = "gnupg";
@@ -29,6 +29,7 @@ buildPecl {
   doCheck = true;
 
   meta = with lib; {
+    broken = lib.versionOlder php.version "8.1"; # Broken on PHP older than 8.1.
     description = "PHP wrapper for GpgME library that provides access to GnuPG";
     license = licenses.bsd3;
     homepage = "https://pecl.php.net/package/gnupg";
diff --git a/pkgs/development/php-packages/oci8/default.nix b/pkgs/development/php-packages/oci8/default.nix
index 2657a67d38ba7..477eea5898e59 100644
--- a/pkgs/development/php-packages/oci8/default.nix
+++ b/pkgs/development/php-packages/oci8/default.nix
@@ -1,12 +1,18 @@
-{ buildPecl, lib, oracle-instantclient }:
+{ buildPecl, lib, oracle-instantclient, php }:
+
 let
-  version = "3.0.1";
-  sha256 = "108ds92620dih5768z19hi0jxfa7wfg5hdvyyvpapir87c0ap914";
+  versionData = if (lib.versionOlder php.version "8.1") then {
+    version = "3.0.1";
+    sha256 = "108ds92620dih5768z19hi0jxfa7wfg5hdvyyvpapir87c0ap914";
+  } else {
+    version = "3.2.1";
+    sha256 = "zyF703DzRZDBhlNFFt/dknmZ7layqhgjG1/ZDN+PEsg=";
+  };
 in
 buildPecl {
   pname = "oci8";
 
-  inherit version sha256;
+  inherit (versionData) version sha256;
 
   buildInputs = [ oracle-instantclient ];
   configureFlags = [ "--with-oci8=shared,instantclient,${oracle-instantclient.lib}/lib" ];
diff --git a/pkgs/development/php-packages/xdebug/default.nix b/pkgs/development/php-packages/xdebug/default.nix
index 80b0ec73109c3..388360462dcf6 100644
--- a/pkgs/development/php-packages/xdebug/default.nix
+++ b/pkgs/development/php-packages/xdebug/default.nix
@@ -1,10 +1,18 @@
-{ buildPecl, lib }:
+{ buildPecl, lib, php }:
 
+let
+  versionData = if (lib.versionOlder php.version "8.1") then {
+    version = "3.1.6";
+    sha256 = "1lnmrb5kgq8lbhjs48j3wwhqgk44pnqb1yjq4b5r6ysv9l5wlkjm";
+  } else {
+    version = "3.2.0RC2";
+    sha256 = "dQgXDP3Ifg+D0niWxaJ4ec71Vfr8KH40jv6QbxSyY+4=";
+  };
+in
 buildPecl {
   pname = "xdebug";
 
-  version = "3.1.6";
-  sha256 = "1lnmrb5kgq8lbhjs48j3wwhqgk44pnqb1yjq4b5r6ysv9l5wlkjm";
+  inherit (versionData) version sha256;
 
   doCheck = true;
   checkTarget = "test";
diff --git a/pkgs/development/python-modules/aioairzone/default.nix b/pkgs/development/python-modules/aioairzone/default.nix
index 61b67cb32a31f..98bb7a8c7bc34 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.4.9";
+  version = "0.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qG+EPZjH3I4TRGka7J21ukGpuJQfA/Nuy6DbIUnykcs=";
+    hash = "sha256-L2R4Qu72bvUjJyE/bBMeKufK/TAFw9u/oGowS1rCqP4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index c1fd962a41f31..87db5ad026a73 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "11.4.3";
+  version = "11.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-g901qWU6aiaV0kLmtWJffXZrOsKjvOGI0TOgQFzuuPA=";
+    hash = "sha256-z3ILdtxDU4xLBY5mVAKal2nBo2sdO5rlSQDyexwHUtI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aioftp/default.nix b/pkgs/development/python-modules/aioftp/default.nix
index df7575de04842..37f8d9fa3353b 100644
--- a/pkgs/development/python-modules/aioftp/default.nix
+++ b/pkgs/development/python-modules/aioftp/default.nix
@@ -33,10 +33,6 @@ buildPythonPackage rec {
     trustme
   ];
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   disabledTests = lib.optionals stdenv.isDarwin [
     # uses 127.0.0.2, which macos doesn't like
     "test_pasv_connection_pasv_forced_response_address"
diff --git a/pkgs/development/python-modules/aiogithubapi/default.nix b/pkgs/development/python-modules/aiogithubapi/default.nix
index 248443ff2360d..051913ccce564 100644
--- a/pkgs/development/python-modules/aiogithubapi/default.nix
+++ b/pkgs/development/python-modules/aiogithubapi/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix
index a72d728787604..18bbaff15da6a 100644
--- a/pkgs/development/python-modules/aiohomekit/default.nix
+++ b/pkgs/development/python-modules/aiohomekit/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "aiohomekit";
-  version = "2.2.19";
+  version = "2.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "Jc2k";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-x1Cah47EupdqLxwoJBLmN3AtC7zYqGZTP0nbLLsC3a0=";
+    hash = "sha256-dX3yz7b3fejLFtlk5CKBQzk+o9FpLtxyZYt5SaybBJM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioswitcher/default.nix b/pkgs/development/python-modules/aioswitcher/default.nix
index 4c7a382813c57..5a671bce26ce6 100644
--- a/pkgs/development/python-modules/aioswitcher/default.nix
+++ b/pkgs/development/python-modules/aioswitcher/default.nix
@@ -44,10 +44,6 @@ buildPythonPackage rec {
     time-machine
   ];
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   disabledTests = [
     # AssertionError: Expected <14:00> to be equal to <17:00>, but was not.
     "test_schedule_parser_with_a_weekly_recurring_enabled_schedule_data"
diff --git a/pkgs/development/python-modules/aiosyncthing/default.nix b/pkgs/development/python-modules/aiosyncthing/default.nix
index 624c86fb314b5..cefdf75a2866c 100644
--- a/pkgs/development/python-modules/aiosyncthing/default.nix
+++ b/pkgs/development/python-modules/aiosyncthing/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/amqtt/default.nix b/pkgs/development/python-modules/amqtt/default.nix
index ecf326a9a21a9..6f4a5007e7c6c 100644
--- a/pkgs/development/python-modules/amqtt/default.nix
+++ b/pkgs/development/python-modules/amqtt/default.nix
@@ -56,7 +56,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/aprslib/default.nix b/pkgs/development/python-modules/aprslib/default.nix
index 7c2fa222bd2cf..789b506e7ff6d 100644
--- a/pkgs/development/python-modules/aprslib/default.nix
+++ b/pkgs/development/python-modules/aprslib/default.nix
@@ -1,21 +1,29 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , mox3
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "aprslib";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "rossengeorgiev";
     repo = "aprs-python";
     rev = "v${version}";
-    hash = "sha256-wWlzOFhWJ7hJeM3RWsPTEsLjRzN4SMXsb2Cd612HB4w=";
+    hash = "sha256-2bYTnbJ8wF/smTpZ2tV+3ZRae7FpbNBtXoaR2Sc9Pek=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/rossengeorgiev/aprs-python/commit/c2a0f18ce028a4cced582567a73d57f0d03cd00f.patch";
+      hash = "sha256-uxiLIagz1PIUUa6/qdBW15yhm/0QXqznVzZnzUVCWuQ=";
+    })
+  ];
+
   checkInputs = [
     mox3
     pytestCheckHook
diff --git a/pkgs/development/python-modules/arviz/default.nix b/pkgs/development/python-modules/arviz/default.nix
index eb5cbc90efa9f..4dd4415127f23 100644
--- a/pkgs/development/python-modules/arviz/default.nix
+++ b/pkgs/development/python-modules/arviz/default.nix
@@ -31,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "arviz";
-  version = "0.13.0";
+  version = "0.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -39,8 +39,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "arviz-devs";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-DGTGUMnkEQcwGR44WhmBpTBMcRcAtVIpM4YVnnlakE8=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-YLNczcgVmcctNc620Ap9yQtQTwF1LREtL57JIWS/DKQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/awacs/default.nix b/pkgs/development/python-modules/awacs/default.nix
new file mode 100644
index 0000000000000..38ca2a11563c1
--- /dev/null
+++ b/pkgs/development/python-modules/awacs/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, python
+
+  # python dependencies
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "awacs";
+  version = "2.2.0";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-zWRQHxjHogmSKSqnvQLJCdoilkOlJ07p00lN+U46WkU=";
+  };
+
+  propagatedBuildInputs = lib.lists.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
+  pythonImportsCheck = [ "awacs" ];
+
+  meta = with lib; {
+    description = "AWS Access Policy Language creation library";
+    maintainers = with maintainers; [ jlesquembre ];
+    license = licenses.bsd2;
+    homepage = "https://github.com/cloudtools/awacs";
+  };
+}
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index b5198752ad82f..b7c2cf8994d44 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "1.20.0";
+  version = "1.23.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+XOxz3xWIYacfUizztd4mH5kvBw/dkN9WiS38dONs7Y=";
+    hash = "sha256-3jzUowSeO6j7DzIlOkeU3KUFFIUi7cEyvjbIL8uRGcU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-security/default.nix b/pkgs/development/python-modules/azure-mgmt-security/default.nix
index 30c4fe2e7627a..f0c116a1bb68b 100644
--- a/pkgs/development/python-modules/azure-mgmt-security/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-security/default.nix
@@ -1,18 +1,24 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
+{ lib
+, buildPythonPackage
+, fetchPypi
 , azure-common
 , azure-mgmt-core
 , msrest
 , msrestazure
+, pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
-  version = "2.0.0";
   pname = "azure-mgmt-security";
-  disabled = isPy27;
+  version = "3.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2sr3clHf5EvbXAx5FH3d3ab1/Y48r6Ojww3p9WX35aM=";
+    hash = "sha256-vLp874V/awKi2Yr+sH+YcbFij6M9iGGrE4fnMufbP4Q=";
     extension = "zip";
   };
 
@@ -21,12 +27,17 @@ buildPythonPackage rec {
     azure-mgmt-core
     msrest
     msrestazure
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    typing-extensions
   ];
 
   # no tests included
   doCheck = false;
 
-  pythonImportsCheck = [ "azure.common" "azure.mgmt.security" ];
+  pythonImportsCheck = [
+    "azure.common"
+    "azure.mgmt.security"
+  ];
 
   meta = with lib; {
     description = "Microsoft Azure Security Center Management Client Library for Python";
diff --git a/pkgs/development/python-modules/azure-mgmt-storage/default.nix b/pkgs/development/python-modules/azure-mgmt-storage/default.nix
index 417264a70ffa0..0ba50dc3f8630 100644
--- a/pkgs/development/python-modules/azure-mgmt-storage/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-storage/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-storage";
-  version = "20.1.0";
+  version = "21.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-IU8/3oyR4n1T8uZUoo0VADrT9vFchDioIF8MiKSNlFE=";
+    hash = "sha256-brE+7s+JGVsrX0e+Bnnj8niI79e9ITLux+vLznXLE3c=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bibtexparser/default.nix b/pkgs/development/python-modules/bibtexparser/default.nix
index 835ee405a2a13..4545eaeaef6d3 100644
--- a/pkgs/development/python-modules/bibtexparser/default.nix
+++ b/pkgs/development/python-modules/bibtexparser/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, future
 , pyparsing
 , pytestCheckHook
 , pythonOlder
@@ -22,7 +21,6 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    future
     pyparsing
   ];
 
@@ -30,12 +28,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    # https://github.com/sciunto-org/python-bibtexparser/pull/259
-    substituteInPlace bibtexparser/tests/test_crossref_resolving.py \
-      --replace "import unittest2 as unittest" "import unittest"
-  '';
-
   pythonImportsCheck = [
     "bibtexparser"
   ];
diff --git a/pkgs/development/python-modules/bleak-retry-connector/default.nix b/pkgs/development/python-modules/bleak-retry-connector/default.nix
index c1e3a89eb7486..843a955cd0699 100644
--- a/pkgs/development/python-modules/bleak-retry-connector/default.nix
+++ b/pkgs/development/python-modules/bleak-retry-connector/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "bleak-retry-connector";
-  version = "2.8.3";
+  version = "2.8.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-XBIBI/39l0JOJOX5GChTJ+Snwb9jjfofmM4cAdsV8lg=";
+    hash = "sha256-eXHgxjSmr+BH+kI3qLbjq+z+YGRbyrvYvDgx6xwt2os=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/bluetooth-adapters/default.nix b/pkgs/development/python-modules/bluetooth-adapters/default.nix
index 1ad12fffd5053..b696b6b9369e1 100644
--- a/pkgs/development/python-modules/bluetooth-adapters/default.nix
+++ b/pkgs/development/python-modules/bluetooth-adapters/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-adapters";
-  version = "0.7.0";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-c6blw0WD1V4bNZ5YaVjLbeCIug8l7PeKlrv+kzncK/s=";
+    hash = "sha256-K5EeDcGcjrZYQTbuYAzT7XhcAqpYW1w/jP5T0cOPsVU=";
   };
 
   postPatch = ''
@@ -58,9 +58,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/bluetooth-devices/bluetooth-adapters/blob/main/CHANGELOG.md";
     description = "Tools to enumerate and find Bluetooth Adapters";
     homepage = "https://bluetooth-adapters.readthedocs.io/";
+    changelog = "https://github.com/bluetooth-devices/bluetooth-adapters/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = teams.home-assistant.members;
   };
diff --git a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
index 602f87584ef7a..32b9c16db880b 100644
--- a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
+++ b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-auto-recovery";
-  version = "0.3.6";
+  version = "0.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "Bluetooth-Devices";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-2GmBO67sUIjasF5MHrDkZ4D+dk3xN+HNpc7nSN+qTaQ=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-juGrrUqPgg1bJsMZP0iitp0NW/XrCxNq/+/fx5QNkQ4=";
   };
 
   nativeBuildInputs = [
@@ -49,6 +49,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for recovering Bluetooth adapters";
     homepage = "https://github.com/Bluetooth-Devices/bluetooth-auto-recovery";
+    changelog = "https://github.com/Bluetooth-Devices/bluetooth-auto-recovery/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/bluetooth-data-tools/default.nix b/pkgs/development/python-modules/bluetooth-data-tools/default.nix
index 7a17d84a666c2..42c6965302f66 100644
--- a/pkgs/development/python-modules/bluetooth-data-tools/default.nix
+++ b/pkgs/development/python-modules/bluetooth-data-tools/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-data-tools";
-  version = "0.2.0";
+  version = "0.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "Bluetooth-Devices";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-5FOFN2B35dTYuZhO09HZ/sNkY5X16bICP+qWzmrua5o=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-bZ2kT9yIIHFd3/INIuJh3MdKzF8NCYNeVS/Egg5+S7I=";
   };
 
   nativeBuildInputs = [
@@ -40,6 +40,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for converting bluetooth data and packets";
     homepage = "https://github.com/Bluetooth-Devices/bluetooth-data-tools";
+    changelog = "https://github.com/Bluetooth-Devices/bluetooth-data-tools/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/boschshcpy/default.nix b/pkgs/development/python-modules/boschshcpy/default.nix
index 9b824c33e7b2c..daee50ffa8320 100644
--- a/pkgs/development/python-modules/boschshcpy/default.nix
+++ b/pkgs/development/python-modules/boschshcpy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "boschshcpy";
-  version = "0.2.35";
+  version = "0.2.36";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tschamm";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MzVv0HN87eDsz0mP/rqH6FZVRgq95iTuu8mikkofT30=";
+    sha256 = "sha256-X/nlu/hwdgmUOw7+hALRhyCG/vphnWAK22fSWuUAjs0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/boxx/default.nix b/pkgs/development/python-modules/boxx/default.nix
index cec5c0d638dd8..43fea29cc2f56 100644
--- a/pkgs/development/python-modules/boxx/default.nix
+++ b/pkgs/development/python-modules/boxx/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "boxx";
-  version = "0.10.7";
+  version = "0.10.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OPbqCsTZZskZOJMcK1OJsG3Qgx4K0X217g5pNWQZDAM=";
+    hash = "sha256-uk4DYmbV/4zSyL2QzlAJLvgC6ieBjP/xkuyDktUEmIo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bthome-ble/default.nix b/pkgs/development/python-modules/bthome-ble/default.nix
index 4e53728642df8..5831ea18ee33d 100644
--- a/pkgs/development/python-modules/bthome-ble/default.nix
+++ b/pkgs/development/python-modules/bthome-ble/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "bthome-ble";
-  version = "2.2.1";
+  version = "2.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "Bluetooth-Devices";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-IaDnQCZJZipiPW6lOLrdxw7QfPx/zlwaizkBxv8I2V8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-4KsMYQQN/4A2sbk2Fj8CYOBf7/UAciJ4wTSFYZaCfdk=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +51,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for BThome BLE devices";
     homepage = "https://github.com/Bluetooth-Devices/bthome-ble";
+    changelog = "https://github.com/bluetooth-devices/bthome-ble/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/channels/default.nix b/pkgs/development/python-modules/channels/default.nix
index 5bc2db228ae48..2d6f0d0091690 100644
--- a/pkgs/development/python-modules/channels/default.nix
+++ b/pkgs/development/python-modules/channels/default.nix
@@ -41,10 +41,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ] ++ passthru.optional-dependencies.daphne;
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   pythonImportsCheck = [
     "channels"
   ];
diff --git a/pkgs/development/python-modules/check-manifest/default.nix b/pkgs/development/python-modules/check-manifest/default.nix
index 6c91633e8af05..4b62451ebdd1b 100644
--- a/pkgs/development/python-modules/check-manifest/default.nix
+++ b/pkgs/development/python-modules/check-manifest/default.nix
@@ -3,6 +3,7 @@
 , build
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , git
 , mock
 , pep517
@@ -23,6 +24,14 @@ buildPythonPackage rec {
     hash = "sha256-O1dfHa3nvrMHjvS/M6lFGYNEV8coHbxyaxXFRmtVxlc=";
   };
 
+  patches = [
+    # Fix git submodule tests using file: protocol
+    (fetchpatch {
+      url = "https://github.com/mgedmin/check-manifest/pull/159.patch";
+      hash = "sha256-CDtuIoHgP4THLt+xF32C/OrjakwPOEVTKUh5JuQB5wM=";
+    })
+  ];
+
   propagatedBuildInputs = [
     build
     pep517
diff --git a/pkgs/development/python-modules/clickhouse-cityhash/default.nix b/pkgs/development/python-modules/clickhouse-cityhash/default.nix
index 4e632cb34038b..73be71e67e5b8 100644
--- a/pkgs/development/python-modules/clickhouse-cityhash/default.nix
+++ b/pkgs/development/python-modules/clickhouse-cityhash/default.nix
@@ -2,21 +2,30 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "clickhouse-cityhash";
-  version = "1.0.2.3";
+  version = "1.0.2.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0z8nl0ly2p1h6nygwxs6y40q8y424w40fkjv3jyf8vvcg4h7sdrg";
+    sha256 = "sha256-ezEl19CqE8LMTnWDqWWmv7CqlqEhMUdbRCVSustV9Pg=";
   };
 
-  propagatedBuildInputs = [ setuptools ];
+  propagatedBuildInputs = [
+    setuptools
+  ];
 
   doCheck = false;
-  pythonImportsCheck = [ "clickhouse_cityhash" ];
+
+  pythonImportsCheck = [
+    "clickhouse_cityhash"
+  ];
 
   meta = with lib; {
     description = "Python-bindings for CityHash, a fast non-cryptographic hash algorithm";
diff --git a/pkgs/development/python-modules/clip/default.nix b/pkgs/development/python-modules/clip/default.nix
new file mode 100644
index 0000000000000..bf10f5be593fc
--- /dev/null
+++ b/pkgs/development/python-modules/clip/default.nix
@@ -0,0 +1,39 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, ftfy
+, lib
+, regex
+, torch
+, torchvision
+, tqdm
+}:
+
+buildPythonPackage rec {
+  pname = "clip";
+  version = "unstable-2022-11-17";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "openai";
+    repo = pname;
+    rev = "d50d76daa670286dd6cacf3bcd80b5e4823fc8e1";
+    hash = "sha256-GAitNBb5CzFVv2+Dky0VqSdrFIpKKtoAoyqeLoDaHO4=";
+  };
+
+  propagatedBuildInputs = [
+    ftfy
+    regex
+    torch
+    torchvision
+    tqdm
+  ];
+
+  pythonImportsCheck = [ "clip" ];
+
+  meta = with lib; {
+    description = "Contrastive Language-Image Pretraining";
+    homepage = "https://github.com/openai/CLIP";
+    license = licenses.mit;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/pkgs/development/python-modules/clize/default.nix b/pkgs/development/python-modules/clize/default.nix
index a78b55704aec2..a848125a55dc4 100644
--- a/pkgs/development/python-modules/clize/default.nix
+++ b/pkgs/development/python-modules/clize/default.nix
@@ -8,9 +8,9 @@
 , pytestCheckHook
 , pythonOlder
 , python-dateutil
-, setuptools
+, repeated-test
+, setuptools-scm
 , sigtools
-, unittest2
 }:
 
 buildPythonPackage rec {
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [
-    setuptools
+    setuptools-scm
   ];
 
   propagatedBuildInputs = [
@@ -42,14 +42,11 @@ buildPythonPackage rec {
     ];
   };
 
-  # repeated_test no longer exists in nixpkgs
-  # also see: https://github.com/epsy/clize/issues/74
-  doCheck = false;
   checkInputs = [
     pytestCheckHook
     python-dateutil
     pygments
-    unittest2
+    repeated-test
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/compreffor/default.nix b/pkgs/development/python-modules/compreffor/default.nix
index 1836450537715..0c1f376aeaf61 100644
--- a/pkgs/development/python-modules/compreffor/default.nix
+++ b/pkgs/development/python-modules/compreffor/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "compreffor";
-  version = "0.5.2";
+  version = "0.5.3";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-rsC0HJCl3IGqEqUqfCwRRNwzjtfGDlxcCkeOU3On22Q=";
+    sha256 = "sha256-fUEpbU+wqh72lt/ZJdKvMifUAwYivpmzx9QQfcb4cTo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix
index 79f1f92a52bc3..8394befc51e64 100644
--- a/pkgs/development/python-modules/datasette/default.nix
+++ b/pkgs/development/python-modules/datasette/default.nix
@@ -29,7 +29,7 @@
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.63.1";
+  version = "0.63.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -37,8 +37,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "simonw";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-KMD4dmflmBp0s4nueLyPpDnXngpftS9/h5M6RPYMGrk=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-VDmh2Q/ab5xaNbj0APuQ9pkZ+GHoNXW2crrJXi556Fk=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/datashader/default.nix b/pkgs/development/python-modules/datashader/default.nix
index 82f0851b1ab35..a72bc5b22bbea 100644
--- a/pkgs/development/python-modules/datashader/default.nix
+++ b/pkgs/development/python-modules/datashader/default.nix
@@ -25,14 +25,14 @@
 
 buildPythonPackage rec {
   pname = "datashader";
-  version = "0.14.2";
+  version = "0.14.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-q8aOpuJD6aX9m9jPm9PY5vZGBJL6Jpf+pPHbcQVOJLg=";
+    hash = "sha256-zHbo03Ll40H8okBIaqrWSJby4aQAg7ukETNHerUPX28=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix
index d8e4507ae8b7f..b658eeefd77fd 100644
--- a/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/pkgs/development/python-modules/dbus-fast/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "1.73.0";
+  version = "1.75.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-JkhcDefz7SiZ+w6ijPAnKNyxTZ/5tmQUyOPnKb3EFGc=";
+    hash = "sha256-bmHUfRytUGlS0X1PEQHFocMZ4+FslA2rvzqHNE+3B3E=";
   };
 
   nativeBuildInputs = [
@@ -89,9 +89,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/Bluetooth-Devices/dbus-fast/releases/tag/v${version}";
     description = "Faster version of dbus-next";
     homepage = "https://github.com/bluetooth-devices/dbus-fast";
+    changelog = "https://github.com/Bluetooth-Devices/dbus-fast/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/diff-cover/default.nix b/pkgs/development/python-modules/diff-cover/default.nix
index 2e62913220e92..a3ea4034e8b60 100644
--- a/pkgs/development/python-modules/diff-cover/default.nix
+++ b/pkgs/development/python-modules/diff-cover/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "diff-cover";
-  version = "7.0.1";
+  version = "7.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "diff_cover";
     inherit version;
-    hash = "sha256-aSWDVdr4J2BXqS5CzsUllK2M/n3VBdbw5W/kQLxEGNA=";
+    hash = "sha256-OENUR9rTKrt+AdHDlCU5AhpSI4ijtYXVg6biB8wTNJc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/discovery30303/default.nix b/pkgs/development/python-modules/discovery30303/default.nix
index c9b09cbfe69c4..6b69ecfc98cce 100644
--- a/pkgs/development/python-modules/discovery30303/default.nix
+++ b/pkgs/development/python-modules/discovery30303/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/django-taggit/default.nix b/pkgs/development/python-modules/django-taggit/default.nix
index 22f7f83decd8f..dd5e025edd5c3 100644
--- a/pkgs/development/python-modules/django-taggit/default.nix
+++ b/pkgs/development/python-modules/django-taggit/default.nix
@@ -9,13 +9,14 @@
 
 buildPythonPackage rec {
   pname = "django-taggit";
-  version = "3.0.0";
+  version = "3.1.0";
   format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-5kW4491PhZidXvXFo9Xrvlut9dHlG1PkLQr3JiQLALk=";
+    hash = "sha256-yPLk6uOHk5CJs9ddHYZJ4AiICXDAaM6dDoL4f9XilQg=";
   };
 
   propagatedBuildInputs = [
@@ -42,8 +43,8 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Simple tagging for django";
     homepage = "https://github.com/jazzband/django-taggit";
+    changelog = "https://github.com/jazzband/django-taggit/blob/${version}/CHANGELOG.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ desiderius ];
   };
-
 }
diff --git a/pkgs/development/python-modules/django-webpack-loader/default.nix b/pkgs/development/python-modules/django-webpack-loader/default.nix
index ee51b0e7c8ecb..67d6035696ed3 100644
--- a/pkgs/development/python-modules/django-webpack-loader/default.nix
+++ b/pkgs/development/python-modules/django-webpack-loader/default.nix
@@ -1,21 +1,37 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, django
+, fetchPypi
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "django-webpack-loader";
-  version = "1.6.0";
+  version = "1.7.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-opQY/0FpADW+ENLJSgZV2rCZAJxouJiDmBPWoQmxTXE=";
+    hash = "sha256-agZTglc3cbr0AHVMTTnAkTsKKaRTqUHfuRIu6+0hVy8=";
   };
 
+  propagatedBuildInputs = [
+    django
+  ];
+
   # django.core.exceptions.ImproperlyConfigured (path issue with DJANGO_SETTINGS_MODULE?)
   doCheck = false;
 
+  pythonImportsCheck = [
+    "webpack_loader"
+  ];
+
   meta = with lib; {
     description = "Use webpack to generate your static bundles";
     homepage = "https://github.com/owais/django-webpack-loader";
-    maintainers = with maintainers; [ peterromfeldhk ];
     license = with licenses; [ mit ];
+    maintainers = with maintainers; [ peterromfeldhk ];
   };
 }
diff --git a/pkgs/development/python-modules/duckdb/default.nix b/pkgs/development/python-modules/duckdb/default.nix
index c61dfc9f4da45..b41bc431f1685 100644
--- a/pkgs/development/python-modules/duckdb/default.nix
+++ b/pkgs/development/python-modules/duckdb/default.nix
@@ -13,13 +13,19 @@
 }:
 
 buildPythonPackage rec {
-  pname = "duckdb";
-  inherit (duckdb) version src patches;
+  inherit (duckdb) pname version src patches;
   format = "setuptools";
 
-  preConfigure = ''
+  # we can't use sourceRoot otherwise patches don't apply, because the patches
+  # apply to the C++ library
+  postPatch = ''
     cd tools/pythonpkg
-    substituteInPlace setup.py --replace "multiprocessing.cpu_count()" "$NIX_BUILD_CORES"
+
+    # 1. let nix control build cores
+    # 2. unconstrain setuptools_scm version
+    substituteInPlace setup.py \
+      --replace "multiprocessing.cpu_count()" "$NIX_BUILD_CORES" \
+      --replace "setuptools_scm<7.0.0" "setuptools_scm"
   '';
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index a79de8f96c01c..c3bab1180cf92 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -10,11 +10,10 @@
 , glibcLocales
 , gnupg
 , gpgme
-, mock
-, urllib3
 , paramiko
 , pytestCheckHook
 , pythonOlder
+, urllib3
 }:
 
 buildPythonPackage rec {
@@ -36,18 +35,28 @@ buildPythonPackage rec {
     urllib3
   ];
 
+  passthru.optional-dependencies = {
+    fastimport = [
+      fastimport
+    ];
+    pgp = [
+      gpgme
+      gnupg
+    ];
+    paramiko = [
+      paramiko
+    ];
+  };
+
   checkInputs = [
-    fastimport
     gevent
     geventhttpclient
     git
     glibcLocales
-    gpgme
-    gnupg
-    mock
-    paramiko
     pytestCheckHook
-  ];
+  ] ++ passthru.optional-dependencies.fastimport
+  ++ passthru.optional-dependencies.pgp
+  ++ passthru.optional-dependencies.paramiko;
 
   doCheck = !stdenv.isDarwin;
 
@@ -70,7 +79,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Simple Python implementation of the Git file formats and protocols";
+    description = "Implementation of the Git file formats and protocols";
     longDescription = ''
       Dulwich is a Python implementation of the Git file formats and protocols, which
       does not depend on Git itself. All functionality is available in pure Python.
diff --git a/pkgs/development/python-modules/dynalite-devices/default.nix b/pkgs/development/python-modules/dynalite-devices/default.nix
index 456e0a6a628d2..ed3f3ffb82ab9 100644
--- a/pkgs/development/python-modules/dynalite-devices/default.nix
+++ b/pkgs/development/python-modules/dynalite-devices/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   pythonImportsCheck = [ "dynalite_devices_lib" ];
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index 2b42454805c81..317f3d4067595 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "1.10.1";
+  version = "2.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "dsoftwareinc";
     repo = "fakeredis-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Tqm1p3CNU61aHhiVyP5Gt6bMxni3wvEvR3HFv328Hk0=";
+    hash = "sha256-y9fuVg5Mu0ZT8hoja9V5mEfOz/hPH66Zbk5Rr/luPSc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/filemagic/default.nix b/pkgs/development/python-modules/filemagic/default.nix
deleted file mode 100644
index 96ee0a95b283e..0000000000000
--- a/pkgs/development/python-modules/filemagic/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, lib, buildPythonPackage, fetchFromGitHub, file
-, isPy3k, mock, unittest2 }:
-
-buildPythonPackage {
-  pname = "filemagic";
-  version = "1.6";
-  disabled = !isPy3k; # asserts on ResourceWarning
-
-  # Don't use the PyPI source because it's missing files required for testing
-  src = fetchFromGitHub {
-    owner = "aliles";
-    repo = "filemagic";
-    rev = "138649062f769fb10c256e454a3e94ecfbf3017b";
-    sha256 = "1jxf928jjl2v6zv8kdnfqvywdwql1zqkm1v5xn1d5w0qjcg38d4n";
-  };
-
-  postPatch = ''
-    substituteInPlace magic/api.py --replace "ctypes.util.find_library('magic')" \
-      "'${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
-  '';
-
-  checkInputs = [ mock ] ++ lib.optionals (!isPy3k) [ unittest2 ];
-
-  meta = with lib; {
-    description = "File type identification using libmagic";
-    homepage = "https://github.com/aliles/filemagic";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ erikarvstedt ];
-  };
-}
diff --git a/pkgs/development/python-modules/flux-led/default.nix b/pkgs/development/python-modules/flux-led/default.nix
index 65c6151fdf6d2..21d1a51f8c41f 100644
--- a/pkgs/development/python-modules/flux-led/default.nix
+++ b/pkgs/development/python-modules/flux-led/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "flux-led";
-  version = "0.28.32";
+  version = "0.28.34";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "flux_led";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-YZ0ox04xakpazOIAERM2EO5c4PzmaSwYWULSjp0MJbw=";
+    hash = "sha256-bIL9ivjCLKeTLK3n0ytgGkXQggsuDiMCY7kAtE81qfY=";
   };
 
   propagatedBuildInputs = [
@@ -44,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library to communicate with the flux_led smart bulbs";
     homepage = "https://github.com/Danielhiversen/flux_led";
+    changelog = "https://github.com/Danielhiversen/flux_led/releases/tag/${version}";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ colemickens ];
     platforms = platforms.linux;
diff --git a/pkgs/development/python-modules/g2pkk/default.nix b/pkgs/development/python-modules/g2pkk/default.nix
new file mode 100644
index 0000000000000..98e03806d2ff2
--- /dev/null
+++ b/pkgs/development/python-modules/g2pkk/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, jamo
+, nltk
+}:
+
+buildPythonPackage rec {
+  pname = "g2pkk";
+  version = "0.1.2";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-YarV1Btn1x3Sm4Vw/JDSyJy3ZJMXAQHZJJJklSG0R+Q=";
+  };
+
+  propagatedBuildInputs = [
+    jamo
+    nltk
+  ];
+
+  pythonImportsCheck = [
+    "g2pkk"
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Cross-platform g2p for Korean";
+    homepage = "https://github.com/harmlessman/g2pkk";
+    license = licenses.asl20;
+    maintainers = teams.tts.members;
+  };
+}
+
diff --git a/pkgs/development/python-modules/gbinder-python/default.nix b/pkgs/development/python-modules/gbinder-python/default.nix
index 42832ff451448..e575c51e315f1 100644
--- a/pkgs/development/python-modules/gbinder-python/default.nix
+++ b/pkgs/development/python-modules/gbinder-python/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "gbinder-python";
-  version = "1.0.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "erfanoabdi";
     repo = pname;
     rev = version;
-    sha256 = "0jgblzakjgsy0cj93bmh5gr7qnl2xgsrm0wzc6xjvzry9lrbs360";
+    sha256 = "1X9gAux9w/mCEVmE3Yqvvq3kU7hu4iAFaZWNZZZxt3E=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/geopy/default.nix b/pkgs/development/python-modules/geopy/default.nix
index 3ef58b9ec470c..965411fe4af88 100644
--- a/pkgs/development/python-modules/geopy/default.nix
+++ b/pkgs/development/python-modules/geopy/default.nix
@@ -11,21 +11,17 @@
 
 buildPythonPackage rec {
   pname = "geopy";
-  version = "2.2.0";
-  disabled = pythonOlder "3.5";
+  version = "2.3.0";
+  format = "setuptools";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    sha256 = "sha256-zFz0T/M/CABKkChuiKsFkWj2pphZuFeE5gz0HxZYaz8=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-bHfjUfuiEH3AxRDTLmbm67bKOw6fBuMQDUQA2NLg800=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "geographiclib<2,>=1.49" "geographiclib"
-  '';
-
   propagatedBuildInputs = [
     geographiclib
   ];
diff --git a/pkgs/development/python-modules/git-annex-adapter/default.nix b/pkgs/development/python-modules/git-annex-adapter/default.nix
index bcc4148c19537..7b3a29eba6e26 100644
--- a/pkgs/development/python-modules/git-annex-adapter/default.nix
+++ b/pkgs/development/python-modules/git-annex-adapter/default.nix
@@ -26,6 +26,10 @@ buildPythonPackage rec {
       url = "https://github.com/alpernebbi/git-annex-adapter/commit/b78a8f445f1fb5cf34b28512fc61898ef166b5a1.patch";
       hash = "sha256-BSVoOPWsgY1btvn68bco4yb90FAC7ay2kYZ+q9qDHHw=";
     })
+    (fetchpatch {
+      url = "https://github.com/alpernebbi/git-annex-adapter/commit/d0d8905965a3659ce95cbd8f8b1e8598f0faf76b.patch";
+      hash = "sha256-UcRTKzD3sbXGIuxj4JzZDnvjTYyWVkfeWgKiZ1rAlus=";
+    })
     (substituteAll {
       src = ./git-annex-path.patch;
       gitAnnex = "${git-annex}/bin/git-annex";
diff --git a/pkgs/development/python-modules/gql/default.nix b/pkgs/development/python-modules/gql/default.nix
index bd41fd24ee101..dae5fb3438e02 100644
--- a/pkgs/development/python-modules/gql/default.nix
+++ b/pkgs/development/python-modules/gql/default.nix
@@ -80,7 +80,7 @@ buildPythonPackage rec {
   '';
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/graphviz/default.nix b/pkgs/development/python-modules/graphviz/default.nix
index 2fa10120c18c2..1fd0db3a5f706 100644
--- a/pkgs/development/python-modules/graphviz/default.nix
+++ b/pkgs/development/python-modules/graphviz/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "graphviz";
-  version = "0.20";
+  version = "0.20.1";
 
   disabled = pythonOlder "3.7";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "xflr6";
     repo = "graphviz";
     rev = version;
-    hash = "sha256-QyZwXxRbcMushxh/Ypy+v4FOTM4H1u5b7IZMSVgLyEs=";
+    hash = "sha256-plhWG9mE9DoTMg7mWCvFLAgtBx01LAgJ0gQ/mqBU3yc=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/gspread/default.nix b/pkgs/development/python-modules/gspread/default.nix
index 9bc7fe7b55d96..35133847139cf 100644
--- a/pkgs/development/python-modules/gspread/default.nix
+++ b/pkgs/development/python-modules/gspread/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "gspread";
-  version = "5.6.2";
+  version = "5.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-07v/S3qtD8LJhkWOFIU3oC/ntG5xYvQfOkI5K/oq24k=";
+    hash = "sha256-XznXohg0O2UU8G4iUODEE+tOgU3eaqv0hdrLaqMcqrA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index 183bdc734ee40..d4e0fabc6073d 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2022.11.1";
+  version = "2022.11.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-de901mQEnJCHihrrQsVk9t8JVedff4AEKvQ45mnnauU=";
+    sha256 = "sha256-m28UDaBk2EFwulkjvuT6zpLEeVL/oofHUVSop+AKYvc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/holidays/default.nix b/pkgs/development/python-modules/holidays/default.nix
index ef86bbfc9ff97..570c61d186f5e 100644
--- a/pkgs/development/python-modules/holidays/default.nix
+++ b/pkgs/development/python-modules/holidays/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "holidays";
-  version = "0.16";
+  version = "0.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HX9P1rGYApj7uzMWsNV/pvFbUxMHTNrMEqOrk788pc0=";
+    hash = "sha256-nxa2Dwe+KgPKqj1sqLDWau6JkLcgag0TlM4x+tK0JC4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/homematicip/default.nix b/pkgs/development/python-modules/homematicip/default.nix
index e620f317b9fd1..aba7e19b69e06 100644
--- a/pkgs/development/python-modules/homematicip/default.nix
+++ b/pkgs/development/python-modules/homematicip/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/huawei-lte-api/default.nix b/pkgs/development/python-modules/huawei-lte-api/default.nix
index 2d3a75a875f84..d15381c5608ec 100644
--- a/pkgs/development/python-modules/huawei-lte-api/default.nix
+++ b/pkgs/development/python-modules/huawei-lte-api/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "huawei-lte-api";
-  version = "1.6.6";
+  version = "1.6.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.4";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Salamek";
     repo = "huawei-lte-api";
     rev = "refs/tags/${version}";
-    hash = "sha256-LVWhHSHiixjZjakXgGnEIcJkQ0+VU3Xhlh8uY76Prxg=";
+    hash = "sha256-CMGOR5b8Uc8ZIuMlkCkxZqTqUA/Im2RgXK4uFZdoHeU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/huggingface-hub/default.nix b/pkgs/development/python-modules/huggingface-hub/default.nix
index cafdc0b10a990..2e68555dc738d 100644
--- a/pkgs/development/python-modules/huggingface-hub/default.nix
+++ b/pkgs/development/python-modules/huggingface-hub/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "huggingface-hub";
-  version = "0.10.1";
+  version = "0.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "huggingface_hub";
     rev = "refs/tags/v${version}";
-    hash = "sha256-iQ8c48lDn9jLZ8GPzJ5b+9OaRRLte/md5UuwxgYtWVo=";
+    hash = "sha256-d+X4hGt4K6xmRFw8mevKpZ6RDv+U1PJ8WbmdKGDbVNs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hypercorn/default.nix b/pkgs/development/python-modules/hypercorn/default.nix
index 35a9f8f6bb859..940c31e318829 100644
--- a/pkgs/development/python-modules/hypercorn/default.nix
+++ b/pkgs/development/python-modules/hypercorn/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchFromGitLab
+, fetchFromGitHub
 , pythonOlder
 , typing-extensions
 , wsproto
@@ -10,25 +10,27 @@
 , mock
 , poetry-core
 , pytest-asyncio
-, pytest-cov
-, pytest-sugar
 , pytest-trio
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "Hypercorn";
-  version = "0.13.2";
+  version = "0.14.3";
   disabled = pythonOlder "3.7";
   format = "pyproject";
 
-  src = fetchFromGitLab {
+  src = fetchFromGitHub {
     owner = "pgjones";
     repo = pname;
     rev = version;
-    sha256 = "sha256-fIjw5A6SvFUv8cU7xunVlPYphv+glypY4pzvHNifYLQ=";
+    hash = "sha256-ECREs8UwqTWUweUrwnUwpVotCII2v4Bz7ZCk3DSAd8I=";
   };
 
+  postPatch = ''
+    sed -i "/^addopts/d" pyproject.toml
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -38,20 +40,14 @@ buildPythonPackage rec {
 
   checkInputs = [
     pytest-asyncio
-    pytest-cov
-    pytest-sugar
     pytest-trio
     pytestCheckHook
   ] ++ lib.optionals (pythonOlder "3.8") [ mock ];
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   pythonImportsCheck = [ "hypercorn" ];
 
   meta = with lib; {
-    homepage = "https://pgjones.gitlab.io/hypercorn/";
+    homepage = "https://github.com/pgjones/hypercorn";
     description = "The ASGI web server inspired by Gunicorn";
     license = licenses.mit;
     maintainers = with maintainers; [ dgliwka ];
diff --git a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
index 3e2d61843de26..c1e70fbf9902a 100644
--- a/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
+++ b/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
@@ -7,7 +7,6 @@
 , pythonOlder
 , requests
 , responses
-, tox
 }:
 
 buildPythonPackage rec {
@@ -31,7 +30,6 @@ buildPythonPackage rec {
   checkInputs = [
     pytestCheckHook
     responses
-    tox
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/ibm-watson/default.nix b/pkgs/development/python-modules/ibm-watson/default.nix
index 43257149f58b1..0de9070fca5db 100644
--- a/pkgs/development/python-modules/ibm-watson/default.nix
+++ b/pkgs/development/python-modules/ibm-watson/default.nix
@@ -5,7 +5,6 @@
 , pytestCheckHook
 , python-dotenv
 , pytest-rerunfailures
-, tox
 , requests
 , python-dateutil
 , websocket-client
@@ -39,7 +38,6 @@ buildPythonPackage rec {
     pytestCheckHook
     python-dotenv
     pytest-rerunfailures
-    tox
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index 4750b591f66e7..86ac0542591e4 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.5.8";
+  version = "2.5.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QI4NtNPkR3mD/UVFeKimo5pgBmnRKaxQ6JiwPDbjh/0=";
+    sha256 = "sha256-5ISxzOTTlA1EcBO5N6YtBEah0SRehGeVIONj30zOKk0=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/jamo/default.nix b/pkgs/development/python-modules/jamo/default.nix
new file mode 100644
index 0000000000000..e7bebd52db446
--- /dev/null
+++ b/pkgs/development/python-modules/jamo/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "jamo";
+  version = "0.4.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "JDongian";
+    repo = "python-jamo";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-QHI3Rqf1aQOsW49A/qnIwRnPuerbtyerf+eWIiEvyho=";
+  };
+
+  pythonImportsCheck = [
+    "jamo"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/JDongian/python-jamo/releases/tag/v${version}";
+    description = "Hangul syllable decomposition and synthesis using jamo";
+    homepage = "https://github.com/JDongian/python-jamo";
+    license = licenses.asl20;
+    maintainers = teams.tts.members;
+  };
+}
diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
index 9bd8ef8a108b4..9da8d8cf8ab13 100644
--- a/pkgs/development/python-modules/jsonrpc-websocket/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
     "tests.py"
   ];
 
diff --git a/pkgs/development/python-modules/keyring/default.nix b/pkgs/development/python-modules/keyring/default.nix
index 3d6c498593726..6ff68d42caaa0 100644
--- a/pkgs/development/python-modules/keyring/default.nix
+++ b/pkgs/development/python-modules/keyring/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "keyring";
-  version = "23.9.3";
+  version = "23.11.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-abAd2DxC9ZAlD+eh9QP8IpsU3oOFcxSxkzo92/WVxKU=";
+    hash = "sha256-rRkiY+LN1fEodd7cLaE1NDWafnYOd/jQS1CWioIcI2E=";
   };
 
   nativeBuildInputs = [
@@ -32,11 +32,10 @@ buildPythonPackage rec {
   ] ++ lib.optionals stdenv.isLinux [
     jeepney
     secretstorage
-  ] ++ lib.optionals (pythonOlder "3.10") [
+  ] ++ lib.optionals (pythonOlder "3.12") [
     importlib-metadata
   ];
 
-
   pythonImportsCheck = [
     "keyring"
     "keyring.backend"
@@ -46,11 +45,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # E       ValueError: too many values to unpack (expected 1)
-    "test_entry_point"
-  ];
-
   disabledTestPaths = [
     "tests/backends/test_macOS.py"
   ];
@@ -58,6 +52,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Store and access your passwords safely";
     homepage    = "https://github.com/jaraco/keyring";
+    changelog   = "https://github.com/jaraco/keyring/blob/v${version}/CHANGES.rst";
     license     = licenses.mit;
     maintainers = with maintainers; [ lovek323 dotlambda ];
     platforms   = platforms.unix;
diff --git a/pkgs/development/python-modules/latexify-py/default.nix b/pkgs/development/python-modules/latexify-py/default.nix
new file mode 100644
index 0000000000000..9356a5f319864
--- /dev/null
+++ b/pkgs/development/python-modules/latexify-py/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hatchling
+, dill
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "latexify-py";
+  version = "0.2.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "latexify_py";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-b0/cKMfIONVd6A5AYRyLx/qsFVpUjeAsadQyu/mPYxo=";
+  };
+
+  nativeBuildInputs = [ hatchling ];
+
+  propagatedBuildInputs = [ dill ];
+
+  preCheck = ''
+    cd src
+  '';
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "latexify" ];
+
+  meta = with lib; {
+    description = "Generates LaTeX math description from Python functions";
+    homepage = "https://github.com/google/latexify_py";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ prusnak ];
+  };
+}
diff --git a/pkgs/development/python-modules/liquidctl/default.nix b/pkgs/development/python-modules/liquidctl/default.nix
index 699d2b0e5b209..8093c949d3998 100644
--- a/pkgs/development/python-modules/liquidctl/default.nix
+++ b/pkgs/development/python-modules/liquidctl/default.nix
@@ -11,11 +11,13 @@
 , i2c-tools
 , pytestCheckHook
 , colorlog
+, crcmod
+, pillow
 }:
 
 buildPythonPackage rec {
   pname = "liquidctl";
-  version = "1.10.0";
+  version = "1.11.1";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -23,7 +25,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-2mXWih3LchJ/YsjuwHwWse7SNJYx1vxtovl8vasKV4w=";
+    sha256 = "sha256-9g6h8GMOcICiry9M9b/Tt0ONsTxuJI/duprUkxB1Gr0=";
   };
 
   nativeBuildInputs = [
@@ -38,6 +40,8 @@ buildPythonPackage rec {
     smbus-cffi
     i2c-tools
     colorlog
+    crcmod
+    pillow
   ];
 
   propagatedNativeBuildInputs = [
diff --git a/pkgs/development/python-modules/lupa/default.nix b/pkgs/development/python-modules/lupa/default.nix
index b2099e162d209..70fed80b282fe 100644
--- a/pkgs/development/python-modules/lupa/default.nix
+++ b/pkgs/development/python-modules/lupa/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "lupa";
-  version = "1.13";
+  version = "1.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-4dlKwqYw0nECfawsIdFCh3HZ6p1NiPFfIKd4E0DwKk4=";
+    sha256 = "sha256-0P1OYK0Un+JckFMOKg4DKkKm8EVfKcoO24Fw1ux1HG4=";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/mastodon-py/default.nix b/pkgs/development/python-modules/mastodon-py/default.nix
index 41a94e0179410..ada014a6b81d4 100644
--- a/pkgs/development/python-modules/mastodon-py/default.nix
+++ b/pkgs/development/python-modules/mastodon-py/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "mastodon-py";
-  version = "1.5.2";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "halcy";
     repo = "Mastodon.py";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-C1xkdM47WS31Eh8VXHd49x2QeizZAuvAcSnHGiZPLCE=";
+    sha256 = "sha256-bzacM5bJa936sBW+hgm9GOezW8cVY2oPaWApqjDYLSo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
index 1aa838647ad0b..45689c045168f 100644
--- a/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -79,7 +79,6 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
     "--benchmark-disable"
   ];
 
diff --git a/pkgs/development/python-modules/name-that-hash/default.nix b/pkgs/development/python-modules/name-that-hash/default.nix
index de073e502dc8f..e68764b13ff7d 100644
--- a/pkgs/development/python-modules/name-that-hash/default.nix
+++ b/pkgs/development/python-modules/name-that-hash/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "name-that-hash";
-  version = "1.10";
+  version = "1.11.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "HashPals";
     repo = pname;
     rev = version;
-    hash = "sha256-3sddUPoC3NfKQzmNgqPf/uHaYN9VZBqsmV712uz1Phg=";
+    hash = "sha256-zOb4BS3zG1x8GLXAooqqvMOw0fNbw35JuRWOdGP26/8=";
   };
 
   # TODO remove on next update which bumps rich
diff --git a/pkgs/development/python-modules/neo4j/default.nix b/pkgs/development/python-modules/neo4j/default.nix
index 8ef5f4b8b8580..38ad7832ee8ff 100644
--- a/pkgs/development/python-modules/neo4j/default.nix
+++ b/pkgs/development/python-modules/neo4j/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "neo4j";
-  version = "5.2.0";
+  version = "5.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "neo4j";
     repo = "neo4j-python-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-g5jeqE1eu+4iqXp57EF9xt8To2oyI3ey5URGRoPLs1Q=";
+    hash = "sha256-d4OkXj6mZjrdRG8UyxWeAh3rLywz2TUk2pZq+Ni1F3s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/numba/cuda_path.patch b/pkgs/development/python-modules/numba/cuda_path.patch
index 275eeb1ccab60..1ad472ec424f7 100644
--- a/pkgs/development/python-modules/numba/cuda_path.patch
+++ b/pkgs/development/python-modules/numba/cuda_path.patch
@@ -1,5 +1,5 @@
 diff --git a/numba/cuda/cuda_paths.py b/numba/cuda/cuda_paths.py
-index b9988bc..a642680 100644
+index 0da435d33..7b1fde087 100644
 --- a/numba/cuda/cuda_paths.py
 +++ b/numba/cuda/cuda_paths.py
 @@ -24,10 +24,7 @@ def _find_valid_path(options):
@@ -14,15 +14,12 @@ index b9988bc..a642680 100644
      ]
      by, libdir = _find_valid_path(options)
      return by, libdir
-@@ -35,18 +32,16 @@ def _get_libdevice_path_decision():
+@@ -35,16 +32,14 @@ def _get_libdevice_path_decision():
  
  def _nvvm_lib_dir():
      if IS_WIN32:
 -        return 'nvvm', 'bin'
 +        return 'bin',
-     elif IS_OSX:
--        return 'nvvm', 'lib'
-+        return 'lib',
      else:
 -        return 'nvvm', 'lib64'
 +        return 'lib64',
@@ -33,13 +30,13 @@ index b9988bc..a642680 100644
 -        ('Conda environment', get_conda_ctk()),
 -        ('CUDA_HOME', get_cuda_home(*_nvvm_lib_dir())),
 -        ('System', get_system_ctk(*_nvvm_lib_dir())),
-+        ('Nix store', get_nix_ctk(*_nvvm_lib_dir())),        
++        ('Nix store', get_nix_ctk(*_nvvm_lib_dir())),
      ]
      by, path = _find_valid_path(options)
      return by, path
-@@ -74,14 +69,12 @@ def _cudalib_path():
-     elif IS_OSX:
-         return 'lib'
+@@ -64,14 +59,12 @@ def _cudalib_path():
+     if IS_WIN32:
+         return 'bin'
      else:
 -        return 'lib64'
 +        return 'lib'
@@ -54,7 +51,7 @@ index b9988bc..a642680 100644
      ]
      by, libdir = _find_valid_path(options)
      return by, libdir
-@@ -92,6 +85,22 @@ def _get_cudalib_dir():
+@@ -82,6 +75,22 @@ def _get_cudalib_dir():
      return _env_path_tuple(by, libdir)
  
  
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index 965130658c444..35145189207a3 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -11,6 +11,8 @@
 , libcxx
 , importlib-metadata
 , substituteAll
+, runCommand
+, fetchpatch
 
 # CUDA-only dependencies:
 , addOpenGLRunpath ? null
@@ -23,14 +25,14 @@
 let
   inherit (cudaPackages) cudatoolkit;
 in buildPythonPackage rec {
-  version = "0.56.2";
+  version = "0.56.4";
   pname = "numba";
   format = "setuptools";
   disabled = pythonOlder "3.6" || pythonAtLeast "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NJLwpdCeJX/FIfU3emxrkH7sGSDRRznwskWLnSmUalo=";
+    hash = "sha256-Mtn+9BLIFIPX7+DOts9NMxD96LYkqc7MoA95BXOslu4=";
   };
 
   postPatch = ''
@@ -55,7 +57,15 @@ in buildPythonPackage rec {
     cudatoolkit.lib
   ];
 
-  patches = lib.optionals cudaSupport [
+  patches = [
+    # fix failure in test_cache_invalidate (numba.tests.test_caching.TestCache)
+    # remove when upgrading past version 0.56
+    (fetchpatch {
+      name = "fix-test-cache-invalidate-readonly.patch";
+      url = "https://github.com/numba/numba/commit/993e8c424055a7677b2755b184fc9e07549713b9.patch";
+      hash = "sha256-IhIqRLmP8gazx+KWIyCxZrNLMT4jZT8CWD3KcH4KjOo=";
+    })
+  ] ++ lib.optionals cudaSupport [
     (substituteAll {
       src = ./cuda_path.patch;
       cuda_toolkit_path = cudatoolkit;
@@ -70,18 +80,40 @@ in buildPythonPackage rec {
     done
   '';
 
-  # Copy test script into $out and run the test suite.
+  # run a smoke test in a temporary directory so that
+  # a) Python picks up the installed library in $out instead of the build files
+  # b) we have somewhere to put $HOME so some caching tests work
+  # c) it doesn't take 6 CPU hours for the full suite
   checkPhase = ''
-    ${python.interpreter} -m numba.runtests
-  '';
+    runHook preCheck
 
-  # ImportError: cannot import name '_typeconv'
-  doCheck = false;
+    pushd $(mktemp -d)
+    HOME=. ${python.interpreter} -m numba.runtests -m $NIX_BUILD_CORES numba.tests.test_usecases
+    popd
+
+    runHook postCheck
+  '';
 
   pythonImportsCheck = [
     "numba"
   ];
 
+  passthru.tests = {
+    # CONTRIBUTOR NOTE: numba also contains CUDA tests, though these cannot be run in
+    # this sandbox environment. Consider running similar commands to those below outside the
+    # sandbox manually if you have the appropriate hardware; support will be detected
+    # and the corresponding tests enabled automatically.
+    # Also, the full suite currently does not complete on anything but x86_64-linux.
+    fullSuite = runCommand "${pname}-test" {} ''
+      pushd $(mktemp -d)
+      # pip and python in $PATH is needed for the test suite to pass fully
+      PATH=${python.withPackages (p: [ p.numba p.pip ])}/bin:$PATH
+      HOME=$PWD python -m numba.runtests -m $NIX_BUILD_CORES
+      popd
+      touch $out # stop Nix from complaining no output was generated and failing the build
+    '';
+  };
+
   meta =  with lib; {
     description = "Compiling Python code using LLVM";
     homepage = "https://numba.pydata.org/";
diff --git a/pkgs/development/python-modules/od/default.nix b/pkgs/development/python-modules/od/default.nix
index de64e2f8fdc81..805aec6c1e69f 100644
--- a/pkgs/development/python-modules/od/default.nix
+++ b/pkgs/development/python-modules/od/default.nix
@@ -1,25 +1,34 @@
-{ lib, buildPythonPackage, fetchPypi, unittest2 }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, repeated-test
+}:
 
 buildPythonPackage rec {
   pname = "od";
   version = "2.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-uGkj2Z8mLg51IV+FOqwZl1hT7zVyjmD1CcY/VbH4tKk=";
+    hash = "sha256-uGkj2Z8mLg51IV+FOqwZl1hT7zVyjmD1CcY/VbH4tKk=";
   };
 
-  # repeated_test no longer exists in nixpkgs
-  # also see: https://github.com/epsy/od/issues/1
-  doCheck = false;
   checkInputs = [
-    unittest2
+    repeated-test
+  ];
+
+  pythonImportsCheck = [
+    "od"
   ];
 
   meta = with lib; {
     description = "Shorthand syntax for building OrderedDicts";
     homepage = "https://github.com/epsy/od";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index c3fe1c0447087..a5220f0180116 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "7.3.3";
+  version = "7.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fg5/5x4vUsm0kvVJtvlgB3PZSmU4pXkU6V0+yEDqNRg=";
+    hash = "sha256-7b6fF6wVNo4kBJ+s1lxNSl1C2vZjnAmHOtVSmqoiY9Q=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/plotext/default.nix b/pkgs/development/python-modules/plotext/default.nix
new file mode 100644
index 0000000000000..8c6d0b39985cc
--- /dev/null
+++ b/pkgs/development/python-modules/plotext/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "plotext";
+  version = "5.2.8";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "piccolomo";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-V7N7p5RxLKYLmJeojikYJ/tT/IpVGzG3ZPVvUisDAVs=";
+  };
+
+  # Package does not have a conventional test suite that can be run with either
+  # `pytestCheckHook` or the standard setuptools testing situation.
+  doCheck = false;
+
+  pythonImportsCheck = [ "plotext" ];
+
+  meta = with lib; {
+    description = "Plotting directly in the terminal";
+    homepage = "https://github.com/piccolomo/plotext";
+    license = licenses.mit;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/pkgs/development/python-modules/pre-commit-hooks/default.nix b/pkgs/development/python-modules/pre-commit-hooks/default.nix
index 282dd59a05c0f..db3aef0b2bb06 100644
--- a/pkgs/development/python-modules/pre-commit-hooks/default.nix
+++ b/pkgs/development/python-modules/pre-commit-hooks/default.nix
@@ -6,7 +6,7 @@
 , pytestCheckHook
 , pythonOlder
 , ruamel-yaml
-, toml
+, tomli
 }:
 
 buildPythonPackage rec {
@@ -25,7 +25,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     ruamel-yaml
-    toml
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/prodict/default.nix b/pkgs/development/python-modules/prodict/default.nix
new file mode 100644
index 0000000000000..a6fdc61658dd9
--- /dev/null
+++ b/pkgs/development/python-modules/prodict/default.nix
@@ -0,0 +1,35 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, lib
+}:
+
+buildPythonPackage rec {
+  pname   = "prodict";
+  version = "0.8.6";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ramazanpolat";
+    repo = pname;
+    rev = version;
+    hash = "sha256-c46JEQFg4KRwerqpMSgh6+tYRpKTOX02Lzsq4/meS3o=";
+  };
+
+  # make setuptools happy on case-sensitive filesystems
+  postPatch = ''if [[ ! -f README.md ]]; then mv README.MD README.md; fi'';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "prodict" ];
+
+  meta = {
+    description = "Access Python dictionary as a class with type hinting and autocompletion";
+    homepage = "https://github.com/ramazanpolat/prodict";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/pushover-complete/default.nix b/pkgs/development/python-modules/pushover-complete/default.nix
index 33769af319d6e..92131b52628da 100644
--- a/pkgs/development/python-modules/pushover-complete/default.nix
+++ b/pkgs/development/python-modules/pushover-complete/default.nix
@@ -4,9 +4,10 @@
 , isPy27
 , requests
 , six
-, tox
-, pytest
+, pytestCheckHook
 , pythonOlder
+, requests-toolbelt
+, responses
 }:
 
 buildPythonPackage rec {
@@ -25,11 +26,13 @@ buildPythonPackage rec {
     six
   ];
 
-  checkInputs = [ pytest tox ];
+  checkInputs = [
+    pytestCheckHook
+    requests-toolbelt
+    responses
+  ];
 
-  # Fails also on their travis right now:
-  # - https://travis-ci.org/scolby33/pushover_complete/builds?utm_medium=notification&utm_source=github_status
-  doCheck = pythonOlder "3.7";
+  pythonImportsCheck = [ "pushover_complete" ];
 
   meta = with lib; {
     description = "A Python package for interacting with *all* aspects of the Pushover API";
diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix
index dad2c04b0d6f1..35ad60317ad45 100644
--- a/pkgs/development/python-modules/pwntools/default.nix
+++ b/pkgs/development/python-modules/pwntools/default.nix
@@ -84,7 +84,7 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
-    homepage = "http://pwntools.com";
+    homepage = "https://pwntools.com";
     description = "CTF framework and exploit development library";
     license = licenses.mit;
     maintainers = with maintainers; [ bennofs kristoff3r pamplemousse ];
diff --git a/pkgs/development/python-modules/pydata-sphinx-theme/default.nix b/pkgs/development/python-modules/pydata-sphinx-theme/default.nix
index 70b047733d6a8..b828120a309c1 100644
--- a/pkgs/development/python-modules/pydata-sphinx-theme/default.nix
+++ b/pkgs/development/python-modules/pydata-sphinx-theme/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pydata-sphinx-theme";
-  version = "0.11.0";
+  version = "0.12.0";
 
   format = "wheel";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     dist = "py3";
     python = "py3";
     pname = "pydata_sphinx_theme";
-    sha256 = "sha256-ZPH8THmh8Ga5E1QRFs1afoPhQLoOmDUJ7t2eZuH5SMg=";
+    sha256 = "sha256-wX26tno3dPBvNPY3jolvzQZozItdocG6AX5lzx3wr1g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix
index 96b7cb163669a..169784039c6c8 100644
--- a/pkgs/development/python-modules/pylitterbot/default.nix
+++ b/pkgs/development/python-modules/pylitterbot/default.nix
@@ -49,10 +49,6 @@ buildPythonPackage rec {
       --replace 'deepdiff = "^5.8.1"' 'deepdiff = ">=5.8.1"'
   '';
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   pythonImportsCheck = [
     "pylitterbot"
   ];
diff --git a/pkgs/development/python-modules/pylutron-caseta/default.nix b/pkgs/development/python-modules/pylutron-caseta/default.nix
index 114e295c66eaa..a14fce498e20e 100644
--- a/pkgs/development/python-modules/pylutron-caseta/default.nix
+++ b/pkgs/development/python-modules/pylutron-caseta/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pyotgw/default.nix b/pkgs/development/python-modules/pyotgw/default.nix
index ff519920ad668..c0f24aa3dc6d0 100644
--- a/pkgs/development/python-modules/pyotgw/default.nix
+++ b/pkgs/development/python-modules/pyotgw/default.nix
@@ -30,10 +30,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   pythonImportsCheck = [
     "pyotgw"
   ];
diff --git a/pkgs/development/python-modules/pypandoc/default.nix b/pkgs/development/python-modules/pypandoc/default.nix
index eb7287e4a1b02..87cfe2708dfde 100644
--- a/pkgs/development/python-modules/pypandoc/default.nix
+++ b/pkgs/development/python-modules/pypandoc/default.nix
@@ -1,16 +1,24 @@
-{ lib, substituteAll, buildPythonPackage, fetchFromGitHub
-, pandoc, texlive
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pandoc
+, pandocfilters
+, pythonOlder
+, substituteAll
+, texlive
 }:
 
 buildPythonPackage rec {
   pname = "pypandoc";
-  version = "1.8.1";
+  version = "1.10";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
-    owner = "NicklasTegner";
+    owner = "JessicaTegner";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-1vQmONQFJrjptwVVjw25Wyt59loatjScsdnSax+q/f8=";
+    hash = "sha256:05m585l4sipjzpkrv4yj5s7w45yxhxlym55lkhnavsshlvisinkz";
   };
 
   patches = [
@@ -24,11 +32,16 @@ buildPythonPackage rec {
 
   checkInputs = [
     texlive.combined.scheme-small
+    pandocfilters
+  ];
+
+  pythonImportsCheck = [
+    "pypandoc"
   ];
 
   meta = with lib; {
     description = "Thin wrapper for pandoc";
-    homepage = "https://github.com/NicklasTegner/pypandoc";
+    homepage = "https://github.com/JessicaTegner/pypandoc";
     license = licenses.mit;
     maintainers = with maintainers; [ sternenseemann bennofs ];
   };
diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix
index c1996ae402a15..13519664b52bc 100644
--- a/pkgs/development/python-modules/pypck/default.nix
+++ b/pkgs/development/python-modules/pypck/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   disabledTests = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/pyrect/default.nix b/pkgs/development/python-modules/pyrect/default.nix
index 54566658443c3..1d0a0ba022fef 100644
--- a/pkgs/development/python-modules/pyrect/default.nix
+++ b/pkgs/development/python-modules/pyrect/default.nix
@@ -1,25 +1,28 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, tox
 , pytestCheckHook
 , pygame
 }:
+
 buildPythonPackage rec {
-  pname = "PyRect";
+  pname = "pyrect";
   version = "0.2.0";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "PyRect";
+    inherit version;
     sha256 = "sha256-9lFV9t+bkptnyv+9V8CUfFrlRJ07WA0XgHS/+0egm3g=";
   };
 
-  checkInputs = [ tox pytestCheckHook pygame ];
-  pythonImportsCheck = [ "pyrect" ];
+  checkInputs = [ pytestCheckHook pygame ];
+
   preCheck = ''
     export LC_ALL="en_US.UTF-8"
   '';
 
+  pythonImportsCheck = [ "pyrect" ];
+
   meta = with lib; {
     description = "Simple module with a Rect class for Pygame-like rectangular areas";
     homepage = "https://github.com/asweigart/pyrect";
diff --git a/pkgs/development/python-modules/pyrogram/default.nix b/pkgs/development/python-modules/pyrogram/default.nix
index a0ce4ea814d3b..bd5433c7a5fbf 100644
--- a/pkgs/development/python-modules/pyrogram/default.nix
+++ b/pkgs/development/python-modules/pyrogram/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyrogram";
-  version = "2.0.59";
+  version = "2.0.62";
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pyrogram";
     repo = "pyrogram";
     rev = "v${version}";
-    hash = "sha256-vGgtVXvi/zvbU8f+LBQJN8GSxyVqdv/fBYfsBR4BKf4=";
+    hash = "sha256-Kex9xIjcAYCzHeqWoDAIgTMuih0s42/O2zfTYxWEqbM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysma/default.nix b/pkgs/development/python-modules/pysma/default.nix
index 96864141e0549..de1bba50740c4 100644
--- a/pkgs/development/python-modules/pysma/default.nix
+++ b/pkgs/development/python-modules/pysma/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pysma";
-  version = "0.7.2";
+  version = "0.7.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-hIrdT0b9XKw1UoPZtQQ7IaW+HV8wuA9Rwoo8XYdGyw8=";
+    sha256 = "sha256-8LwxRiYUhKYZkrjDNcnOkssvfw/tZ6dj1GKZQ6UkqsQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyspcwebgw/default.nix b/pkgs/development/python-modules/pyspcwebgw/default.nix
index b847240869acd..7a40985457da9 100644
--- a/pkgs/development/python-modules/pyspcwebgw/default.nix
+++ b/pkgs/development/python-modules/pyspcwebgw/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   pythonImportsCheck = [ "pyspcwebgw" ];
diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix
index f09d40bc72360..a1bdf23c26298 100644
--- a/pkgs/development/python-modules/pyswitchbot/default.nix
+++ b/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyswitchbot";
-  version = "0.20.4";
+  version = "0.20.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     rev = "refs/tags/${version}";
-    hash = "sha256-hBoK2Nx4pFCWt+RRmzVuoJok8QvVnEa82WINGrFpHqo=";
+    hash = "sha256-3yOZyCoCKNP0xgOFBb1d9jC3rvtiFMCCN7R+tQk+/6o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytautulli/default.nix b/pkgs/development/python-modules/pytautulli/default.nix
index aee51ae764f84..b21b21842269d 100644
--- a/pkgs/development/python-modules/pytautulli/default.nix
+++ b/pkgs/development/python-modules/pytautulli/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/python-homewizard-energy/default.nix b/pkgs/development/python-modules/python-homewizard-energy/default.nix
index 0e2261e8fce12..a52535673a6c4 100644
--- a/pkgs/development/python-modules/python-homewizard-energy/default.nix
+++ b/pkgs/development/python-modules/python-homewizard-energy/default.nix
@@ -1,6 +1,7 @@
 { lib
 , aiohttp
 , aresponses
+, awesomeversion
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
@@ -12,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-homewizard-energy";
-  version = "1.1.1";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +22,7 @@ buildPythonPackage rec {
     owner = "DCSBL";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-aaTxUx1eMM4Me4D0EkV5iDzs+yPt83/7PyPXTCTIgq8=";
+    hash = "sha256-tFIqlPeRMB0Q9XpA5zBBzjo0Dw2bhnYdJsXvl0A04vY=";
   };
 
   nativeBuildInputs = [
@@ -29,6 +30,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    awesomeversion
     aiohttp
   ];
 
@@ -45,6 +47,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library to communicate with HomeWizard Energy devices";
     homepage = "https://github.com/DCSBL/python-homewizard-energy";
+    changelog = "https://github.com/DCSBL/python-homewizard-energy/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix
index d4c9524c9edd8..7f55dd64b94ef 100644
--- a/pkgs/development/python-modules/python-kasa/default.nix
+++ b/pkgs/development/python-modules/python-kasa/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/python-smarttub/default.nix b/pkgs/development/python-modules/python-smarttub/default.nix
index b977bc2d0c207..dba19a2ee627b 100644
--- a/pkgs/development/python-modules/python-smarttub/default.nix
+++ b/pkgs/development/python-modules/python-smarttub/default.nix
@@ -38,10 +38,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   postPatch = ''
     substituteInPlace setup.py \
       --replace "pyjwt~=2.1.0" "pyjwt>=2.1.0"
diff --git a/pkgs/development/python-modules/pytraccar/default.nix b/pkgs/development/python-modules/pytraccar/default.nix
index b50d734d01a1f..c65fdf8b1080a 100644
--- a/pkgs/development/python-modules/pytraccar/default.nix
+++ b/pkgs/development/python-modules/pytraccar/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyunifiprotect/default.nix b/pkgs/development/python-modules/pyunifiprotect/default.nix
index 2635a5484b642..f8faa56b5a53b 100644
--- a/pkgs/development/python-modules/pyunifiprotect/default.nix
+++ b/pkgs/development/python-modules/pyunifiprotect/default.nix
@@ -29,7 +29,7 @@
 
 buildPythonPackage rec {
   pname = "pyunifiprotect";
-  version = "4.4.1";
+  version = "4.4.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -38,13 +38,12 @@ buildPythonPackage rec {
     owner = "briis";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-lwgYvmig3yIQPcmX2suStcnzEYOXphHTRn40iJZICPs=";
+    hash = "sha256-30nQ02UUXJHvHC+hWTWHsUeU83G8cOJHK+Tgo6AE5jc=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "--cov=pyunifiprotect --cov-append" "" \
-      --replace "pydantic!=1.9.1" "pydantic"
+      --replace "--cov=pyunifiprotect --cov-append" ""
   '';
 
   nativeBuildInputs = [
@@ -94,6 +93,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for interacting with the Unifi Protect API";
     homepage = "https://github.com/briis/pyunifiprotect";
+    changelog = "https://github.com/AngellusMortis/pyunifiprotect/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pyvicare/default.nix b/pkgs/development/python-modules/pyvicare/default.nix
index 7a919bf0ec493..d34ee0b932e1d 100644
--- a/pkgs/development/python-modules/pyvicare/default.nix
+++ b/pkgs/development/python-modules/pyvicare/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyvicare";
-  version = "2.17.0";
+  version = "2.19.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "somm15";
     repo = "PyViCare";
     rev = version;
-    sha256 = "sha256-MlGohD9W1HNLz6ZPawt55127S3zPSA1tFLNs2gu7hLk=";
+    sha256 = "sha256-i1RXHrIkWqZw2LzVPEQSxgWa7PkUEsG6NO6H9egPWkk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pywizlight/default.nix b/pkgs/development/python-modules/pywizlight/default.nix
index 21ddb6f6097f3..2ca664b88a17d 100644
--- a/pkgs/development/python-modules/pywizlight/default.nix
+++ b/pkgs/development/python-modules/pywizlight/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/qiskit-terra/default.nix b/pkgs/development/python-modules/qiskit-terra/default.nix
index 71486b30bc8e3..aa9ce69fa1a5a 100644
--- a/pkgs/development/python-modules/qiskit-terra/default.nix
+++ b/pkgs/development/python-modules/qiskit-terra/default.nix
@@ -193,7 +193,7 @@ buildPythonPackage rec {
 
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
+    broken = true; # tests segfault python
     description = "Provides the foundations for Qiskit.";
     longDescription = ''
       Allows the user to write quantum circuits easily, and takes care of the constraints of real hardware.
diff --git a/pkgs/development/python-modules/regenmaschine/default.nix b/pkgs/development/python-modules/regenmaschine/default.nix
index ce962e7636a34..48505237ae4f6 100644
--- a/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/pkgs/development/python-modules/regenmaschine/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "regenmaschine";
-  version = "2022.10.1";
+  version = "2022.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-BOJ2dFZ4CFII6OXzQU3Q9Mah6kRZPC5+b6ekx8ueYc4=";
+    sha256 = "sha256-aCgMAaur2ljjiQ7tt/gXm/Vt+o6j/MsCOLN661CkFw4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/renault-api/default.nix b/pkgs/development/python-modules/renault-api/default.nix
index 5b2165c7583be..33e1f0124a7f7 100644
--- a/pkgs/development/python-modules/renault-api/default.nix
+++ b/pkgs/development/python-modules/renault-api/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/repeated-test/default.nix b/pkgs/development/python-modules/repeated-test/default.nix
new file mode 100644
index 0000000000000..bd8d8d765a090
--- /dev/null
+++ b/pkgs/development/python-modules/repeated-test/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools-scm
+, six
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "repeated-test";
+  version = "2.3.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    pname = "repeated_test";
+    inherit version;
+    hash = "sha256-TbVyQA7EjCSwo6qfDksbE8IU1ElkSCABEUBWy5j1KJc=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "repeated_test"
+  ];
+
+  meta = with lib; {
+    description = "Unittest-compatible framework for repeating a test function over many fixtures";
+    homepage = "https://github.com/epsy/repeated_test";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix
index c144ed9adb282..4d4e4e1175d80 100644
--- a/pkgs/development/python-modules/respx/default.nix
+++ b/pkgs/development/python-modules/respx/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "respx";
-  version = "0.19.2";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "lundberg";
     repo = pname;
     rev = version;
-    sha256 = "sha256-uNmSBJOQF4baq8AWzfwj0kinO19jr6Mp9Yblys/WmZs=";
+    sha256 = "sha256-xb5jb+l6wA1v/r2yGUB6IuUVXIaTc+3O/w5xn/+A74o=";
   };
 
   propagatedBuildInputs = [
@@ -35,10 +35,6 @@ buildPythonPackage rec {
     trio
   ];
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   postPatch = ''
     sed -i "/--cov/d" setup.cfg
   '';
@@ -52,6 +48,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for mocking HTTPX";
     homepage = "https://lundberg.github.io/respx/";
+    changelog = "https://github.com/lundberg/respx/blob/${src.rev}/CHANGELOG.md";
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/scapy/default.nix b/pkgs/development/python-modules/scapy/default.nix
index bc20c820e63e4..152be5166c50c 100644
--- a/pkgs/development/python-modules/scapy/default.nix
+++ b/pkgs/development/python-modules/scapy/default.nix
@@ -1,6 +1,6 @@
 { buildPythonPackage, fetchFromGitHub, stdenv, lib, isPyPy
 , pycrypto, ecdsa # TODO
-, tox, mock, coverage, can, brotli
+, mock, can, brotli
 , withOptionalDeps ? true, tcpdump, ipython
 , withCryptography ? true, cryptography
 , withVoipSupport ? true, sox
@@ -52,8 +52,9 @@ buildPythonPackage rec {
 
   # Running the tests seems too complicated:
   doCheck = false;
-  checkInputs = [ tox mock coverage can brotli ];
+  checkInputs = [ mock can brotli ];
   checkPhase = ''
+    # TODO: be more specific about files
     patchShebangs .
     .config/ci/test.sh
   '';
diff --git a/pkgs/development/python-modules/scikit-learn/default.nix b/pkgs/development/python-modules/scikit-learn/default.nix
index d9c4f07ccb8de..9739163cea506 100644
--- a/pkgs/development/python-modules/scikit-learn/default.nix
+++ b/pkgs/development/python-modules/scikit-learn/default.nix
@@ -65,6 +65,8 @@ buildPythonPackage rec {
     "check_regressors_train"
     "check_classifiers_train"
     "xfail_ignored_in_check_estimator"
+  ] ++ lib.optionals (stdenv.isDarwin) [
+    "test_graphical_lasso"
   ];
 
   pytestFlagsArray = [
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index a3816d9b7dbfb..5db4264507a4e 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -1,52 +1,46 @@
 { lib
 , stdenv
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-
-# runtime
-, certifi
-, urllib3
-
-# optionals
 , aiohttp
 , apache-beam
+, asttokens
 , blinker
 , botocore
 , bottle
+, buildPythonPackage
 , celery
+, certifi
 , chalice
 , django
+, executing
 , falcon
+, fetchFromGitHub
 , flask
 , flask-login
+, gevent
 , httpx
+, jsonschema
+, mock
 , pure-eval
 , pyramid
+, pyrsistent
 , pyspark
+, pytest-forked
+, pytest-localserver
+, pytest-watch
+, pytestCheckHook
+, pythonOlder
 , rq
 , sanic
 , sqlalchemy
 , tornado
 , trytond
+, urllib3
 , werkzeug
-
-# tests
-, asttokens
-, executing
-, gevent
-, jsonschema
-, mock
-, pyrsistent
-, pytest-forked
-, pytest-localserver
-, pytest-watch
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.10.1";
+  version = "1.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -54,8 +48,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-python";
-    rev = version;
-    hash = "sha256-wNI92LVGFN+7LPxnrezPeF7dSS5UgwCuF62/ux3rik4=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-PObYXwWYQ7cC//W3c+n/qceu2ShjFqMGAaLyNflwcL4=";
   };
 
   propagatedBuildInputs = [
@@ -155,6 +149,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python SDK for Sentry.io";
     homepage = "https://github.com/getsentry/sentry-python";
+    changelog = "https://github.com/getsentry/sentry-python/blob/${version}/CHANGELOG.md";
     license = licenses.bsd2;
     maintainers = with maintainers; [ fab gebner ];
   };
diff --git a/pkgs/development/python-modules/serpy/default.nix b/pkgs/development/python-modules/serpy/default.nix
index 7a1b8348a0e65..9f086e4c86e58 100644
--- a/pkgs/development/python-modules/serpy/default.nix
+++ b/pkgs/development/python-modules/serpy/default.nix
@@ -1,25 +1,37 @@
-{ lib, buildPythonPackage, fetchPypi,
-  flake8, py, pyflakes, six, tox
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "serpy";
   version = "0.3.1";
+  format = "setuptools";
 
-  meta = {
-    description = "ridiculously fast object serialization";
-    homepage = "https://github.com/clarkduvall/serpy";
-    license = lib.licenses.mit;
-  };
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "3772b2a9923fbf674000ff51abebf6ea8f0fca0a2cfcbfa0d63ff118193d1ec5";
   };
 
-  buildInputs = [ flake8 py pyflakes tox ];
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [
+    six
+  ];
 
   # ImportError: No module named 'tests
   doCheck = false;
+
+  pythonImportsCheck = [
+    "serpy"
+  ];
+
+  meta = with lib; {
+    description = "Ridiculously fast object serialization";
+    homepage = "https://github.com/clarkduvall/serpy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
 }
diff --git a/pkgs/development/python-modules/shtab/default.nix b/pkgs/development/python-modules/shtab/default.nix
index 24a29318170ff..41d5636d70f6f 100644
--- a/pkgs/development/python-modules/shtab/default.nix
+++ b/pkgs/development/python-modules/shtab/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "shtab";
-  version = "1.5.7";
+  version = "1.5.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-BIUUg+Y6bbgjnIWPU/bZO2axSLSzIsRJwyu7lBVQz/Q=";
+    hash = "sha256-FVV8AKe3PG387jarWYbXWxwVUAX6sM89KM8MuOr5cRw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -46,6 +46,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module for shell tab completion of Python CLI applications";
     homepage = "https://docs.iterative.ai/shtab/";
+    changelog = "https://github.com/iterative/shtab/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/sigtools/default.nix b/pkgs/development/python-modules/sigtools/default.nix
index cf32ad5db79cb..a41bdbf184bdb 100644
--- a/pkgs/development/python-modules/sigtools/default.nix
+++ b/pkgs/development/python-modules/sigtools/default.nix
@@ -1,14 +1,13 @@
 { lib
+, attrs
 , buildPythonPackage
 , fetchPypi
-, sphinx
 , mock
-, coverage
-, unittest2
-, attrs
-, funcsigs
-, six
+, pythonOlder
+, repeated-test
 , setuptools-scm
+, sphinx
+, unittestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -16,9 +15,11 @@ buildPythonPackage rec {
   version = "4.0.1";
   format = "pyproject";
 
+  disabled = pythonOlder "3.4";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-S44TWpzU0uoA2mcMCTNy105nK6OruH9MmNjnPepURFw=";
+    hash = "sha256-S44TWpzU0uoA2mcMCTNy105nK6OruH9MmNjnPepURFw=";
   };
 
   nativeBuildInputs = [
@@ -29,17 +30,21 @@ buildPythonPackage rec {
     attrs
   ];
 
-  patchPhase = ''sed -i s/test_suite="'"sigtools.tests"'"/test_suite="'"unittest2.collector"'"/ setup.py'';
+  checkInputs = [
+    mock
+    repeated-test
+    sphinx
+    unittestCheckHook
+  ];
 
-  # repeated_test no longer exists in nixpkgs
-  # Also see: https://github.com/epsy/sigtools/issues/26
-  doCheck = false;
-  checkInputs = [ sphinx mock coverage unittest2 ];
+  pythonImportsCheck = [
+    "sigtools"
+  ];
 
   meta = with lib; {
-    description = "Utilities for working with 3.3's inspect.Signature objects.";
-    homepage = "https://pypi.python.org/pypi/sigtools";
+    description = "Utilities for working with inspect.Signature objects";
+    homepage = "https://sigtools.readthedocs.io/";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index ab2701fefdc33..07a731b53d921 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "sip";
-  version = "6.7.1";
+  version = "6.7.4";
 
   src = fetchPypi {
     pname = "sip";
     inherit version;
-    sha256 = "sha256-KBcP34gPk3Am/If6qcF3sGLDU8XRaeoyQrB4AmFN3Qw=";
+    sha256 = "sha256-nb+KDnyNdtFkLi/dP1PmpSL3wwmA5Sd2PEV2DCUFz78=";
   };
 
   propagatedBuildInputs = [ packaging ply toml ];
diff --git a/pkgs/development/python-modules/smpplib/default.nix b/pkgs/development/python-modules/smpplib/default.nix
index 179ab7ce1bfc7..a71d3d6bd3d42 100644
--- a/pkgs/development/python-modules/smpplib/default.nix
+++ b/pkgs/development/python-modules/smpplib/default.nix
@@ -1,4 +1,11 @@
-{ buildPythonPackage, fetchPypi, lib, python, six, tox, mock, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python
+, six
+, mock
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "smpplib";
@@ -9,21 +16,27 @@ buildPythonPackage rec {
     sha256 = "c0b01947b47e404f42ccb59e906b6e4eb507963c971d59b44350db0f29c76166";
   };
 
-  propagatedBuildInputs = [ six ];
-  checkInputs = [ tox mock pytest ];
+  propagatedBuildInputs = [
+    six
+  ];
 
-  checkPhase = ''
-    pytest
-  '';
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
 
   postInstall = ''
     rm -rf $out/${python.sitePackages}/tests
   '';
 
+  pythonImportsCheck = [
+    "smpplib"
+  ];
+
   meta = with lib; {
     description = "SMPP library for Python";
     homepage = "https://github.com/python-smpplib/python-smpplib";
     license = licenses.lgpl3Plus;
-    maintainers = [ maintainers.globin ];
+    maintainers = with maintainers; [ globin ];
   };
 }
diff --git a/pkgs/development/python-modules/snakebite/default.nix b/pkgs/development/python-modules/snakebite/default.nix
index b4d83e672271f..62e233aec314b 100644
--- a/pkgs/development/python-modules/snakebite/default.nix
+++ b/pkgs/development/python-modules/snakebite/default.nix
@@ -1,8 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, tox
-, virtualenv
 , protobuf
 }:
 
@@ -15,11 +13,6 @@ buildPythonPackage rec {
     sha256 = "085238b4944cb9c658ee62d5794de936ac3d0c337c504b2cc86424a205ae978a";
   };
 
-  checkInputs = [
-    tox
-    virtualenv
-  ];
-
   propagatedBuildInputs = [
     protobuf
   ];
@@ -29,13 +22,17 @@ buildPythonPackage rec {
       --replace "'argparse'" ""
   '';
 
-  # tests require hadoop hdfs
+  # Tests require hadoop hdfs
   doCheck = false;
 
+  pythonImportsCheck = [
+    "snakebite"
+  ];
+
   meta = with lib; {
     description = "Pure Python HDFS client";
     homepage = "https://github.com/spotify/snakebite";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-copybutton/default.nix b/pkgs/development/python-modules/sphinx-copybutton/default.nix
index 259a7dde28b3c..ba0da6319e516 100644
--- a/pkgs/development/python-modules/sphinx-copybutton/default.nix
+++ b/pkgs/development/python-modules/sphinx-copybutton/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "sphinx-copybutton";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "executablebooks";
     repo = "sphinx-copybutton";
     rev = "v${version}";
-    sha256 = "sha256-W27kCU/8NHoBtiAyA+CgNa00j6ck3CAaq1hLLGo60Ro=";
+    sha256 = "sha256-ptQNeklF9f0XeDbBq64ZFV15O8b4lQQLHRfblOQ3nRQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix b/pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix
index 5aa69c47beb2e..a27d4019d8639 100644
--- a/pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix
+++ b/pkgs/development/python-modules/sphinx-jupyterbook-latex/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "sphinx-jupyterbook-latex";
-  version = "0.5.1";
+  version = "0.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -16,12 +16,12 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "sphinx_jupyterbook_latex";
-    sha256 = "sha256-QErSEpolSEkJaQLzfcF0oDlugEhN5Y9/KwVwC2IknLY=";
+    sha256 = "sha256-2h060Cj1XdvxC5Ewu58k/GDK+2ccvTnf2VU3qvyQly4=";
   };
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "sphinx>=3,<5" "sphinx>=3"
+      --replace "sphinx>=4,<5.1" "sphinx"
   '';
 
   propagatedBuildInputs = [ sphinx ]
@@ -32,6 +32,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Latex specific features for jupyter book";
     homepage = "https://github.com/executablebooks/sphinx-jupyterbook-latex";
+    changelog = "https://github.com/executablebooks/sphinx-jupyterbook-latex/raw/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ marsam ];
   };
diff --git a/pkgs/development/python-modules/sphinxcontrib_httpdomain/default.nix b/pkgs/development/python-modules/sphinxcontrib_httpdomain/default.nix
index 75e6dc8a61b2d..659d8867bf7c7 100644
--- a/pkgs/development/python-modules/sphinxcontrib_httpdomain/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib_httpdomain/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-httpdomain";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2059cfabd0cca8fcc3455cc8ffad92f0915a7d3bb03bfddba078a6a0f35beec5";
+    sha256 = "sha256-bC3+bKKC119m3zM4absM5zMcAbR122gJ/50Qe3zf4Es=";
   };
 
   propagatedBuildInputs = [ sphinx ];
diff --git a/pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix b/pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix
index 54962387967d1..8270834ab6091 100644
--- a/pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix
@@ -4,19 +4,20 @@
 , sqlalchemy
 , setuptools-scm
 , setuptools
-, tox
 , sphinx
-, pytest
-, pytest-cov
-, pytest-html
+, pytestCheckHook
 , pytest-sugar
-, coverage
 , pymysql
-, psycopg2 }:
+, psycopg2
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "sqlalchemy-jsonfield";
   version = "1.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "penguinolog";
@@ -27,18 +28,30 @@ buildPythonPackage rec {
 
   SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
 
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ sqlalchemy setuptools ];
-  checkInputs = [ tox sphinx pytest pytest-cov pytest-html pytest-sugar coverage pymysql psycopg2 ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    sqlalchemy
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-sugar
+    pymysql
+    psycopg2
+  ];
 
-  checkPhase = ''
-    TOX_TESTENV_PASSENV="PYTHONPATH SETUPTOOLS_SCM_PRETEND_VERSION" tox -e functional
-  '';
+  pythonImportsCheck = [
+    "sqlalchemy_jsonfield"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/penguinolog/sqlalchemy_jsonfield";
     description = "SQLALchemy JSONField implementation for storing dicts at SQL independently from JSON type support";
     license = licenses.asl20;
-    maintainers = [ maintainers.ivan-tkatchev ];
+    maintainers = with maintainers; [ ivan-tkatchev ];
   };
 }
diff --git a/pkgs/development/python-modules/ssdeep/default.nix b/pkgs/development/python-modules/ssdeep/default.nix
index 6ad339a083f52..48ca8b6b938ed 100644
--- a/pkgs/development/python-modules/ssdeep/default.nix
+++ b/pkgs/development/python-modules/ssdeep/default.nix
@@ -5,18 +5,21 @@
 , pytestCheckHook
 , six
 , ssdeep
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "ssdeep";
-  version = "3.4";
+  version = "3.4.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "DinoTools";
     repo = "python-ssdeep";
-    rev = version;
-    hash = "sha256-eAB4/HmPGj/ngHrqkOlY/kTdY5iUEBHxrsRYjR/RNyw=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-I5ci5BS+B3OE0xdLSahu3HCh99jjhnRHJFz830SvFpg=";
   };
 
   buildInputs = [
@@ -28,7 +31,6 @@ buildPythonPackage rec {
     six
   ];
 
-
   checkInputs = [
     pytestCheckHook
   ];
@@ -45,6 +47,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python wrapper for the ssdeep library";
     homepage = "https://github.com/DinoTools/python-ssdeep";
+    changelog = "https://github.com/DinoTools/python-ssdeep/blob/${version}/CHANGELOG.rst";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/structlog/default.nix b/pkgs/development/python-modules/structlog/default.nix
index 68d91685c9c23..a3b591db5f8e8 100644
--- a/pkgs/development/python-modules/structlog/default.nix
+++ b/pkgs/development/python-modules/structlog/default.nix
@@ -39,10 +39,6 @@ buildPythonPackage rec {
     simplejson
   ];
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   meta = with lib; {
     description = "Painless structural logging";
     homepage = "https://github.com/hynek/structlog";
diff --git a/pkgs/development/python-modules/subarulink/default.nix b/pkgs/development/python-modules/subarulink/default.nix
index d788e164f80dc..bf975f5e84839 100644
--- a/pkgs/development/python-modules/subarulink/default.nix
+++ b/pkgs/development/python-modules/subarulink/default.nix
@@ -36,10 +36,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "--cov=subarulink" ""
diff --git a/pkgs/development/python-modules/taskw/default.nix b/pkgs/development/python-modules/taskw/default.nix
index 0d4cd9c09e945..dfdbbcf5d814f 100644
--- a/pkgs/development/python-modules/taskw/default.nix
+++ b/pkgs/development/python-modules/taskw/default.nix
@@ -6,13 +6,14 @@
 , six
 , python-dateutil
 , kitchen
+, pytestCheckHook
 , pytz
 , pkgs
 }:
 
 buildPythonPackage rec {
-  version = "2.0.0";
   pname = "taskw";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
@@ -25,17 +26,16 @@ buildPythonPackage rec {
       --replace '@@taskwarrior@@' '${pkgs.taskwarrior}'
   '';
 
-  # https://github.com/ralphbean/taskw/issues/98
-  doCheck = false;
+  buildInputs = [ pkgs.taskwarrior ];
 
-  buildInputs = [ nose pkgs.taskwarrior tox ];
   propagatedBuildInputs = [ six python-dateutil kitchen pytz ];
 
+  checkInputs = [ pytestCheckHook ];
+
   meta = with lib; {
     homepage =  "https://github.com/ralphbean/taskw";
     description = "Python bindings for your taskwarrior database";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ pierron ];
   };
-
 }
diff --git a/pkgs/development/python-modules/taxi/default.nix b/pkgs/development/python-modules/taxi/default.nix
index a0ccf0167cf81..28aa01e904a1c 100644
--- a/pkgs/development/python-modules/taxi/default.nix
+++ b/pkgs/development/python-modules/taxi/default.nix
@@ -1,32 +1,38 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , appdirs
 , requests
 , click
 , setuptools
-, backends ? [ ]
+, pytestCheckHook
+, freezegun
 }:
 
 buildPythonPackage rec {
   pname = "taxi";
   version = "6.1.1";
 
-  src = fetchPypi {
-    inherit version;
-    pname = "taxi";
-    sha256 = "b2562ed58bd6eae7896f4f8e48dbee9845cd2d452b26dd15c26f839b4864cb02";
+  src = fetchFromGitHub {
+    owner = "sephii";
+    repo = "taxi";
+    rev = version;
+    sha256 = "sha256-iIy3odDX3QzVG80AFp81m8AYKES4JjlDp49GGpuIHLI=";
   };
 
-  # No tests in pypy package
-  doCheck = false;
-
   propagatedBuildInputs = [
     appdirs
     requests
     click
     setuptools
-  ] ++ backends;
+  ];
+
+  checkInputs = [
+    freezegun
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "taxi" ];
 
   meta = with lib; {
     homepage = "https://github.com/sephii/taxi/";
diff --git a/pkgs/development/python-modules/termgraph/default.nix b/pkgs/development/python-modules/termgraph/default.nix
new file mode 100644
index 0000000000000..24e76a5df7888
--- /dev/null
+++ b/pkgs/development/python-modules/termgraph/default.nix
@@ -0,0 +1,32 @@
+{ buildPythonPackage
+, colorama
+, fetchFromGitHub
+, lib
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "termgraph";
+  version = "0.5.3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "mkaz";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-0J9mEpDIdNEYwO+A+HBOaSw+Ct+HsbSPwGQYuYH6NN8=";
+  };
+
+  propagatedBuildInputs = [ colorama ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "termgraph" ];
+
+  meta = with lib; {
+    description = "A python command-line tool which draws basic graphs in the terminal";
+    homepage = "https://github.com/mkaz/termgraph";
+    license = licenses.mit;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/pkgs/development/python-modules/thermobeacon-ble/default.nix b/pkgs/development/python-modules/thermobeacon-ble/default.nix
index cce24dae6b5e5..b7f29f8ca8b90 100644
--- a/pkgs/development/python-modules/thermobeacon-ble/default.nix
+++ b/pkgs/development/python-modules/thermobeacon-ble/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "thermobeacon-ble";
-  version = "0.3.2";
+  version = "0.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "bluetooth-devices";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-wzDujKJkUzbzZZ9FYTz78cYF06n8REF1TQiAbePDFJc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-t4l5K52Shaw/J4thcP0ken/u77ZX7BsMEEA6ZUpcRKY=";
   };
 
   nativeBuildInputs = [
@@ -49,6 +49,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for Thermobeacon BLE devices";
     homepage = "https://github.com/bluetooth-devices/thermobeacon-ble";
+    changelog = "https://github.com/Bluetooth-Devices/thermobeacon-ble/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/tld/default.nix b/pkgs/development/python-modules/tld/default.nix
index 178ce54c8846e..d64acf2db5f2d 100644
--- a/pkgs/development/python-modules/tld/default.nix
+++ b/pkgs/development/python-modules/tld/default.nix
@@ -3,9 +3,7 @@
 , factory_boy
 , faker
 , fetchPypi
-, pytest-cov
 , pytestCheckHook
-, tox
 }:
 
 buildPythonPackage rec {
@@ -20,9 +18,7 @@ buildPythonPackage rec {
   checkInputs = [
     factory_boy
     faker
-    pytest-cov
     pytestCheckHook
-    tox
   ];
 
   # these tests require network access, but disabledTestPaths doesn't work.
diff --git a/pkgs/development/python-modules/token-bucket/default.nix b/pkgs/development/python-modules/token-bucket/default.nix
index 508e38da45005..072b084db6dd7 100644
--- a/pkgs/development/python-modules/token-bucket/default.nix
+++ b/pkgs/development/python-modules/token-bucket/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , pytest-runner
@@ -25,6 +26,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "Token Bucket Implementation for Python Web Apps";
     homepage = "https://github.com/falconry/token-bucket";
diff --git a/pkgs/development/python-modules/tplink-omada-client/default.nix b/pkgs/development/python-modules/tplink-omada-client/default.nix
index 187e3c85a9840..04e7f890bf1c0 100644
--- a/pkgs/development/python-modules/tplink-omada-client/default.nix
+++ b/pkgs/development/python-modules/tplink-omada-client/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "tplink-omada-client";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "tplink_omada_client";
     inherit version;
-    hash = "sha256-72Oxrjn1KNasdW9XITuqM5L59/5/R/BvM175d18eFmI=";
+    hash = "sha256-W3WJPYQofNcpW5AyIW3ms6FxQ2yWzocL3nrZGCdm+gk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/coqui-trainer/default.nix b/pkgs/development/python-modules/trainer/default.nix
index 4c77506b9881c..627c21ee4bf00 100644
--- a/pkgs/development/python-modules/coqui-trainer/default.nix
+++ b/pkgs/development/python-modules/trainer/default.nix
@@ -16,7 +16,7 @@
 }:
 
 let
-  pname = "coqui-trainer";
+  pname = "trainer";
   version = "0.0.16";
 in
 buildPythonPackage {
diff --git a/pkgs/development/python-modules/troposphere/default.nix b/pkgs/development/python-modules/troposphere/default.nix
new file mode 100644
index 0000000000000..93e09901e7d61
--- /dev/null
+++ b/pkgs/development/python-modules/troposphere/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, python
+
+  # python dependencies
+, awacs
+, cfn-flip
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "troposphere";
+  version = "4.1.0";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "cloudtools";
+    repo = pname;
+    rev = version;
+    hash = "sha256-cAn4Hty5f/RsCnUA59CxtGrhRgzVyaHe5PuQOM6lwEQ=";
+  };
+
+  propagatedBuildInputs = [
+    cfn-flip
+  ] ++ lib.lists.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
+
+  checkInputs = [
+    awacs
+  ];
+
+  passthru.optional-dependencies = {
+    policy = [ awacs ];
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
+  pythonImportsCheck = [ "troposphere" ];
+
+  meta = with lib; {
+    description = "Library to create AWS CloudFormation descriptions";
+    maintainers = with maintainers; [ jlesquembre ];
+    license = licenses.bsd2;
+    homepage = "https://github.com/cloudtools/troposphere";
+  };
+}
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 8936d0e582730..6cf44ee9dc7f2 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "7.15.2";
+  version = "7.15.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-Y7rQxoculQ2Dp02/sEowsEf677pDA7AQpWuEiiywvwo=";
+    hash = "sha256-c1UNqp8eYK9tkogpcDtTOTHa5ME+yOkop2UccXwOAqM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-colorama/default.nix b/pkgs/development/python-modules/types-colorama/default.nix
index 2a0e3a38fa590..9fa0baac88e65 100644
--- a/pkgs/development/python-modules/types-colorama/default.nix
+++ b/pkgs/development/python-modules/types-colorama/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-colorama";
-  version = "0.4.15.2";
+  version = "0.4.15.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FXy+ZuFjllliWEZNONeMrojYEus9erKoc+Da9PR8bIk=";
+    hash = "sha256-k2L0kWdQX3EbvJpjUtrmZQSVswUzg4aPf3a/642SMAI=";
   };
 
   # Module has no tests
diff --git a/pkgs/development/python-modules/types-python-dateutil/default.nix b/pkgs/development/python-modules/types-python-dateutil/default.nix
index c08117d2ad4a0..acf092b8411cc 100644
--- a/pkgs/development/python-modules/types-python-dateutil/default.nix
+++ b/pkgs/development/python-modules/types-python-dateutil/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-python-dateutil";
-  version = "2.8.19.3";
+  version = "2.8.19.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-oxMoTfXtP9B4MDJi7cDv3iiZjNCOUGHvHMwLtf700to=";
+    hash = "sha256-NRqMqa/UrqZi+HwXJNLhrln59fmWkb47OxHSOTzTqqE=";
   };
 
   # 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 f53c4a141a6a1..730a0a591540a 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.28.11.4";
+  version = "2.28.11.5";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1PNCsN9DImLp4ybRdjjurpaliB5456aq5G0zhw1zlS4=";
+    sha256 = "sha256-p983zG+2GHqECX2pUfjiHTNUSKolAaawo5y9HXyp7io=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix
index c9ce9c92c4cd8..c67524015ee15 100644
--- a/pkgs/development/python-modules/types-setuptools/default.nix
+++ b/pkgs/development/python-modules/types-setuptools/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-setuptools";
-  version = "65.5.0.2";
+  version = "65.5.0.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-mEfebXCH+x3UqIwqIVQ9G4amF5w2dE8IGXQwP+LzD1A=";
+    sha256 = "sha256-F3aRcfXyotxpslwNMQZVKlzadnu/azbLYhKyba5aqfw=";
   };
 
   # 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 ec73535a93865..fff70bd611f76 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.8";
+  version = "0.10.8.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-t+fqVyMIsQMNyGw7qCXFIQgUwoJWEuxnnreBT43ZKVo=";
+    sha256 = "sha256-FxvbMWPXmlIFYPJLqRap/Jv/gWWcVEip/qiSQJI3Ir4=";
   };
 
   # 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 057ec581d0abf..55ab0f9ee1e52 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.25.3";
+  version = "1.26.25.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GAe4e47hrgImgTuixSMw7/IPsr9jWbHeJN8I6zCQ5EI=";
+    hash = "sha256-7sVVZCjuyGKxrFePtpqrOHeZWpn/7J5aEs9/vQzJ2u4=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/unicodedata2/default.nix b/pkgs/development/python-modules/unicodedata2/default.nix
index a14895fa7996c..ea878d6e0cbcc 100644
--- a/pkgs/development/python-modules/unicodedata2/default.nix
+++ b/pkgs/development/python-modules/unicodedata2/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "unicodedata2";
-  version = "14.0.0";
+  version = "15.0.0";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "110nnvh02ssp92xbmswy39aa186jrmb7m41x4220wigl8c0dzxs1";
+    sha256 = "0bcgls7m2zndpd8whgznnd5908jbsa50si2bh88wsn0agcznhv7d";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/unifi-discovery/default.nix b/pkgs/development/python-modules/unifi-discovery/default.nix
index 3b3bfe4ca979f..387818583777c 100644
--- a/pkgs/development/python-modules/unifi-discovery/default.nix
+++ b/pkgs/development/python-modules/unifi-discovery/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/versioningit/default.nix b/pkgs/development/python-modules/versioningit/default.nix
index 5f058d5f1b15f..5cfe9861f465a 100644
--- a/pkgs/development/python-modules/versioningit/default.nix
+++ b/pkgs/development/python-modules/versioningit/default.nix
@@ -16,13 +16,14 @@
 
 buildPythonPackage rec {
   pname = "versioningit";
-  version = "2.0.1";
-  disabled = pythonOlder "3.8";
+  version = "2.1.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gJfiYNm99nZYW9gTO/e1//rDeox2KWJVtC2Gy1EqsuM=";
+    hash = "sha256-c/KWXjDS6/1/+ra/JjaPIjdXBiLdKknH+8GZXenGdtY=";
   };
 
   postPatch = ''
@@ -35,9 +36,10 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     packaging
     setuptools
-    tomli
   ] ++ lib.optionals (pythonOlder "3.10") [
     importlib-metadata
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/vt-py/default.nix b/pkgs/development/python-modules/vt-py/default.nix
index 1d0c7b4ffb71f..1fbcf76a636bb 100644
--- a/pkgs/development/python-modules/vt-py/default.nix
+++ b/pkgs/development/python-modules/vt-py/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "vt-py";
-  version = "0.17.1";
+  version = "0.17.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "VirusTotal";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-yG0bKBn3pQWtxjuxkhKMMJW1nzbsk5y/9h2OOCkdch8=";
+    hash = "sha256-nveMsebW828ATEW6vw+var+GxbJj2N0mNaQlkx+GH3w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/Wand/default.nix b/pkgs/development/python-modules/wand/default.nix
index 86aad7708ad9b..396642b0c13ac 100644
--- a/pkgs/development/python-modules/Wand/default.nix
+++ b/pkgs/development/python-modules/wand/default.nix
@@ -2,14 +2,16 @@
 , buildPythonPackage
 , fetchPypi
 , imagemagickBig
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  pname = "Wand";
+  pname = "wand";
   version = "0.6.10";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "Wand";
+    inherit version;
     sha256 = "sha256-Nz9KfyhmyGjDHOkQ4fmzapLRMmQKIAaOwXzqMoT+3Fc=";
   };
 
@@ -19,8 +21,17 @@ buildPythonPackage rec {
       "magick_home = '${imagemagickBig}'"
   '';
 
-  # tests not included with pypi release
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # https://github.com/emcconville/wand/issues/558
+    "test_forward_fourier_transform"
+    "test_inverse_fourier_transform"
+    # our imagemagick doesn't set MagickReleaseDate
+    "test_configure_options"
+  ];
 
   passthru.imagemagick = imagemagickBig;
 
diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix
index f38b732f9ebb3..f42645940aacc 100644
--- a/pkgs/development/python-modules/watchdog/default.nix
+++ b/pkgs/development/python-modules/watchdog/default.nix
@@ -55,6 +55,7 @@ buildPythonPackage rec {
     "test_create_wrong_encoding"
   ] ++ lib.optionals (stdenv.isDarwin && !stdenv.isAarch64) [
     "test_delete"
+    "test_separate_consecutive_moves"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/whois/default.nix b/pkgs/development/python-modules/whois/default.nix
index 78f8a01472812..bb67d36974da1 100644
--- a/pkgs/development/python-modules/whois/default.nix
+++ b/pkgs/development/python-modules/whois/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "whois";
-  version = "0.9.17";
+  version = "0.9.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "DannyCork";
     repo = "python-whois";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-r77M0IxZ72Sl5c6rA7z8EdZ6rYS/oMrdvdt/E/Pw7nQ=";
+    sha256 = "sha256-15oa7E33VQMPtI2LJ0XVKd42m9BY9jZLL3XGXpAhv/A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xbox-webapi/default.nix b/pkgs/development/python-modules/xbox-webapi/default.nix
index ccd2d3febf13c..de4500378f0da 100644
--- a/pkgs/development/python-modules/xbox-webapi/default.nix
+++ b/pkgs/development/python-modules/xbox-webapi/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "--asyncio-mode=legacy"
+    "--asyncio-mode=auto"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/zigpy-znp/default.nix b/pkgs/development/python-modules/zigpy-znp/default.nix
index 2b7fef4c8e273..083805f8e7ee5 100644
--- a/pkgs/development/python-modules/zigpy-znp/default.nix
+++ b/pkgs/development/python-modules/zigpy-znp/default.nix
@@ -49,10 +49,6 @@ buildPythonPackage rec {
     asynctest
   ];
 
-  pytestFlagsArray = [
-    "--asyncio-mode=legacy"
-  ];
-
   pythonImportsCheck = [
     "zigpy_znp"
   ];
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 061a5d348eada..4531a1661afee 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.42.2";
+  version = "0.43.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hlmIf8VD8LUxHrhEephw1e+RK6e+Jdf1HvhHu6bZxco=";
+    sha256 = "sha256-a5rTG+4qObdmInVZH8QkMdWmRrDA9ZUl2NL5p53D2MY=";
   };
 
-  vendorSha256 = "sha256-KDXS/YWuA83MeBF6rXn3zm0oIHWJaxhdQazD2kRR0mM=";
+  vendorSha256 = "sha256-hdevIQ0Ugn7+MtvNbF+HjJAMyBtGYuJPCFFcxS8p35E=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/appthreat-depscan/default.nix b/pkgs/development/tools/appthreat-depscan/default.nix
index eb974ee4cfb86..f37e713873468 100644
--- a/pkgs/development/tools/appthreat-depscan/default.nix
+++ b/pkgs/development/tools/appthreat-depscan/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "appthreat-depscan";
-  version = "2.3.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "AppThreat";
     repo = "dep-scan";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9N/PQVglXyHY0La1guvLzTHNq7QFftDWxPPwMN4Pvvo=";
+    hash = "sha256-S86EfPWA3mZV/SLQJEdwzz5hZ1qK+WQ6k2xCs+J0jPk=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/build-managers/bob/default.nix b/pkgs/development/tools/build-managers/bob/default.nix
index d5b86139cb167..a647621d77d32 100644
--- a/pkgs/development/tools/build-managers/bob/default.nix
+++ b/pkgs/development/tools/build-managers/bob/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bob";
-  version = "0.6.3";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "benchkram";
     repo = pname;
     rev = version;
-    hash = "sha256-jZDyZVjo4Purt2tabJew5N4MZmLXli6gqBTejv5FGJM=";
+    hash = "sha256-37VhzYxVrt+w1XTDXzKAkJT43TQSyCmX9SAoNnk+o3w=";
   };
 
   ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
diff --git a/pkgs/development/tools/build-managers/buck/default.nix b/pkgs/development/tools/build-managers/buck/default.nix
index 1602b8083414d..d94dccf7fbc8a 100644
--- a/pkgs/development/tools/build-managers/buck/default.nix
+++ b/pkgs/development/tools/build-managers/buck/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "buck";
-  version = "2021.05.05.01";
+  version = "2022.05.05.01";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mASJCLxW7320MXYUUWYfaxs9AbSdltxlae8OQsPUZJc=";
+    sha256 = "15v4sk1l43pgd5jxr5lxnh0ks6vb3xk5253n66s7vvsnph48j14q";
   };
 
   patches = [ ./pex-mtime.patch ];
diff --git a/pkgs/development/tools/build-managers/gprbuild/boot.nix b/pkgs/development/tools/build-managers/gprbuild/boot.nix
index 060a74314bd4d..795bb4407d58a 100644
--- a/pkgs/development/tools/build-managers/gprbuild/boot.nix
+++ b/pkgs/development/tools/build-managers/gprbuild/boot.nix
@@ -7,14 +7,14 @@
 }:
 
 let
-  version = "22.0.0";
+  version = "23.0.0";
 
   gprConfigKbSrc = fetchFromGitHub {
     name = "gprconfig-kb-${version}-src";
     owner = "AdaCore";
     repo = "gprconfig_kb";
     rev = "v${version}";
-    sha256 = "0zvd0v5cz0zd1hfnhdd91c6sr3bbv1w715j2gvzx3vxlpx1c2q4n";
+    sha256 = "1rhskq4r2plf3ia67k08misygnpr9knzw3kp3kyv5778lra8y6s2";
   };
 in
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     owner = "AdaCore";
     repo = "gprbuild";
     rev = "v${version}";
-    sha256 = "0rv0ha0kxzab5hhv0jzkjkmchhlvlx8fci8xalnngrgb9nd4r3v8";
+    sha256 = "1ciaq4nh98vd7r5i11v353c1ms9s5yph0yxk4fkryc6bvkm4666x";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/buildah/wrapper.nix b/pkgs/development/tools/buildah/wrapper.nix
index 858a422a34058..aa14a01b86448 100644
--- a/pkgs/development/tools/buildah/wrapper.nix
+++ b/pkgs/development/tools/buildah/wrapper.nix
@@ -4,7 +4,6 @@
 , lib
 , stdenv
 , extraPackages ? []
-, buildah
 , runc # Default container runtime
 , crun # Container runtime (default with cgroups v2 for podman/buildah)
 , conmon # Container runtime monitor
@@ -15,10 +14,6 @@
 }:
 
 let
-  buildah = buildah-unwrapped;
-
-  preferLocalBuild = true;
-
   binPath = lib.makeBinPath ([
   ] ++ lib.optionals stdenv.isLinux [
     runc
@@ -30,11 +25,13 @@ let
     iptables
   ] ++ extraPackages);
 
-in runCommand buildah.name {
-  name = "${buildah.pname}-wrapper-${buildah.version}";
-  inherit (buildah) pname version;
+in runCommand buildah-unwrapped.name {
+  name = "${buildah-unwrapped.pname}-wrapper-${buildah-unwrapped.version}";
+  inherit (buildah-unwrapped) pname version;
+
+  preferLocalBuild = true;
 
-  meta = builtins.removeAttrs buildah.meta [ "outputsToInstall" ];
+  meta = builtins.removeAttrs buildah-unwrapped.meta [ "outputsToInstall" ];
 
   outputs = [
     "out"
@@ -46,7 +43,7 @@ in runCommand buildah.name {
   ];
 
 } ''
-  ln -s ${buildah.man} $man
+  ln -s ${buildah-unwrapped.man} $man
 
   mkdir -p $out/bin
   ln -s ${buildah-unwrapped}/share $out/share
diff --git a/pkgs/development/tools/bundletool/default.nix b/pkgs/development/tools/bundletool/default.nix
index de4deed0606ab..6e683e09391a8 100644
--- a/pkgs/development/tools/bundletool/default.nix
+++ b/pkgs/development/tools/bundletool/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "bundletool";
-  version = "1.13.0";
+  version = "1.13.1";
 
   src = fetchurl {
     url = "https://github.com/google/bundletool/releases/download/${version}/bundletool-all-${version}.jar";
-    sha256 = "sha256-9Fks0DrUgk6N218pPvgAHrU0P9kjCOJhQx8ILzloC+I=";
+    sha256 = "sha256-owXj7FSR98IPuaWkUGpv4e6c4c6XIYFsxZZH0OWYcu8=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index e460ffd2590ad..84c9c92684961 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -1,4 +1,5 @@
 { autoPatchelfHook
+, autoSignDarwinBinariesHook
 , coreutils
 , curl
 , dotnetCorePackages
@@ -6,7 +7,6 @@
 , fetchFromGitHub
 , fetchurl
 , git
-, glibc
 , icu
 , libkrb5
 , lib
@@ -40,6 +40,8 @@ let
   runtimeIds = {
     "x86_64-linux" = "linux-x64";
     "aarch64-linux" = "linux-arm64";
+    "x86_64-darwin" = "osx-x64";
+    "aarch64-darwin" = "osx-arm64";
   };
   runtimeId = runtimeIds.${stdenv.system};
   fakeSha1 = "0000000000000000000000000000000000000000";
@@ -61,16 +63,20 @@ stdenv.mkDerivation rec {
     dotnetSdk
     dotnetPackages.Nuget
     makeWrapper
+  ] ++ lib.optionals stdenv.isLinux [
     autoPatchelfHook
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+    autoSignDarwinBinariesHook
   ];
 
   buildInputs = [
     curl # libcurl.so.4
     libkrb5 # libgssapi_krb5.so.2
-    lttng-ust # liblttng-ust.so.0
     stdenv.cc.cc.lib # libstdc++.so.6
     zlib # libz.so.1
     icu
+  ] ++ lib.optionals stdenv.isLinux [
+    lttng-ust # liblttng-ust.so.0
   ];
 
   patches = [
@@ -104,6 +110,8 @@ stdenv.mkDerivation rec {
       --replace '/bin/ln' '${coreutils}/bin/ln'
   '';
 
+  DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = stdenv.isDarwin;
+
   configurePhase = ''
     runHook preConfigure
 
@@ -137,6 +145,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  __darwinAllowLocalNetworking = true;
+
   # Fully qualified name of disabled tests
   disabledTests =
     [ "GitHub.Runner.Common.Tests.Listener.SelfUpdaterL0.TestSelfUpdateAsync" ]
@@ -195,6 +205,13 @@ stdenv.mkDerivation rec {
     ++ lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [
       # "JavaScript Actions in Alpine containers are only supported on x64 Linux runners. Detected Linux Arm64"
       "GitHub.Runner.Common.Tests.Worker.StepHostL0.DetermineNodeRuntimeVersionInAlpineContainerAsync"
+    ]
+    ++ lib.optionals DOTNET_SYSTEM_GLOBALIZATION_INVARIANT [
+      "GitHub.Runner.Common.Tests.ProcessExtensionL0.SuccessReadProcessEnv"
+      "GitHub.Runner.Common.Tests.Util.StringUtilL0.FormatUsesInvariantCulture"
+      "GitHub.Runner.Common.Tests.Worker.VariablesL0.Constructor_SetsOrdinalIgnoreCaseComparer"
+      "GitHub.Runner.Common.Tests.Worker.WorkerL0.DispatchCancellation"
+      "GitHub.Runner.Common.Tests.Worker.WorkerL0.DispatchRunNewJob"
     ];
   checkInputs = [ git ];
 
@@ -269,7 +286,7 @@ stdenv.mkDerivation rec {
   # Stripping breaks the binaries
   dontStrip = true;
 
-  preFixup = ''
+  preFixup = lib.optionalString stdenv.isLinux ''
     patchelf --replace-needed liblttng-ust.so.0 liblttng-ust.so $out/lib/libcoreclrtraceptprovider.so
   '';
 
@@ -277,17 +294,16 @@ stdenv.mkDerivation rec {
     fix_rpath() {
       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/lib/$1
     }
-
     wrap() {
       makeWrapper $out/lib/$1 $out/bin/$1 \
         --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath (buildInputs ++ [ openssl ])} \
         "''${@:2}"
     }
-
+  '' + lib.optionalString stdenv.isLinux ''
     fix_rpath Runner.Listener
     fix_rpath Runner.PluginHost
     fix_rpath Runner.Worker
-
+  '' + ''
     wrap Runner.Listener
     wrap Runner.PluginHost
     wrap Runner.Worker
@@ -296,7 +312,7 @@ stdenv.mkDerivation rec {
 
     wrap config.sh --run 'export RUNNER_ROOT=''${RUNNER_ROOT:-$HOME/.github-runner}' \
       --run 'mkdir -p $RUNNER_ROOT' \
-      --prefix PATH : ${lib.makeBinPath [ glibc.bin ]} \
+      --prefix PATH : ${lib.makeBinPath [ stdenv.cc ]} \
       --chdir $out
   '';
 
@@ -308,7 +324,7 @@ stdenv.mkDerivation rec {
   # Inspired by passthru.fetch-deps in pkgs/build-support/build-dotnet-module/default.nix
   passthru.createDepsFile = writeShellApplication {
     name = "create-deps-file";
-    runtimeInputs = [ dotnetSdk (nuget-to-nix.override { dotnet-sdk = dotnetSdk; }) ];
+    runtimeInputs = [ coreutils dotnetSdk (nuget-to-nix.override { dotnet-sdk = dotnetSdk; }) ];
     text = ''
       # Disable telemetry data
       export DOTNET_CLI_TELEMETRY_OPTOUT=1
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index e73587ece3c9c..2cc9e26d052e3 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.361.3";
+  version = "2.361.4";
 
   src = fetchurl {
     url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
-    hash = "sha256-85y40J/RfHLcCWURzlDyRfwwBNECKqr2BCGlNvdAybk=";
+    hash = "sha256-s4/iGK+1RHsMmm+jCNerdirFpY3YmqaLc1BnrWw3wXs=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/database/apgdiff/default.nix b/pkgs/development/tools/database/apgdiff/default.nix
new file mode 100644
index 0000000000000..016259f0bbb4c
--- /dev/null
+++ b/pkgs/development/tools/database/apgdiff/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, stdenvNoCC
+, fetchurl
+, makeWrapper
+, jre
+}:
+stdenvNoCC.mkDerivation (finalAttrs: {
+  version = "2.7.0";
+  pname = "apgdiff";
+
+  src = fetchurl {
+    url = "https://github.com/fordfrog/apgdiff/raw/release_${finalAttrs.version}/releases/apgdiff-${finalAttrs.version}.jar";
+    sha256 = "sha256-6OempDmedl6LOwP/s5y0hOIxGDWHd7qM7/opW3UwQ+I=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    install -Dm644 $src $out/lib/apgdiff.jar
+
+    mkdir -p $out/bin
+    makeWrapper ${jre}/bin/java $out/bin/apgdiff \
+      --argv0 apgdiff \
+      --add-flags "-jar $out/lib/apgdiff.jar"
+  '';
+
+  meta = with lib; {
+    description = "Another PostgreSQL diff tool";
+    homepage = "https://apgdiff.com";
+    license = licenses.mit;
+    inherit (jre.meta) platforms;
+    sourceProvenance = sourceTypes.binaryBytecode;
+    maintainers = [ maintainers.misterio77 ];
+  };
+})
diff --git a/pkgs/development/tools/database/beekeeper-studio/default.nix b/pkgs/development/tools/database/beekeeper-studio/default.nix
index c112fc3f773fe..12e5a656d1aa8 100644
--- a/pkgs/development/tools/database/beekeeper-studio/default.nix
+++ b/pkgs/development/tools/database/beekeeper-studio/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "beekeeper-studio";
-  version = "3.3.8";
+  version = "3.6.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${version}/Beekeeper-Studio-${version}.AppImage";
     name = "${pname}-${version}.AppImage";
-    sha512 = "sha512-riBKlvOzBovJhXUf7YX6SJKshxwGiQR0jyWHfJRkq9+WMspPkpXg4sJMXziARHaa6durXZtqCfzQ08HrfqA4Qg==";
+    sha512 = "sha512-an4Gqx2mx/rnkLe/LUAz3qRdrqWBcrWcdCiNi8Hz1OKBp1SWN3acU8RppIM0uwlrcBkjnigbbM5DZ2o+svA23A==";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/development/tools/datree/default.nix b/pkgs/development/tools/datree/default.nix
index 7c9fbb0f146e5..38d06f6461cac 100644
--- a/pkgs/development/tools/datree/default.nix
+++ b/pkgs/development/tools/datree/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "datree";
-  version = "1.7.3";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "datreeio";
     repo = "datree";
     rev = version;
-    hash = "sha256-FeGV/GXzt/AHprvKyt/gPAxxJ7d46GXrh0QRLb7qp0E=";
+    hash = "sha256-dMKRfNGv5BImSjm7zf2bLJw+wWEdVl52IMzCrzJhSHA=";
   };
 
   vendorHash = "sha256-m3O5AoAHSM6rSnmL5N7V37XU38FADb0Edt/EZvvb2u4=";
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index ab83d20b5a791..f4daa199e2092 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.85.0";
+  version = "1.87.0";
 
   vendorSha256 = null;
 
@@ -31,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-zA+9RpGGiRlu/xQoKjkI5zg6d2fPR7WKW0Sj2ggSypA=";
+    sha256 = "sha256-y5RHICd82FLWDkygCcmrnPwISEv/WuRwQiXXqS6cSKg=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/dump_syms/default.nix b/pkgs/development/tools/dump_syms/default.nix
index 4aff90f830a3a..19e16bd0da73a 100644
--- a/pkgs/development/tools/dump_syms/default.nix
+++ b/pkgs/development/tools/dump_syms/default.nix
@@ -7,11 +7,16 @@
 
 # darwin
 , Security
+
+# tests
+, firefox-esr-unwrapped
+, firefox-unwrapped
+, thunderbird-unwrapped
 }:
 
 let
   pname = "dump_syms";
-  version = "2.0.0";
+  version = "2.1.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -20,10 +25,10 @@ rustPlatform.buildRustPackage {
     owner = "mozilla";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ei/ORKKoh9rQg4xZ5j76qaplw1PyEV7ABkyL7e8WIlQ=";
+    hash = "sha256-Q4opIGG1kOORECNB6al0oT4tjBe++ND6Eb4E86ED2+o=";
   };
 
-  cargoSha256 = "sha256-t3AQW0j/L/qIUx6RJKqf+Fv/2BNWkWmTc0PDNFlZeaQ=";
+  cargoSha256 = "sha256-j3bZaHFJEn/LW032CaRBaLN3Pb5GiQv1MReD0LFI8y8=";
 
   nativeBuildInputs = [
     pkg-config
@@ -42,6 +47,10 @@ rustPlatform.buildRustPackage {
     "--skip windows::pdb::tests::test_oleaut32"
   ];
 
+  passthru.tests = {
+    inherit firefox-esr-unwrapped firefox-unwrapped thunderbird-unwrapped;
+  };
+
   meta = with lib; {
     changelog = "https://github.com/mozilla/dump_syms/releases/tag/v${version}";
     description = "Command-line utility for parsing the debugging information the compiler provides in ELF or stand-alone PDB files";
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 03b0b362682cb..bafcca27474ed 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.15.13";
+  version = "0.15.14";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-iQei9YSJIKnqsWK26Eh6l3yafvRKPZ2YdHhQqybsfVg=";
+    sha256 = "sha256-RcXVynR/dHI0Wn9gTQsYVjxqzAfeiI52Ph+hfpM9RhU=";
   };
 
   vendorSha256 = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
diff --git a/pkgs/development/tools/fnm/default.nix b/pkgs/development/tools/fnm/default.nix
index ffcd313de0b03..b6d1688e5e680 100644
--- a/pkgs/development/tools/fnm/default.nix
+++ b/pkgs/development/tools/fnm/default.nix
@@ -10,20 +10,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fnm";
-  version = "1.31.1";
+  version = "1.32.0";
 
   src = fetchFromGitHub {
     owner = "Schniz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5DonN9tzap3mMu6/WS5evXtOjpRg4g80evCaSOsTgQA=";
+    sha256 = "sha256-ttprb8w4EWq2F8TbeUt+rCc0paxLXkEzISnAskIstmo=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation Security ];
 
-  cargoSha256 = "sha256-E4Zbk3+fbjZMXRxBcTn9S8XMSts+5m78UIP33oZOsXQ=";
+  cargoSha256 = "sha256-6nw7q/XQ3EOaXmyiqJJjLSX4W9Mn9W5nfl8shUttBx0=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index ba74387d4990d..c428c8160ecc2 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.17.0";
+  version = "3.18.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "v${version}";
-    sha256 = "sha256-pbroxBHo+Y4mjcZVVth2zfDs/5sz9WDhdYMK5v5KeSg=";
+    sha256 = "sha256-b5YNiMnk1tBk7kO4YWAU8cyg5oHhKu95ogTtZ3N/6IY=";
   };
 
-  vendorSha256 = "sha256-nOrzOSLIFZvEuFAfKOXXIVoSzumQHRRcQcOAPH5fCSU=";
+  vendorSha256 = "sha256-+DmnYd415FWgbY+gkDVWjnvbjTppfFV5NMpIE3Mm124=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/go-toml/default.nix b/pkgs/development/tools/go-toml/default.nix
index 8cfa4c8029926..2c1a78fec0fdf 100644
--- a/pkgs/development/tools/go-toml/default.nix
+++ b/pkgs/development/tools/go-toml/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-toml";
-  version = "2.0.5";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "pelletier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9m0g8hfJ+gazYHq2TzSN/0d2o789QBhbIpGxdXhNBGk=";
+    sha256 = "sha256-RXKJJseRrwSTReMAkFjShKvCWGMowruYwsCovHwq4ZQ=";
   };
 
-  vendorSha256 = "sha256-yDPCfJtYty4aaoDrn3UWFcs1jHJHMJqzc5f06AWQmRc=";
+  vendorSha256 = "sha256-MMCyFKqsL9aSQqK9VtPzUbgfLTFpzD5g8QYx8qIwktg=";
 
   excludedPackages = [ "cmd/gotoml-test-decoder" "cmd/tomltestgen" ];
 
diff --git a/pkgs/development/tools/grpc-gateway/default.nix b/pkgs/development/tools/grpc-gateway/default.nix
index 064448b6c6c48..3870e87dcb453 100644
--- a/pkgs/development/tools/grpc-gateway/default.nix
+++ b/pkgs/development/tools/grpc-gateway/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpc-gateway";
-  version = "2.13.0";
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     owner = "grpc-ecosystem";
     repo = "grpc-gateway";
     rev = "v${version}";
-    sha256 = "sha256-bJfqBXi77C0sa6ww0hNOwXYINp6q+KN02LdIHtlHp9Q=";
+    sha256 = "sha256-lnNdsDCpeSHtl2lC1IhUw11t3cnGF+37qSM7HDvKLls=";
   };
 
-  vendorSha256 = "sha256-Rr7O5pQntuvHfBurPW8FfJQmBWZOmVx7jPCu8HOs0ac=";
+  vendorSha256 = "sha256-dGdnDuRbwg8fU7uB5GaHEWa/zI3w06onqjturvooJQA=";
 
   meta = with lib; {
     description =
diff --git a/pkgs/development/tools/micronaut/default.nix b/pkgs/development/tools/micronaut/default.nix
index b69eb0f69bc04..0e809bb32f760 100644
--- a/pkgs/development/tools/micronaut/default.nix
+++ b/pkgs/development/tools/micronaut/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "micronaut";
-  version = "3.7.2";
+  version = "3.7.4";
 
   src = fetchzip {
     url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${version}/micronaut-cli-${version}.zip";
-    sha256 = "sha256-CzfS/6MugXhBeoFhRBsrupW8z/K+bl9k3Mm3Po63xhQ=";
+    sha256 = "sha256-VUavNwj5MCMZFV9WASF3olOdZb4JNBYbcQdgUfvPS8k=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/development/tools/millet/default.nix b/pkgs/development/tools/millet/default.nix
index 3046df98839cb..ccc895b895694 100644
--- a/pkgs/development/tools/millet/default.nix
+++ b/pkgs/development/tools/millet/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "millet";
-  version = "0.5.16";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "azdavis";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-YdCdB72f7IQsi8WKVmGlqAybcewisK1J7jfR5Irp6VE=";
+    hash = "sha256-tP1ccUtHfj+JPUYGo+QFYjbz56uNl3p53QNeE/xaCt4=";
   };
 
-  cargoHash = "sha256-2WEptDHo2t6p8nzd00fPu/XQqq0gUlLAyuSraMfbHL0=";
+  cargoHash = "sha256-umOlvHDA8AtoAeB1i8nNgbjvzTmzwZfdjF+TCTKzqAU=";
 
   postPatch = ''
     rm .cargo/config.toml
diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix
index 3dc424f106bfa..014d926eea3d7 100644
--- a/pkgs/development/tools/misc/babeltrace/default.nix
+++ b/pkgs/development/tools/misc/babeltrace/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, libuuid, popt, elfutils }:
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, glib, libuuid, popt, elfutils }:
 
 stdenv.mkDerivation rec {
   pname = "babeltrace";
@@ -9,9 +9,18 @@ stdenv.mkDerivation rec {
     sha256 = "1hkg3phnamxfrhwzmiiirbhdgckzfkqwhajl0lmr1wfps7j47wcz";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  # The pre-generated ./configure script uses an old autoconf version which
+  # breaks cross-compilation (replaces references to malloc with rpl_malloc).
+  # Re-generate with nixpkgs's autoconf. This requires glib to be present in
+  # nativeBuildInputs for its m4 macros to be present.
+  nativeBuildInputs = [ autoreconfHook glib pkg-config ];
   buildInputs = [ glib libuuid popt elfutils ];
 
+  # --enable-debug-info (default) requires the configure script to run host
+  # executables to determine the elfutils library version, which cannot be done
+  # while cross compiling.
+  configureFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-debug-info";
+
   meta = with lib; {
     description = "Command-line tool and library to read and convert LTTng tracefiles";
     homepage = "https://www.efficios.com/babeltrace";
diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix
index 378e941c89742..9879768086acc 100644
--- a/pkgs/development/tools/misc/sccache/default.nix
+++ b/pkgs/development/tools/misc/sccache/default.nix
@@ -1,17 +1,17 @@
 { stdenv, lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.3.0";
+  version = "0.3.1";
   pname = "sccache";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "sccache";
     rev = "v${version}";
-    sha256 = "sha256-z4pLtSx1mg53AHPhT8P7BOEMCWHsieoS3rI0kEyJBcY=";
+    sha256 = "sha256-SjGtFkFyHJRnFg3QwXksrV+T08oku80vcivLzFWt94g=";
   };
 
-  cargoSha256 = "sha256-4YF1fqthnWY6eu6J4SMwFG655KXdFCXmA9wxLyOOAw4=";
+  cargoSha256 = "sha256-cd/4otvrneOqntBzNZP1/RY0jg/NYeugiblr1tatITI=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix
index e63d338a6ff64..73aff70db333a 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.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-hSDGVS3Q0LJ7HZPz6/kSRK+9XejETra5FloeEMrkdLg=";
+    hash = "sha256-sC8rJOyQB8mDCCmfpk2lVDPTWxBj7tZxVXQw8agl7t0=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/pkgs/development/tools/mysql-shell/default.nix b/pkgs/development/tools/mysql-shell/default.nix
index b84c884340170..26dd21ef0dd40 100644
--- a/pkgs/development/tools/mysql-shell/default.nix
+++ b/pkgs/development/tools/mysql-shell/default.nix
@@ -4,6 +4,11 @@
 , cmake
 , fetchurl
 , git
+, cctools
+, developer_cmds
+, DarwinTools
+, makeWrapper
+, CoreServices
 , bison
 , openssl
 , protobuf
@@ -26,30 +31,24 @@
 , python3
 , cyrus_sasl
 , openldap
-, numactl
-, cctools
-, CoreServices
-, developer_cmds
-, DarwinTools
-, makeWrapper
+, antlr
 }:
 
 let
   pythonDeps = with python3.pkgs; [ certifi paramiko pyyaml ];
-  pythonPath = lib.makeSearchPath python3.sitePackages pythonDeps;
 in
-stdenv.mkDerivation rec{
+stdenv.mkDerivation rec {
   pname = "mysql-shell";
-  version = "8.0.30";
+  version = "8.0.31";
 
   srcs = [
     (fetchurl {
       url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${version}-src.tar.gz";
-      sha256 = "sha256-/UJgcYkPG8RShZzybqdcMQDpNUTVWAfAa2p0Cm23fXA=";
+      sha256 = "sha256-VA9dqvPmw2WXP3hAJS2xRTvxBM8D/IPsWYIaYwRZI/s=";
     })
     (fetchurl {
       url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor version}/mysql-${version}.tar.gz";
-      sha256 = "sha256-yYjVxrqaVmkqbNbpgTRltfyTaO1LRh35cFmi/BYMi4Q=";
+      sha256 = "sha256-Z7uMunWyjpXH95SFY/AfuEUo/LsaNduoOdTORP4Bm6o=";
     })
   ];
 
@@ -62,7 +61,9 @@ stdenv.mkDerivation rec{
     substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool
   '';
 
-  nativeBuildInputs = [ pkg-config cmake git bison makeWrapper ] ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
+  nativeBuildInputs = [ pkg-config cmake git bison makeWrapper ]
+    ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ]
+    ++ lib.optionals stdenv.isDarwin [ cctools developer_cmds DarwinTools ];
 
   buildInputs = [
     boost
@@ -84,13 +85,15 @@ stdenv.mkDerivation rec{
     openldap
     v8
     python3
-  ] ++ pythonDeps ++ lib.optionals stdenv.isLinux [
-    numactl
-    libtirpc
-  ] ++ lib.optionals stdenv.isDarwin [ cctools CoreServices developer_cmds DarwinTools ];
+    antlr.runtime.cpp
+  ] ++ pythonDeps
+  ++ lib.optionals stdenv.isLinux [ libtirpc ]
+  ++ lib.optionals stdenv.isDarwin [ CoreServices ];
 
   preConfigure = ''
     # Build MySQL
+    echo "Building mysqlclient mysqlxclient"
+
     cmake -DWITH_BOOST=system -DWITH_SYSTEM_LIBS=ON -DWITH_ROUTER=OFF -DWITH_UNIT_TESTS=OFF \
       -DFORCE_UNSUPPORTED_COMPILER=1 -S ../mysql-${version} -B ../mysql-${version}/build
 
@@ -114,7 +117,7 @@ stdenv.mkDerivation rec{
   CXXFLAGS = [ "-DV8_COMPRESS_POINTERS=1" "-DV8_31BIT_SMIS_ON_64BIT_ARCH=1" ];
 
   postFixup = ''
-    wrapProgram $out/bin/mysqlsh --set PYTHONPATH "${pythonPath}"
+    wrapProgram $out/bin/mysqlsh --set PYTHONPATH "${lib.makeSearchPath python3.sitePackages pythonDeps}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix
index 5c3153a88493a..a97ce8499b2a9 100644
--- a/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -1,16 +1,17 @@
-{ lib, stdenv, fetchurl, ocaml, writeText }:
+{ lib, stdenv, fetchFromGitHub, ocaml, writeText }:
 
-let
-  pname = "camlidl";
-  webpage = "https://caml.inria.fr/pub/old_caml_site/camlidl/";
-in
-stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-  version = "1.05";
+lib.throwIfNot (lib.versionAtLeast ocaml.version "4.03")
+  "camlidl is not available for OCaml ${ocaml.version}"
 
-  src = fetchurl {
-    url = "http://caml.inria.fr/pub/old_caml_site/distrib/bazar-ocaml/${pname}-${version}.tar.gz";
-    sha256 = "0483cs66zsxsavcllpw1qqvyhxb39ddil3h72clcd69g7fyxazl5";
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-camlidl";
+  version = "1.11";
+
+  src = fetchFromGitHub {
+    owner = "xavierleroy";
+    repo = "camlidl";
+    rev = "camlidl111";
+    sha256 = "sha256-8m0zem/6nvpEJtjJNP/+vafeVLlMvNQGdl8lyf/OeBg=";
   };
 
   nativeBuildInputs = [ ocaml ];
@@ -21,10 +22,10 @@ stdenv.mkDerivation rec {
   preBuild = ''
     mv config/Makefile.unix config/Makefile
     substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out
-    substituteInPlace config/Makefile --replace OCAMLLIB=/usr/local/lib/ocaml OCAMLLIB=$out/lib/ocaml/${ocaml.version}/site-lib/camlidl
-    substituteInPlace config/Makefile --replace CPP=/lib/cpp CPP=${stdenv.cc}/bin/cpp
-    substituteInPlace config/Makefile --replace "OCAMLC=ocamlc -g" "OCAMLC=ocamlc -g -warn-error -31"
+    substituteInPlace config/Makefile --replace 'OCAMLLIB=$(shell $(OCAMLC) -where)' OCAMLLIB=$out/lib/ocaml/${ocaml.version}/site-lib/camlidl
+    substituteInPlace config/Makefile --replace CPP=cpp CPP=${stdenv.cc}/bin/cpp
     mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/caml
+    mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/stublibs
   '';
 
   postInstall = ''
@@ -40,15 +41,14 @@ stdenv.mkDerivation rec {
   '';
 
   setupHook = writeText "setupHook.sh" ''
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
     export NIX_CFLAGS_COMPILE+=" -isystem $1/lib/ocaml/${ocaml.version}/site-lib/camlidl"
     export NIX_LDFLAGS+=" -L $1/lib/ocaml/${ocaml.version}/site-lib/camlidl"
   '';
 
   meta = {
     description = "A stub code generator and COM binding for Objective Caml";
-    homepage = webpage;
-    license = "LGPL";
+    homepage = "https://xavierleroy.org/camlidl/";
+    license = lib.licenses.lgpl21;
     maintainers = [ lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index aed704a161d3c..7493176e3ac69 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "12.13.0";
+  version = "12.16.0";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bGg0UqqplJpsJ2xOHmu6y8ixGxdDkWwZyRrgzrNBlIY=";
+    sha256 = "sha256-YrrOwTLVgxoriVgVDmn99ORSh04os0q/QnfBXtTtl5g=";
   };
 
   vendorSha256 = "sha256-OrtKFkWXqVoXKmN6BT8YbCNjR1gRTT4gPNwmirn7fjU=";
diff --git a/pkgs/development/tools/omnisharp-roslyn/default.nix b/pkgs/development/tools/omnisharp-roslyn/default.nix
index bd1d80ef88f78..88e7fa690db65 100644
--- a/pkgs/development/tools/omnisharp-roslyn/default.nix
+++ b/pkgs/development/tools/omnisharp-roslyn/default.nix
@@ -13,13 +13,13 @@ let
 in
 let finalPackage = buildDotnetModule rec {
   pname = "omnisharp-roslyn";
-  version = "1.39.1";
+  version = "1.39.2";
 
   src = fetchFromGitHub {
     owner = "OmniSharp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "Fd9fS5iSEynZfRwZexDlVndE/zSZdUdugR0VgXXAdmI=";
+    sha256 = "/MxBdMjPpq3Gwhi/93+JCAI+BuiiWu0n9QThQi+s/kE=";
   };
 
   projectFile = "src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj";
@@ -44,7 +44,7 @@ let finalPackage = buildDotnetModule rec {
   postPatch = ''
     # Relax the version requirement
     substituteInPlace global.json \
-      --replace '7.0.100-preview.4.22252.9' '${sdk_6_0.version}'
+      --replace '7.0.100-rc.1.22431.12' '${sdk_6_0.version}'
     # Patch the project files so we can compile them properly
     for project in src/OmniSharp.Http.Driver/OmniSharp.Http.Driver.csproj src/OmniSharp.LanguageServerProtocol/OmniSharp.LanguageServerProtocol.csproj src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj; do
       substituteInPlace $project \
@@ -68,10 +68,6 @@ let finalPackage = buildDotnetModule rec {
     makeWrapper $out/lib/omnisharp-roslyn/OmniSharp $out/bin/OmniSharp \
       --prefix LD_LIBRARY_PATH : ${sdk_6_0.icu}/lib \
       --set-default DOTNET_ROOT ${sdk_6_0}
-
-    # Delete files to mimick hacks in https://github.com/OmniSharp/omnisharp-roslyn/blob/bdc14ca/build.cake#L594
-    rm $out/lib/omnisharp-roslyn/NuGet.*.dll
-    rm $out/lib/omnisharp-roslyn/System.Configuration.ConfigurationManager.dll
   '';
 
   passthru.tests = {
diff --git a/pkgs/development/tools/omnisharp-roslyn/deps.nix b/pkgs/development/tools/omnisharp-roslyn/deps.nix
index d3d626aff5e0e..ca9228eddb5db 100644
--- a/pkgs/development/tools/omnisharp-roslyn/deps.nix
+++ b/pkgs/development/tools/omnisharp-roslyn/deps.nix
@@ -7,31 +7,30 @@
   (fetchNuGet { pname = "Dotnet.Script.DependencyModel"; version = "1.3.1"; sha256 = "0bi9rg6c77qav8mb0rbvs5pczf9f0ii8i11c9vyib53bv6fiifxp"; })
   (fetchNuGet { pname = "Dotnet.Script.DependencyModel.NuGet"; version = "1.3.1"; sha256 = "1v2xd0f2xrkgdznnjad5vhjan51k9qwi4piyg5vdz9mvywail51q"; })
   (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; })
-  (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "7.1.0.6543"; sha256 = "1xrajs5dcd7aqsg9ibhdcy39yrd8737kknkmqf907n7fqs2jxr46"; })
+  (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "7.2.1.6856"; sha256 = "19z68rgzl93lh1h8anbgzw119mhvcgr9nh5q2nxk6qihl2mx97ba"; })
   (fetchNuGet { pname = "McMaster.Extensions.CommandLineUtils"; version = "3.1.0"; sha256 = "075n1mfsxwz514r94l8i3ax0wp43c3xb4f9w25a96h6xxnj0k2hd"; })
   (fetchNuGet { pname = "MediatR"; version = "8.1.0"; sha256 = "0cqx7yfh998xhsfk5pr6229lcjcs1jxxyqz7dwskc9jddl6a2akp"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.1"; sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw"; })
-  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "5.0.0"; sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
-  (fetchNuGet { pname = "Microsoft.Build"; version = "17.0.0"; sha256 = "166brl88y8xn9llc0hmn911k6y74gapmk1mrnfxbv73qj77jxsn1"; })
-  (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.0.0"; sha256 = "08c257dmfa6n41lq4fxb34khi8jbwlqfy1168x7h7zsbh3wss7yq"; })
+  (fetchNuGet { pname = "Microsoft.Build"; version = "17.3.1"; sha256 = "1hwjihnjcycnzqksa6pcljj515nprpqjqbqy3shykd86micyhhxr"; })
+  (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.3.1"; sha256 = "0v27f8nv0q6q3n5h4sdf3hm2j9b1dmjx5hpxv9s16gb4ayiaq8y9"; })
   (fetchNuGet { pname = "Microsoft.Build.Locator"; version = "1.4.1"; sha256 = "0j119rri7a401rca67cxdyrn3rprzdl1b2wrblqc23xsff1xvlrx"; })
-  (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "17.0.0"; sha256 = "087mn3rz5plnj7abjqk2di5is35mmfgmdjf0kcdn7jld8rbhk5hx"; })
+  (fetchNuGet { pname = "Microsoft.Build.Tasks.Core"; version = "17.3.1"; sha256 = "08mnq4swyjzjscj56rcc1ckyrzs84nsx312hh1xcw29m86ad7jpz"; })
   (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "1.0.0"; sha256 = "0avwja8vk56f2kr2pmrqx3h60bnwbs7ds062lhvhcxv87m5yfqnj"; })
-  (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.0.0"; sha256 = "0b7kylnvdqs81nmxdw7alwij8b19wm00iqicb9gkiklxjfyd8xav"; })
+  (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.3.1"; sha256 = "0yib6x7hankpr9knfxascybhydkq6zwc3ahg8f2hzph9pcf9krjz"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.AnalyzerUtilities"; version = "3.3.0"; sha256 = "0b2xy6m3l1y6j2xc97cg5llia169jv4nszrrrqclh505gpw6qccz"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.4.0-1.22369.1"; sha256 = "0kmzgwj3kyzrv5k7cfcy0178bdvf6n5bshkslgzxzgmr5118y5c7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.4.0-1.22369.1/microsoft.codeanalysis.common.4.4.0-1.22369.1.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.4.0-1.22369.1"; sha256 = "1z0rf4vw9d5nbchc6hr8dv96dpkjkanv74ghv88say0h34japnvw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.4.0-1.22369.1/microsoft.codeanalysis.csharp.4.4.0-1.22369.1.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Features"; version = "4.4.0-1.22369.1"; sha256 = "1fgndnm3ic6f5jv6rdmaw5ps73a5m95dqlichawymmkqnrr15y9q"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.4.0-1.22369.1/microsoft.codeanalysis.csharp.features.4.4.0-1.22369.1.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "4.4.0-1.22369.1"; sha256 = "04b4byz6sqq5gz03xj8zsgaf4l0dqcnb21wy5jf27ax5j6avb85v"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.4.0-1.22369.1/microsoft.codeanalysis.csharp.scripting.4.4.0-1.22369.1.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "4.4.0-1.22369.1"; sha256 = "1s6hh1cqkap9p0drwq1rqc5b6kzmdqfba3c5l7v7c1kzwaa8k3q3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.4.0-1.22369.1/microsoft.codeanalysis.csharp.workspaces.4.4.0-1.22369.1.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.4.0-3.22429.3"; sha256 = "1f8jjy4v0f5banvg3d0qwv43w86ja1hz3rq452kg44ikrsnhzvcw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.4.0-3.22429.3/microsoft.codeanalysis.common.4.4.0-3.22429.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.4.0-3.22429.3"; sha256 = "1y5llwvgzzi294dh501h064l4c2niin4k0hkq1vr5hlyzcbzgdxg"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.4.0-3.22429.3/microsoft.codeanalysis.csharp.4.4.0-3.22429.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Features"; version = "4.4.0-3.22429.3"; sha256 = "0swcsc4g6k1dfw8gmdk6dq35yrrw2idqzfxjqvx8hns453z33x73"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.4.0-3.22429.3/microsoft.codeanalysis.csharp.features.4.4.0-3.22429.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "4.4.0-3.22429.3"; sha256 = "0sbwidq35lakh0y58ci67kpqayiyc69ag850fmrnjg7zwgcjc8p8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.4.0-3.22429.3/microsoft.codeanalysis.csharp.scripting.4.4.0-3.22429.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "4.4.0-3.22429.3"; sha256 = "0k4kzg4b3wirp1n6ic995g35h70iwpcwr18c9z1246i0kc0nll2q"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.4.0-3.22429.3/microsoft.codeanalysis.csharp.workspaces.4.4.0-3.22429.3.nupkg"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Elfie"; version = "1.0.0"; sha256 = "1y5r6pm9rp70xyiaj357l3gdl4i4r8xxvqllgdyrwn9gx2aqzzqk"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp"; version = "4.4.0-1.22369.1"; sha256 = "0lawpffk4y4435dmyrd38paxf04vlvfxsdn2xg1r9ch0l7a2cxb3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.4.0-1.22369.1/microsoft.codeanalysis.externalaccess.omnisharp.4.4.0-1.22369.1.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.CSharp"; version = "4.4.0-1.22369.1"; sha256 = "0z55hzv2pk9nbpwj9q6hr9ml60g3dj12vmx34bjldvspxkxjjilc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.4.0-1.22369.1/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.4.0-1.22369.1.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Features"; version = "4.4.0-1.22369.1"; sha256 = "0ijpr2r5ahnh7s6sds9ihzw8383q2dmbrrm4yfs78sxwnhabmgy0"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.4.0-1.22369.1/microsoft.codeanalysis.features.4.4.0-1.22369.1.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "4.4.0-1.22369.1"; sha256 = "1aq0dlfvbpifbapa75jj4sf4jqpb4w5y76xcvbg8gvgvvmahfkqk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.4.0-1.22369.1/microsoft.codeanalysis.scripting.common.4.4.0-1.22369.1.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "4.4.0-1.22369.1"; sha256 = "0v47hxzydwyvy6246ix144kgyiz7b1xbc4s7aan83cpj21j5g4vs"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.4.0-1.22369.1/microsoft.codeanalysis.workspaces.common.4.4.0-1.22369.1.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp"; version = "4.4.0-3.22429.3"; sha256 = "1vi1dfwm4qq5vv10iaza174ikj3jqywv68hbjlm5g92iyw5v2j19"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.4.0-3.22429.3/microsoft.codeanalysis.externalaccess.omnisharp.4.4.0-3.22429.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.CSharp"; version = "4.4.0-3.22429.3"; sha256 = "1p49rjcgwb3hsh78h3n5ifi4iaywbkx6jdi4n8xpm8nyicjy524c"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.4.0-3.22429.3/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.4.0-3.22429.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Features"; version = "4.4.0-3.22429.3"; sha256 = "19dfwpz35cvgvg9cgmfbf5c63msp1800kgk3v1ssphzfpmc35ws1"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.4.0-3.22429.3/microsoft.codeanalysis.features.4.4.0-3.22429.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "4.4.0-3.22429.3"; sha256 = "1g0ly8qfz3j26il3pz5xh7kg13a41kbw2rm81srlamgv9djgxa8l"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.4.0-3.22429.3/microsoft.codeanalysis.scripting.common.4.4.0-3.22429.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "4.4.0-3.22429.3"; sha256 = "080r4cwckhmvs9zjwi225q3gssi7f1h4ic93yakmk89mph0wjkaq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.4.0-3.22429.3/microsoft.codeanalysis.workspaces.common.4.4.0-3.22429.3.nupkg"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
   (fetchNuGet { pname = "Microsoft.DiaSymReader"; version = "1.4.0"; sha256 = "0li9shnm941jza40kqfkbbys77mrr55nvi9h3maq9fipq4qwx92d"; })
@@ -68,12 +67,13 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "6.0.0"; sha256 = "1k6q91vrhq1r74l4skibn7wzxzww9l74ibxb2i8gg4q6fzbiivba"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; })
-  (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "1.0.0"; sha256 = "06yakiyzgss399giivfx6xdrnfxqfsvy5fzm90scjanvandv0sdj"; })
+  (fetchNuGet { pname = "Microsoft.IO.Redist"; version = "6.0.0"; sha256 = "17d02106ksijzcnh03h8qaijs77xsba5l50chng6gb8nwi7wrbd5"; })
+  (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.3.1"; sha256 = "0c8yicvhmwgm3z076hy3zgkqznhmrm8qygiscawlc9k01l5ilkrs"; })
   (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"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.0.0"; sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.1.0"; sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
   (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.NETFramework.ReferenceAssemblies"; version = "1.0.0"; sha256 = "0na724xhvqm63vq9y18fl9jw9q2v99bdwr353378s5fsi11qzxp9"; })
@@ -81,18 +81,18 @@
   (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.0"; sha256 = "1bqinq2nxnpqxziypg1sqy3ly0nymxxjpn8fwkn3rl4vl6gdg3rc"; })
   (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "1.0.0"; sha256 = "1zxkpx01zdv17c39iiy8fx25ran89n14qwddh1f140v1s4dn8z9c"; })
   (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "1.0.0"; sha256 = "029ixyaqn48cjza87m5qf0g1ynyhlm6irgbx1n09src9g666yhpd"; })
-  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.2.0"; sha256 = "0l05smcgjzdfa5f60f9q5lylap3i21aswxbava92s19bgv46w2rv"; })
-  (fetchNuGet { pname = "Microsoft.TestPlatform.TranslationLayer"; version = "17.2.0"; sha256 = "0yzwsmyb1pz761rg03zjimbqhngqj2vgzppp0ypqhdxbp5gmh2k9"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.3.0"; sha256 = "0q4z9mx1ccflpbm5nhcimi5s3rppn1wmmg1lmc03vkdzkav0ymgv"; })
+  (fetchNuGet { pname = "Microsoft.TestPlatform.TranslationLayer"; version = "17.3.0"; sha256 = "0n0iahawk4cjc7pkddjyaqnb10fn5qcjy59645ni0wy8q3myiskh"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.SDK.EmbedInteropTypes"; version = "15.0.12"; sha256 = "083pva0a0xxvqqrjv75if25wr3rq034wgjhbax74zhzdb665nzsw"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; version = "1.14.114"; sha256 = "062mqkmjf4k6zm3wi9ih0lzypfsnv82lgh88r35fj66akihn86gv"; })
-  (fetchNuGet { pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; version = "1.16.30"; sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "16.7.56"; sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "16.7.56"; sha256 = "04v9df0k7bsc0rzgkw4mnvi43pdrh42vk6xdcwn9m6im33m0nnz2"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "15.5.31"; sha256 = "1ah99rn922qa0sd2k3h64m324f2r32pw8cn4cfihgvwx4qdrpmgw"; })
   (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.3.0"; sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.6.0"; sha256 = "0i4y782yrqqyx85pg597m20gm0v126w0j9ddk5z7xb3crx4z9f2s"; })
-  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "4.7.0"; sha256 = "0pjll2a62hc576hd4wgyasva0lp733yllmk54n37svz5ac7nfz0q"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
+  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; })
   (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.6.81"; sha256 = "06wihcaga8537ibh0mkj28m720m6vzkqk562zkynhca85nd236yi"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
@@ -101,25 +101,25 @@
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
   (fetchNuGet { pname = "NuGet.Common"; version = "5.2.0"; sha256 = "14y7axpmdl9fg8jfc42gxpcq9wj8k3vzc07npmgjnzqlp5xjyyac"; })
-  (fetchNuGet { pname = "NuGet.Common"; version = "6.3.0-preview.1.32"; sha256 = "1vvfs5f7lir3ds9hm4k511h44vilh29a0cb90ssz2ag3dx3bg2ly"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/6.3.0-preview.1.32/nuget.common.6.3.0-preview.1.32.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Common"; version = "6.4.0-preview.1.53"; sha256 = "1p3f3p9md7d880hbp50msp54qkhwknxkz62sm79ndgldnclwrr3i"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/6.4.0-preview.1.53/nuget.common.6.4.0-preview.1.53.nupkg"; })
   (fetchNuGet { pname = "NuGet.Configuration"; version = "5.2.0"; sha256 = "0b4dkym3vnj7qldnqqq6h6ry0gkql5c2ps5wy72b8s4fc3dmnvf1"; })
-  (fetchNuGet { pname = "NuGet.Configuration"; version = "6.3.0-preview.1.32"; sha256 = "0pgz4dbg2li611szh9qmljpkxbjl4q4v981mmcw8f8v85ifjqigh"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/6.3.0-preview.1.32/nuget.configuration.6.3.0-preview.1.32.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Configuration"; version = "6.4.0-preview.1.53"; sha256 = "0zlkzgwqspja7j1j7jb5h3wdzvg42zp11ysgl93s96yxjr92ivx5"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/6.4.0-preview.1.53/nuget.configuration.6.4.0-preview.1.53.nupkg"; })
   (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "5.2.0"; sha256 = "156yjfsk9pzqviiwy69lxfqf61yyj4hn4vdgfcbqvw4d567i150r"; })
-  (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "6.3.0-preview.1.32"; sha256 = "11rqfv30iz5php6y77rm85a54sfixhhx128c2pys2pkqc9y636kl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/6.3.0-preview.1.32/nuget.dependencyresolver.core.6.3.0-preview.1.32.nupkg"; })
+  (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "6.4.0-preview.1.53"; sha256 = "05gmy611x4vppw2xjkbnnvf97nj3lrjkg5q1ilp625hf5hrmmx68"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/6.4.0-preview.1.53/nuget.dependencyresolver.core.6.4.0-preview.1.53.nupkg"; })
   (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; })
   (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.2.0"; sha256 = "1fh4rp26m77jq5dyln68wz9qm217la9vv21amis2qvcy6gknk2wp"; })
-  (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.3.0-preview.1.32"; sha256 = "13ba96pn5d6ks0lymn8m0kz0dkbnxvnzv4ll4abym8lnfh8rw0px"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/6.3.0-preview.1.32/nuget.frameworks.6.3.0-preview.1.32.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.4.0-preview.1.53"; sha256 = "0sp7phay7764wfwz9p4yl17zcxi8h9xpzv5x5kpqq9dmv79mx7ld"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/6.4.0-preview.1.53/nuget.frameworks.6.4.0-preview.1.53.nupkg"; })
   (fetchNuGet { pname = "NuGet.LibraryModel"; version = "5.2.0"; sha256 = "0vxd0y7rzzxvmxji9bzp95p2rx48303r3nqrlhmhhfc4z5fxjlqk"; })
-  (fetchNuGet { pname = "NuGet.LibraryModel"; version = "6.3.0-preview.1.32"; sha256 = "10i35n5jx64qbl86gcizhk3pgxd9f15c7ilma7xdwjjkcg30nknd"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/6.3.0-preview.1.32/nuget.librarymodel.6.3.0-preview.1.32.nupkg"; })
+  (fetchNuGet { pname = "NuGet.LibraryModel"; version = "6.4.0-preview.1.53"; sha256 = "1syji2ml2mpsalyd4b7i3vni2d65mjmdy5csky7226m8nwxsaf9m"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/6.4.0-preview.1.53/nuget.librarymodel.6.4.0-preview.1.53.nupkg"; })
   (fetchNuGet { pname = "NuGet.Packaging"; version = "5.2.0"; sha256 = "14frrbdkka9jd6g52bv4lbqnpckw09yynr08f9kfgbc3j8pklqqb"; })
-  (fetchNuGet { pname = "NuGet.Packaging"; version = "6.3.0-preview.1.32"; sha256 = "0wv12r94ws977zkyqi4kb2vvi2micv5x8h2wafzjyiphcpc20pvl"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/6.3.0-preview.1.32/nuget.packaging.6.3.0-preview.1.32.nupkg"; })
-  (fetchNuGet { pname = "NuGet.Packaging.Core"; version = "6.3.0-preview.1.32"; sha256 = "0wcqmdia97zck6isckk5sv1nmw03148grhl37wwyckc3wvx4zdak"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging.core/6.3.0-preview.1.32/nuget.packaging.core.6.3.0-preview.1.32.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Packaging"; version = "6.4.0-preview.1.53"; sha256 = "1rxbjc2430ry7aqyb9k9bk8qg6l3max84rg81445y0s3f23cbmpp"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/6.4.0-preview.1.53/nuget.packaging.6.4.0-preview.1.53.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Packaging.Core"; version = "6.4.0-preview.1.53"; sha256 = "08fkl1kp4sizncd0mgsgyas0qzq2wdxby7m3r9q3c8isk7m44lw7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging.core/6.4.0-preview.1.53/nuget.packaging.core.6.4.0-preview.1.53.nupkg"; })
   (fetchNuGet { pname = "NuGet.ProjectModel"; version = "5.2.0"; sha256 = "1j23jk2zql52v2nqgi0k6d7z63pjjzrvw8y1s38zpf0sn7lzdr0h"; })
-  (fetchNuGet { pname = "NuGet.ProjectModel"; version = "6.3.0-preview.1.32"; sha256 = "1nji9s8j08zbx01ng7b3kc3hp41pgvs1if0rq7lxgfp7ajs2cxik"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.3.0-preview.1.32/nuget.projectmodel.6.3.0-preview.1.32.nupkg"; })
+  (fetchNuGet { pname = "NuGet.ProjectModel"; version = "6.4.0-preview.1.53"; sha256 = "08y3gwlw26jbx5chmmgrbvpad42zf5f668cd2vh1xj9i0li9df9g"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.4.0-preview.1.53/nuget.projectmodel.6.4.0-preview.1.53.nupkg"; })
   (fetchNuGet { pname = "NuGet.Protocol"; version = "5.2.0"; sha256 = "1vlrrlcy7p2sf23wqax8mfhplnzppd73xqlr2g83ya056w0yf2rd"; })
-  (fetchNuGet { pname = "NuGet.Protocol"; version = "6.3.0-preview.1.32"; sha256 = "1k1vjcgdjrpxw52qgmmcviiic72jsk9afblxcsr391rnz871jkbs"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.3.0-preview.1.32/nuget.protocol.6.3.0-preview.1.32.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Protocol"; version = "6.4.0-preview.1.53"; sha256 = "064l1cfx2483lvy9w5khigp07bp7y42rnrz8i85jalkrc4p3jvmr"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.4.0-preview.1.53/nuget.protocol.6.4.0-preview.1.53.nupkg"; })
   (fetchNuGet { pname = "NuGet.Versioning"; version = "5.2.0"; sha256 = "08ay8bhddj9yiq6h9lk814l65fpx5gh1iprkl7pcp78g57a6k45k"; })
-  (fetchNuGet { pname = "NuGet.Versioning"; version = "6.3.0-preview.1.32"; sha256 = "1aamlp2k26xdrgq5sjyhw5nfxzhbrv87q2a96hh37ipxya11smgv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.3.0-preview.1.32/nuget.versioning.6.3.0-preview.1.32.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Versioning"; version = "6.4.0-preview.1.53"; sha256 = "1mvc81qy3s5iwqikyw5hypfkrf9ji5br91dybavznhhls9j96999"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.4.0-preview.1.53/nuget.versioning.6.4.0-preview.1.53.nupkg"; })
   (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc"; version = "0.19.0"; sha256 = "0m9lw21iz90ayl35f24ir3vbiydf4sjqw590qqgwknykpzsi1ai2"; })
   (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc.Generators"; version = "0.19.0"; sha256 = "17akjdh9dnyxr01lnlsa41ca52psqnny8j3wxz904zs15pz932ln"; })
   (fetchNuGet { pname = "OmniSharp.Extensions.LanguageProtocol"; version = "0.19.0"; sha256 = "06d4wakdaj42c9qnlhdyqrjnm97azp4hrvfg70f96ldl765y9vrf"; })
@@ -175,7 +175,7 @@
   (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; })
   (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
-  (fetchNuGet { pname = "System.CodeDom"; version = "4.4.0"; sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; })
+  (fetchNuGet { pname = "System.CodeDom"; version = "6.0.0"; sha256 = "1i55cxp8ycc03dmxx4n22qi6jkwfl23cgffb95izq7bjar8avxxq"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
   (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
@@ -192,7 +192,7 @@
   (fetchNuGet { pname = "System.Composition.Runtime"; version = "6.0.0"; sha256 = "0vq5ik63yii1784gsa2f2kx9w6xllmm8b8rk0arid1jqdj1nyrlw"; })
   (fetchNuGet { pname = "System.Composition.TypedParts"; version = "6.0.0"; sha256 = "0y9pq3y60nyrpfy51f576a0qjjdh61mcv8vnik32pm4bz56h9q72"; })
   (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "4.5.0"; sha256 = "1frpy24mn6q7hgwayj98kkx89z861f5dmia4j6zc0a2ydgx8x02c"; })
-  (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "4.7.0"; sha256 = "0pav0n21ghf2ax6fiwjbng29f27wkb4a2ddma0cqx04s97yyk25d"; })
+  (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "6.0.0"; sha256 = "0sqapr697jbb4ljkq46msg0xx1qpmc31ivva6llyz2wzq3mpmxbw"; })
   (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
   (fetchNuGet { pname = "System.Data.DataSetExtensions"; version = "4.5.0"; sha256 = "0gk9diqx388qjmbhljsx64b5i0p9cwcaibd4h7f8x901pz84x6ma"; })
   (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
@@ -203,9 +203,10 @@
   (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
   (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
   (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
-  (fetchNuGet { pname = "System.Drawing.Common"; version = "4.7.0"; sha256 = "0yfw7cpl54mgfcylvlpvrl0c8r1b0zca6p7r3rcwkvqy23xqcyhg"; })
+  (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; })
   (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
   (fetchNuGet { pname = "System.Formats.Asn1"; version = "5.0.0"; sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn"; })
+  (fetchNuGet { pname = "System.Formats.Asn1"; version = "6.0.0"; sha256 = "1vvr7hs4qzjqb37r0w1mxq7xql2b17la63jwvmgv65s1hj00g8r9"; })
   (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
   (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
   (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
@@ -219,7 +220,7 @@
   (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
   (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
   (fetchNuGet { pname = "System.IO.Pipelines"; version = "4.7.3"; sha256 = "0djp59x56klidi04xx8p5jc1nchv5zvd1d59diphqxwvgny3aawy"; })
-  (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.1"; sha256 = "0b6zvhhfdxx0wx3bzyvxbq0mk8l5lbjak5124sn0gkif5jb388w4"; })
+  (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.3"; sha256 = "1jgdazpmwc21dd9naq3l9n5s8a1jnbwlvgkf1pnm0aji6jd4xqdz"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
@@ -227,8 +228,8 @@
   (fetchNuGet { pname = "System.Memory"; version = "4.5.0"; sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; })
   (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
   (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
   (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
-  (fetchNuGet { pname = "System.Net.Http"; version = "4.3.4"; sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; })
   (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
   (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
   (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
@@ -252,11 +253,13 @@
   (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
   (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
   (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "6.0.0"; sha256 = "1x0b289r9yjzdqypi2x3dc8sa66s3b6bpc7l2f8hxrzl6czdg4al"; })
+  (fetchNuGet { pname = "System.Reflection.MetadataLoadContext"; version = "6.0.0"; sha256 = "1ijfiqpi3flp5g9amridhjjmzz6md1c6pnxx5h7pdbiqqx9rwrpk"; })
   (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
   (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
   (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
   (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
-  (fetchNuGet { pname = "System.Resources.Extensions"; version = "4.6.0"; sha256 = "0inch9jgchgmsg3xjivbhh9mpin40mhdd8dgf4i1p3g42i0hzc0j"; })
+  (fetchNuGet { pname = "System.Resources.Extensions"; version = "6.0.0"; sha256 = "1h73gps9ffw77vys4zwgm78fgackqw6a7rjrg75mmx79vdw1shgw"; })
   (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
   (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
   (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
@@ -266,7 +269,6 @@
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
   (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
   (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
@@ -281,41 +283,38 @@
   (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
   (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; })
   (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.6.0"; sha256 = "1wl1dyghi0qhpap1vgfhg2ybdyyhy9vc2a7dpm1xb30vfgmlkjmf"; })
-  (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.7.0"; sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; })
   (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.1"; sha256 = "1m2wnzg3m3c0s11jg4lshcl2a47d78zri8khc21yrz34jjkbyls2"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.7.0"; sha256 = "00797sqbba8lys486ifxblz9j52m29kidclvmqpk531820k55x9j"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "5.0.0"; sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
   (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "4.7.0"; sha256 = "1mwvzl5ask8kk0vdgchhqr90nl61kagg47warb7dxrb03cxjd4wm"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "5.0.0"; sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.1"; sha256 = "0wswhbvm3gh06azg9k1zfvmhicpzlh7v71qzd4x5zwizq4khv7iq"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
   (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.3.0"; sha256 = "1kg264xmqabyz8gfg8ymp6qp6aw43vawfp0znf0909d7b5jd3dq9"; })
   (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; })
   (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.5.0"; sha256 = "11qlc8q6b7xlspayv07718ibzvlj6ddqqxkvcbxv5b24d5kzbrb7"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.7.0"; sha256 = "1s1sh8k10s0apa09c5m2lkavi3ys90y657whg2smb3y8mpkfr5vm"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; })
   (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "4.7.0"; sha256 = "08c82yb1nhfqr15rrypc36c7pysp7jymkwnra84w72nd53h3dfgb"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Xml"; version = "6.0.0"; sha256 = "0aybd4mp9f8d4kgdnrnad7bmdg872044p75nk37f8a4lvkh2sywd"; })
   (fetchNuGet { pname = "System.Security.Permissions"; version = "4.5.0"; sha256 = "192ww5rm3c9mirxgl1nzyrwd18am3izqls0hzm0fvcdjl5grvbhm"; })
-  (fetchNuGet { pname = "System.Security.Permissions"; version = "4.7.0"; sha256 = "13f366sj36jwbvld957gk2q64k2xbj48r8b0k9avrri2nlq1fs04"; })
+  (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; })
   (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.6.0"; sha256 = "1jmfzfz1n8hp63s5lja5xxpzkinbp6g59l3km9h8avjiisdrg5wm"; })
-  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
+  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
-  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.0.1"; sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3"; })
   (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
-  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "5.0.1"; sha256 = "00yg63qnp94q2qryxxggzigi276bibb8b3b96gcvsyrxy7b703n9"; })
   (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; })
-  (fetchNuGet { pname = "System.Text.Json"; version = "5.0.2"; sha256 = "0vd0wd29cdhgcjngl9sw391sn2s8xm974y15zvym0whsdgjwiqfx"; })
   (fetchNuGet { pname = "System.Text.Json"; version = "6.0.0"; sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; })
   (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
   (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
@@ -331,7 +330,7 @@
   (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
   (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
   (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; })
-  (fetchNuGet { pname = "System.Windows.Extensions"; version = "4.7.0"; sha256 = "11dmyx3j0jafjx5r9mkj1v4w2a4rzrdn8fgwm2d1g7fs1ayqcvy9"; })
+  (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; })
   (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
   (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
   (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
diff --git a/pkgs/development/tools/operator-sdk/default.nix b/pkgs/development/tools/operator-sdk/default.nix
index a869e44c955eb..26387f2affae3 100644
--- a/pkgs/development/tools/operator-sdk/default.nix
+++ b/pkgs/development/tools/operator-sdk/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "operator-sdk";
-  version = "1.25.1";
+  version = "1.25.2";
 
   src = fetchFromGitHub {
     owner = "operator-framework";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xIO8/o3XEaWQJM5YaPE3gmxm3CsGKV/OBPla6FqAN0Y=";
+    sha256 = "sha256-ZGcXb4RP+4ae0aAcLNL9JKLUqyoO5qCShDDbbxoge1w=";
   };
 
   vendorSha256 = "sha256-1Vz+SIrNULajDqzZt53+o9wv1zLPBvKrO28BTqS4VbM=";
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammar.nix b/pkgs/development/tools/parsing/tree-sitter/grammar.nix
index 0debac64393c1..e819a55eef377 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammar.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/grammar.nix
@@ -14,12 +14,12 @@
   # source for the language grammar
 , source
 , location ? null
-, generate ? false,
-}:
+, generate ? false
+, ...
+}@args:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation ({
   pname = "${language}-grammar";
-  inherit version;
 
   src = source;
 
@@ -59,4 +59,4 @@ stdenv.mkDerivation rec {
     fi
     runHook postInstall
   '';
-}
+} // removeAttrs args [ "language" "source" "location" "generate" ])
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 94d548e759198..2ffedc730ef17 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": "bedd19f3c3d745c3da8451a35c7bfc5f48d07ee6",
-  "date": "2022-11-05T17:27:50-05:00",
-  "path": "/nix/store/ldklarlvv3jlxsfi7gnqmim7csnxp2qf-tree-sitter-julia",
-  "sha256": "0cnp0rff6igjfz9i8ckffj9r1fr2nzdw82hag6dml331z7nbjjkf",
+  "rev": "628713553c42f30595a3b0085bb587e9359b986a",
+  "date": "2022-11-15T18:14:44-05:00",
+  "path": "/nix/store/4d712q8sjvbh845cd2b0xbvlng1iasaj-tree-sitter-julia",
+  "sha256": "12xlv4gbqdw0mr1zgnzs74pxpdkq4vfvs77gnr49zsrycjflf7xw",
   "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 468780ddc3473..957fcc66b9275 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": "0f4f66e5050037b759ea040dafd596bcdda1de94",
-  "date": "2022-10-12T16:08:16-07:00",
-  "path": "/nix/store/yffaihslg48mx67cy4gw8n8m3wrc9a7h-tree-sitter-r",
-  "sha256": "1qw2ngr9db3nv9bc74y2rlsvbk9np5djj1pxhb3ks5dkk7airf76",
+  "rev": "80efda55672d1293aa738f956c7ae384ecdc31b4",
+  "date": "2022-11-10T09:19:03-08:00",
+  "path": "/nix/store/x7rjhqp9qxh9xwq2l38jz5wbkbzz0vfl-tree-sitter-r",
+  "sha256": "1n7yxi2wf9xj8snw0b85a5w40vhf7x1pwirnwfk78ilr6hhz4ix9",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rego.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rego.json
index 3effe0bf62a5b..ad605c788b378 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rego.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rego.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/FallenAngel97/tree-sitter-rego",
-  "rev": "6d70da3a998fd0081efc5d1019c71e74cc1568e9",
-  "date": "2022-08-17T15:53:32+03:00",
-  "path": "/nix/store/r23jy7qfsl6snbp0z7p5lk9x0q9ssgzs-tree-sitter-rego",
-  "sha256": "1phjhrngv818mcwvbrfpi0hrzc05cjckds5ddmndc8h7wi0db9cb",
+  "rev": "b2667c975f07b33be3ceb83bea5cfbad88095866",
+  "date": "2022-11-18T14:07:12+02:00",
+  "path": "/nix/store/ky8xv5v5i273n0zqin0mnsx810382wfn-tree-sitter-rego",
+  "sha256": "18qw5ahx6qcfq9gs6gcakl178gnnryksv6gyamyd6vypz20kwz6b",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sql.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sql.json
index 5149a66fee351..395743a0b62bb 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sql.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sql.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/derekstride/tree-sitter-sql",
-  "rev": "70c50264ae022193adb364ffa7a767d765ed9857",
-  "date": "2022-11-02T09:36:19-04:00",
-  "path": "/nix/store/f1pg3pf4fyfmls30l1ma1nlwq61fxxqs-tree-sitter-sql",
-  "sha256": "16s58bvll2r80zga63fjzjbkfxm3zdr3vljjk69cvjwnpy668yfh",
+  "rev": "4f1b91246b43190e34957d9de9a0f3625879ba33",
+  "date": "2022-11-18T10:16:02-05:00",
+  "path": "/nix/store/l84kfw631akx7v4k6c0s4hdvaanjh8a1-tree-sitter-sql",
+  "sha256": "03wbxfkwk5i31knf1hgqkb56r66vk18k5n4919hhnhy9vvrm0mw3",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
index e2e674d967bd4..e5d5c946a4039 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
@@ -4816,9 +4816,6 @@
     "setuptools",
     "setuptools-scm"
   ],
-  "filemagic": [
-    "setuptools"
-  ],
   "filetype": [
     "setuptools"
   ],
diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix
index 49377c7cd598d..d60aa24f9c0a8 100644
--- a/pkgs/development/tools/pscale/default.nix
+++ b/pkgs/development/tools/pscale/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.122.0";
+  version = "0.124.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-gvz05VquRLKXMf45pxFAZCtyGWpn/DgOjRCHU6jTI/E=";
+    sha256 = "sha256-bNMUUohiMa/fSP1HjrB0UR3kWh+HNqqqpLcraw6UNjs=";
   };
 
-  vendorSha256 = "sha256-HPlzro95wIYLwG1Sq5cgVFmUpEfKlhfWLfQTDS5c3bg=";
+  vendorSha256 = "sha256-cd4oAS81zUMImCkFsTIcgYJDB2pvMWYRnTPFkznSr+I=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index d578399b66a31..5f0d48d420338 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.0.121";
+  version = "0.0.129";
 
   src = fetchFromGitHub {
     owner = "charliermarsh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vplpsobc3LFkgJsyXGT0jel8nT6begotEvYGQESiMFI=";
+    sha256 = "sha256-NjGNl92kQqEeKR1eR/ELwPVNdu/bxmEre80vINSsYTY=";
   };
 
-  cargoSha256 = "sha256-gtITHmB9Qd417yWqKcfidjUjAuVz1GNmbX0aL0Bl7jQ=";
+  cargoSha256 = "sha256-Bg8sazATWnZXeWAf3lrFtraWkuAgugaMkmdzA8cPkW8=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     CoreServices
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index a18fdc7d96d0b..945d89e096365 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.36.2";
+  version = "0.36.3";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-QhXBlGt8PFAsweYHxqk6y/BRsOURXUHU7QWQpNcFMyk=";
+    sha256 = "sha256-9P5LoS8wdzJA8vGj9dRxKJYBXaSSzxplpvRc2aqRWlY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
 
-  cargoSha256 = "sha256-JUdzgHSlCCelPFXdeUCrt8LntsnrgjuLah0+m5ll1oo=";
+  cargoSha256 = "sha256-NgjBGoJTJNF4HwhDtBDWxcLHfpM6Jk4D9cbKLvojnaI=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-public-api/default.nix b/pkgs/development/tools/rust/cargo-public-api/default.nix
index d248b091bba6b..64418df60c752 100644
--- a/pkgs/development/tools/rust/cargo-public-api/default.nix
+++ b/pkgs/development/tools/rust/cargo-public-api/default.nix
@@ -8,14 +8,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-public-api";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-OjKvp3LsNBIIkpq15BAi9LqxbLgormkiW/lMqdPefZM=";
+    sha256 = "sha256-yllfkhf0Xy8D6tL08QYPnz7Cj/JOvMG7E53elRx11EE=";
   };
 
-  cargoSha256 = "sha256-TUXyWO1rNngv1Tli0jeaOHwaBJnh7LnXe+lNSR+7rfI=";
+  cargoSha256 = "sha256-UwrhgMmZ9PnIsxsWxQskaMHl03g54VeoZRo9ZPkSM28=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-release/default.nix b/pkgs/development/tools/rust/cargo-release/default.nix
index 476635ad305d7..8182609f8bf3e 100644
--- a/pkgs/development/tools/rust/cargo-release/default.nix
+++ b/pkgs/development/tools/rust/cargo-release/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.23.0";
+  version = "0.23.1";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-11u6y4w7Ah4SNgfNeVpanIZ5bWz1K0TkMGCxDtomKMM=";
+    sha256 = "sha256-C5m1mRpkMCeR4TCbaFvH+5Jyko9RGP9OMi+HJx5AIZg=";
   };
 
-  cargoSha256 = "sha256-oXTuLWH8nSH1XZ+Zwu2jEi3yY+0SeR+N/b0s5gKVORQ=";
+  cargoSha256 = "sha256-Nuc/kJdAOX1SDynZQNTvq7QJq1kYD/6TuEYonUhPVuU=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix
index 19d854722235a..7fcb9fc6f2fe5 100644
--- a/pkgs/development/tools/sentry-cli/default.nix
+++ b/pkgs/development/tools/sentry-cli/default.nix
@@ -9,13 +9,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sentry-cli";
-  version = "2.8.1";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-cli";
     rev = version;
-    sha256 = "sha256-91nrxCqX4BJVP9gKcrWrEgjVkTnwkVKxFA8KjcFjaOs=";
+    sha256 = "sha256-PhcCYdc865682UZMSjwj0WWh+6pJeEaYyjX+v1XZqVk=";
   };
   doCheck = false;
 
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
   nativeBuildInputs = [ pkg-config ];
 
-  cargoSha256 = "sha256-nWhqYvji53KurLGECsgE13Bwxng8CZUfdkv3mhHSl7Y=";
+  cargoSha256 = "sha256-WQYiYxbSr4fOlaI5LaBllk21I7U9sL2Xq7hMBIGCL7M=";
 
   meta = with lib; {
     homepage = "https://docs.sentry.io/cli/";
diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix
index 28e9010c44587..73763ce654d44 100644
--- a/pkgs/development/tools/skaffold/default.nix
+++ b/pkgs/development/tools/skaffold/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "skaffold";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "sha256-6e5gfm6KhLvJTmD9+UESwkmM8o9FLL57krCnfvIFMH0=";
+    sha256 = "sha256-ldyGKey/s6FJLmxV25Q+blNjOOsASGqUsnqiXJme3+g=";
   };
 
-  vendorSha256 = "sha256-TbHqnj/H5WCBnsk5zbMXPMaWpm5eRmaWWoxJH8YqOts=";
+  vendorSha256 = "sha256-yy1BVorjLEcZR6PqupBiZx2plwPJ6xlxripbyB6RLek=";
 
   subPackages = ["cmd/skaffold"];
 
diff --git a/pkgs/development/tools/sumneko-lua-language-server/default.nix b/pkgs/development/tools/sumneko-lua-language-server/default.nix
index 132cd57e48087..d2baf6c0ba154 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.6.2";
+  version = "3.6.3";
 
   src = fetchFromGitHub {
     owner = "sumneko";
     repo = "lua-language-server";
     rev = version;
-    sha256 = "sha256-JmoZSrKISOYyj9mIiZ4MGFuSshPHnxgIZmbP/5SordU=";
+    sha256 = "sha256-E9Wpdf9V6MltdFncVuDhwxtsLS8mese35HLi7kV1eXI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix
index e25d27591eed8..0812e35a04e3b 100644
--- a/pkgs/development/tools/symfony-cli/default.nix
+++ b/pkgs/development/tools/symfony-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.4.18";
-  vendorSha256 = "sha256-hIi+WmLxCTFbu8E++CJkp4bOUrK81PkojRk60SljVik=";
+  version = "5.4.19";
+  vendorSha256 = "sha256-P5KEliTqj9kGYffhl014QK6qPY9gLG+bViOz4dtsQwA=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    sha256 = "sha256-hRG21rXubS8K273qSjrY+U6n5bpa2kzOCqIXmapTAzs=";
+    sha256 = "sha256-GAsyI8I+tHFMV/LqwPx2ph+w3zaqKSn9vieVQcuO+y0=";
   };
 
   postInstall = ''
diff --git a/pkgs/development/tools/tabnine/default.nix b/pkgs/development/tools/tabnine/default.nix
index 8e1a1aaea0107..9b2616e7ebd77 100644
--- a/pkgs/development/tools/tabnine/default.nix
+++ b/pkgs/development/tools/tabnine/default.nix
@@ -1,34 +1,18 @@
 { stdenv, lib, fetchurl, unzip }:
 let
-  # You can check the latest version with `curl -sS https://update.tabnine.com/bundles/version`
-  # There's a handy prefetch script in ./fetch-latest.sh
-  version = "4.4.139";
-  supportedPlatforms = {
-    "x86_64-linux" = {
-      name = "x86_64-unknown-linux-musl";
-      hash = "sha256-CXm9WR77SMvv+9w+8QUBNHKPhe4otquLyHAwzd+jbNk=";
-    };
-    "x86_64-darwin" = {
-      name = "x86_64-apple-darwin";
-      hash = "sha256-01lotn9DzgwIj1n9GCUuGmwgtS4DtK+XOl/wduI+QyI=";
-    };
-    "aarch64-darwin" = {
-      name = "aarch64-apple-darwin";
-      hash = "sha256-RQBBsp48Xhxi3WQKsYzSiiSEW8W7UikKAyFf4sJ2JqQ=";
-    };
-  };
+  sources = builtins.fromJSON (builtins.readFile ./sources.json);
   platform =
-    if (builtins.hasAttr stdenv.hostPlatform.system supportedPlatforms) then
-      builtins.getAttr (stdenv.hostPlatform.system) supportedPlatforms
+    if (builtins.hasAttr stdenv.hostPlatform.system sources.platforms) then
+      builtins.getAttr (stdenv.hostPlatform.system) sources.platforms
     else
       throw "Not supported on ${stdenv.hostPlatform.system}";
 in
 stdenv.mkDerivation {
   pname = "tabnine";
-  inherit version;
+  inherit (sources) version;
 
   src = fetchurl {
-    url = "https://update.tabnine.com/bundles/${version}/${platform.name}/TabNine.zip";
+    url = "https://update.tabnine.com/bundles/${sources.version}/${platform.name}/TabNine.zip";
     inherit (platform) hash;
   };
 
@@ -49,13 +33,16 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
-  passthru.platform = platform.name;
+  passthru = {
+    platform = platform.name;
+    updateScript = ./update.sh;
+  };
 
   meta = with lib; {
     homepage = "https://tabnine.com";
     description = "Smart Compose for code that uses deep learning to help you write code faster";
     license = licenses.unfree;
-    platforms = attrNames supportedPlatforms;
+    platforms = attrNames sources.platforms;
     maintainers = with maintainers; [ lovesegfault ];
   };
 }
diff --git a/pkgs/development/tools/tabnine/fetch-latest.sh b/pkgs/development/tools/tabnine/fetch-latest.sh
deleted file mode 100755
index 240a55976640b..0000000000000
--- a/pkgs/development/tools/tabnine/fetch-latest.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-function prefetch-sri() {
-    nix-prefetch-url "$1" 2>/dev/null | xargs nix hash to-sri --type sha256
-}
-
-declare -a PLATFORMS=(
-    x86_64-unknown-linux-musl
-    x86_64-apple-darwin
-    aarch64-apple-darwin
-)
-
-LATEST="$(curl -sS https://update.tabnine.com/bundles/version)"
-
-cat <<-EOF
-version = "${LATEST}";
-EOF
-
-for platform in "${PLATFORMS[@]}"; do
-    url="https://update.tabnine.com/bundles/${LATEST}/${platform}/TabNine.zip"
-    sha="$(prefetch-sri "$url")"
-    cat <<-EOF
-name = "${platform}";
-hash = "${sha}";
-
-EOF
-done
diff --git a/pkgs/development/tools/tabnine/sources.json b/pkgs/development/tools/tabnine/sources.json
new file mode 100644
index 0000000000000..e6587ea6bcb13
--- /dev/null
+++ b/pkgs/development/tools/tabnine/sources.json
@@ -0,0 +1,17 @@
+{
+  "version": "4.4.169",
+  "platforms": {
+    "x86_64-linux": {
+      "name": "x86_64-unknown-linux-musl",
+      "hash": "sha256-gLhFSsOcMElm6a4oHM0yLL6ZGtSk+YvAsUTU/UgGwWg="
+    },
+    "aarch64-darwin": {
+      "name": "aarch64-apple-darwin",
+      "hash": "sha256-nEUPSj1BFkZ1VyeA7X3Y0zt6eeD4AKAIcJ51QF24JVA="
+    },
+    "x86_64-darwin": {
+      "name": "x86_64-apple-darwin",
+      "hash": "sha256-GePhGKPvvhYmOSN5NEaqcsFvyuSJi8eTfYTOtufmDiI="
+    }
+  }
+}
diff --git a/pkgs/development/tools/tabnine/update.sh b/pkgs/development/tools/tabnine/update.sh
new file mode 100755
index 0000000000000..5269a027198b9
--- /dev/null
+++ b/pkgs/development/tools/tabnine/update.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq git
+#shellcheck shell=bash
+
+set -euo pipefail
+
+SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
+
+function prefetch-sri() {
+    nix-prefetch-url "$1" 2>/dev/null |
+        xargs nix --experimental-features nix-command hash to-sri --type sha256
+}
+
+declare -A platforms=(
+    [x86_64-unknown-linux-musl]="x86_64-linux"
+    [x86_64-apple-darwin]="x86_64-darwin"
+    [aarch64-apple-darwin]="aarch64-darwin"
+)
+
+old_version="$(jq -r '.version' "$SCRIPT_DIR/sources.json")"
+new_version="$(curl -sS https://update.tabnine.com/bundles/version)"
+
+echo "Updating $old_version -> $new_version"
+
+sources_tmp="$(mktemp)"
+trap 'rm -f "$sources_tmp"' EXIT
+
+cat <<EOF >"$sources_tmp"
+{
+  "version": "$new_version",
+  "platforms": {}
+}
+EOF
+
+for platform in "${!platforms[@]}"; do
+    url="https://update.tabnine.com/bundles/${new_version}/${platform}/TabNine.zip"
+    hash="$(prefetch-sri "$url")"
+    nix_platform="${platforms[$platform]}"
+    cat <<<"$(jq --arg nix_platform "$nix_platform" --arg platform "$platform" --arg hash "$hash" '.platforms += {($nix_platform): {name: $platform, hash: $hash}}' "$sources_tmp")" >"$sources_tmp"
+done
+
+cp "$sources_tmp" "$SCRIPT_DIR/sources.json"
+
+if [[ `git status --porcelain "$SCRIPT_DIR/sources.json"` ]]; then
+    git add "$SCRIPT_DIR/sources.json"
+    git commit -m "tabnine: $old_version -> $new_version"
+else
+    echo "No changes made to $SCRIPT_DIR/sources.json, skipping commit"
+fi
+
diff --git a/pkgs/development/tools/wabt/default.nix b/pkgs/development/tools/wabt/default.nix
index a5690c8468c8b..31fc7270c2315 100644
--- a/pkgs/development/tools/wabt/default.nix
+++ b/pkgs/development/tools/wabt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wabt";
-  version = "1.0.30";
+  version = "1.0.31";
 
   src = fetchFromGitHub {
     owner = "WebAssembly";
     repo = "wabt";
     rev = version;
-    sha256 = "sha256-C8S1+wcJhfv65HY8KCSnX+F6wP1E4Vkr0iwW83OwZxk=";
+    sha256 = "sha256-EChOQTWGt/LUfwCxmMmYC+zHjW9hVvghhOGr4DfpNtQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/worker-build/default.nix b/pkgs/development/tools/worker-build/default.nix
index dc6f2e9e9df59..b96a9fb605ec5 100644
--- a/pkgs/development/tools/worker-build/default.nix
+++ b/pkgs/development/tools/worker-build/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "worker-build";
-  version = "0.0.11";
+  version = "0.0.12";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "workers-rs";
     rev = "v${version}";
-    sha256 = "sha256-oqnYWrytQ3hCf4T/PNIXTs3tW+W8HvuvIulRhdhzsDU=";
+    sha256 = "sha256-s5fcs1A31ePr2EvFdNvX55jMRkHZkR+LRkcy59brwXg=";
   };
 
-  cargoSha256 = "sha256-t35LMyiQl2bsGjNIKqb8sKbrmCLZ0pmoo0qX0buGA+o=";
+  cargoSha256 = "sha256-2jLv3/mLLnSsSKEGaAd4jaM5FOdTvdJg2W1Nc4mVkqs=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
index 309be805cf819..76d1df8be645f 100644
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
@@ -58,7 +58,6 @@ in rec {
     "--offline"
     "--frozen-lockfile"
     "--ignore-engines"
-    "--ignore-scripts"
   ];
 
   mkYarnModules = {
@@ -70,6 +69,7 @@ in rec {
     yarnNix ? mkYarnNix { inherit yarnLock; },
     offlineCache ? importOfflineCache yarnNix,
     yarnFlags ? [ ],
+    ignoreScripts ? true,
     pkgConfig ? {},
     preBuild ? "",
     postBuild ? "",
@@ -141,7 +141,7 @@ in rec {
 
         ${workspaceDependencyLinks}
 
-        yarn install ${lib.escapeShellArgs (defaultYarnFlags ++ yarnFlags)}
+        yarn install ${lib.escapeShellArgs (defaultYarnFlags ++ lib.optional ignoreScripts "--ignore-scripts" ++ yarnFlags)}
 
         ${lib.concatStringsSep "\n" postInstall}
 
@@ -413,7 +413,7 @@ in rec {
     # we import package.json from the unfiltered source
     packageJSON = ./package.json;
 
-    yarnFlags = defaultYarnFlags ++ ["--production=true"];
+    yarnFlags = defaultYarnFlags ++ [ "--ignore-scripts" "--production=true" ];
 
     nativeBuildInputs = [ pkgs.makeWrapper ];
 
diff --git a/pkgs/development/tools/ytt/default.nix b/pkgs/development/tools/ytt/default.nix
index 165f438edf910..a26e71522e5f1 100644
--- a/pkgs/development/tools/ytt/default.nix
+++ b/pkgs/development/tools/ytt/default.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "ytt";
-  version = "0.43.0";
+  version = "0.44.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-ytt";
     rev = "v${version}";
-    sha256 = "sha256-oxN4IfJ6ATw92Yri2l1R0EF1CKsGrXikaaEPpnU9qqc=";
+    sha256 = "sha256-mhfRrmZkeQWbYlgDEsjiUSOALXc6tI8eK81rjLYSXwk=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index c29b39e78037a..9f81fe32fc559 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -17,15 +17,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.28.0";
+  version = "1.28.1";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-u5qlHIzPaAKLOoNSmfcPr+iNug3ZPyAm5kkfI7IO45U=";
+    sha256 = "sha256-pphXLH81xous4C/mTkay9mfk3PgIT7HcY+br9uckJlQ=";
   };
-  cargoSha256 = "sha256-+jc/k7YDk/MySJhuOWlas9KQSeqkwFrvRGGd9tDFEkc=";
+  cargoSha256 = "sha256-DEWLIGskfvuEZhLvtdPprlmncZRcJBBBjYRuk4oFVkk=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index fc469acb27c5e..c14ef92cf6aec 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.431";
+  version = "0.0.432";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-X3zKD5AyLYNhVtNpvGShbXjX+bNN7xYjVSfs1TqhgeQ=";
+    sha256 = "sha256-nBBvhl5Ls/zKSLFzatCl61Wa1eXDHLwED+Q6o4xMJ5c=";
   };
 
-  vendorSha256 = "sha256-pc9+m6oZGYBqDwE642HB4Ku549L3bMA52jWSmzV3tHc=";
+  vendorSha256 = "sha256-8Vf9JRahGkp8/5D5oDt0fnbeeLAD0q656XWdUDtceq8=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/web/nodejs/v19.nix b/pkgs/development/web/nodejs/v19.nix
index b9aed788bcd34..0e30ec899bd03 100644
--- a/pkgs/development/web/nodejs/v19.nix
+++ b/pkgs/development/web/nodejs/v19.nix
@@ -8,8 +8,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "19.0.1";
-  sha256 = "sha256-7OXCjOtHY/Xn8nb4ySUbNiHh+m5FyULnV8TRUfi/AW0=";
+  version = "19.1.0";
+  sha256 = "sha256-Tqm6H5koFfuCOwIqYrYfU2Eh+XD+iMY5XH469OnPRqA=";
   patches = [
     (fetchpatch {
       # Fixes cross compilation to aarch64-linux by reverting https://github.com/nodejs/node/pull/43200
diff --git a/pkgs/games/ckan/default.nix b/pkgs/games/ckan/default.nix
index 88d13b9b6f8de..70025d68b2169 100644
--- a/pkgs/games/ckan/default.nix
+++ b/pkgs/games/ckan/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ckan";
-  version = "1.31.0";
+  version = "1.31.2";
 
   src = fetchurl {
     url = "https://github.com/KSP-CKAN/CKAN/releases/download/v${version}/ckan.exe";
-    sha256 = "sha256-+Tm1aQUibRNn1jfewowOTBHt1OngJKD+Jeh9meg0YxA=";
+    sha256 = "sha256-xbVcGbznUOowIQHsP1pUtpwHeU8vzICwYkRofVRIDPQ=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
index ec765e71158e3..42dd74a766b2f 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     description = "Tool to manage dwarves in a running game of Dwarf Fortress";
     maintainers = with maintainers; [ abbradar bendlas numinit jonringer ];
     license = licenses.mit;
-    platforms = platforms.unix;
+    platforms = platforms.x86;
     homepage = "https://github.com/Dwarf-Therapist/Dwarf-Therapist";
   };
 }
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
index 316d1308eb794..dad59953533bc 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
@@ -10,7 +10,7 @@ in
 
 stdenv.mkDerivation {
   pname = "dwarf-therapist";
-  version = dwarf-therapist.version;
+  inherit (dwarf-therapist) version meta;
 
   wrapper = substituteAll {
     src = ./dwarf-therapist.in;
diff --git a/pkgs/games/ferium/default.nix b/pkgs/games/ferium/default.nix
index 60cf85ddfb570..096374749a945 100644
--- a/pkgs/games/ferium/default.nix
+++ b/pkgs/games/ferium/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ferium";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchFromGitHub {
     owner = "gorilla-devs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tRJwx+yOzgy5SkVPtE2w4bhFSIaZUxXO4FBrZdhyz7g=";
+    sha256 = "sha256-CtqnPHTFkfHE8IolqSlGt8n1fsLXCKMiBt8fQzLBPYk=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "sha256-zfA+kCqfyI+zNleOHWAYGLePy5FHSw05xIcWRT8BHbY=";
+  cargoSha256 = "sha256-EYfqdGpaAWDmvqov/k81kE9frHYNKOTHakCrHN7zpU4=";
 
   # Disable the GUI file picker so that GTK/XDG dependencies aren't used
   buildNoDefaultFeatures = true;
diff --git a/pkgs/games/keeperrl/default.nix b/pkgs/games/keeperrl/default.nix
index f1c0f1712629d..94eeb46376a65 100644
--- a/pkgs/games/keeperrl/default.nix
+++ b/pkgs/games/keeperrl/default.nix
@@ -1,17 +1,27 @@
-{ lib, stdenv, fetchFromGitHub, requireFile
-, openal, curl, libogg, libvorbis
-, SDL2, SDL2_image, zlib
+{ lib
+, stdenv
+, fetchFromGitHub
+, requireFile
+, openal
+, curl
+, libogg
+, libvorbis
+, SDL2
+, SDL2_image
+, zlib
+, clang
+, libtheora
 , unfree_assets ? false }:
 
 stdenv.mkDerivation rec {
   pname = "keeperrl";
-  version = "alpha28";
+  version = "alpha34";
 
   free-src = fetchFromGitHub {
     owner = "miki151";
     repo = "keeperrl";
     rev = version;
-    sha256 = "0isj8ijn5a89m2r5cxk4lcsq0cydx7c0h87vgr8v5cndm3rd27cy";
+    sha256 = "sha256-0sww+ppctXvxMouclG3OdXpcNgrrOZJw9z8s2GhJ+IE=";
   };
 
   assets = if unfree_assets then requireFile rec {
@@ -28,7 +38,7 @@ stdenv.mkDerivation rec {
 
       "nix-prefetch-url file://\$PWD/${name}".
     '';
-    sha256 = "0115pxdzdyma2vicxgr0j21pp82gxdyrlj090s8ihp0b50f0nk53";
+    sha256 = "0115pxdzdyma2vicxgr0j21pp82gxdyrlj090s8ihp0b50f0nlll";
   } else null;
 
   sourceRoot = "source";
@@ -40,7 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    openal curl libogg libvorbis SDL2 SDL2_image zlib
+    openal curl libogg libvorbis libtheora SDL2 SDL2_image zlib clang
   ];
 
   NIX_CFLAGS_COMPILE = [
@@ -49,11 +59,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  makeFlags = [ "OPT=true"
-                "RELEASE=true"
-                "DATA_DIR=$(out)/share"
-                "ENABLE_LOCAL_USER_DIR=true"
-              ];
+  makeFlags = [
+    "OPT=true"
+    "RELEASE=true"
+    "DATA_DIR=$(out)/share"
+    "ENABLE_LOCAL_USER_DIR=true"
+    "NO_STEAMWORKS=true"
+  ];
 
   installPhase = ''
     install -Dm755 keeper $out/bin/keeper
@@ -68,7 +80,7 @@ stdenv.mkDerivation rec {
     description = "A dungeon management rogue-like";
     homepage = "https://keeperrl.com/";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ onny ];
     # TODO: Add OS X
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
diff --git a/pkgs/games/mindustry/0001-fix-include-path-for-SDL2-on-linux.patch b/pkgs/games/mindustry/0001-fix-include-path-for-SDL2-on-linux.patch
index d4fe7be191833..3df759d63e21c 100644
--- a/pkgs/games/mindustry/0001-fix-include-path-for-SDL2-on-linux.patch
+++ b/pkgs/games/mindustry/0001-fix-include-path-for-SDL2-on-linux.patch
@@ -4,13 +4,13 @@ Date: Fri, 8 Jan 2021 04:49:14 +0100
 Subject: [PATCH] fix include path for SDL2 on linux
 
 ---
- .../src/main/java/arc/backend/sdl/jni/SDL.java            | 8 --------
+ .../src/arc/backend/sdl/jni/SDL.java            | 8 --------
  1 file changed, 8 deletions(-)
 
-diff --git a/backends/backend-sdl/src/main/java/arc/backend/sdl/jni/SDL.java b/backends/backend-sdl/src/main/java/arc/backend/sdl/jni/SDL.java
+diff --git a/backends/backend-sdl/src/arc/backend/sdl/jni/SDL.java b/backends/backend-sdl/src/arc/backend/sdl/jni/SDL.java
 index 62d9286a..2853119d 100644
---- a/Arc/backends/backend-sdl/src/main/java/arc/backend/sdl/jni/SDL.java
-+++ b/Arc/backends/backend-sdl/src/main/java/arc/backend/sdl/jni/SDL.java
+--- a/Arc/backends/backend-sdl/src/arc/backend/sdl/jni/SDL.java
++++ b/Arc/backends/backend-sdl/src/arc/backend/sdl/jni/SDL.java
 @@ -8,16 +8,8 @@ import java.nio.*;
  public class SDL{
      /*JNI
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index 680d341d335ba..2a3177fdb9db8 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv
+{ lib, stdenv, fetchurl
 , makeWrapper
 , makeDesktopItem
 , copyDesktopItems
 , fetchFromGitHub
-, gradle_6
+, gradle
 , jdk
 , perl
 
@@ -16,6 +16,11 @@
 , alsa-plugins
 , glew
 
+# for soloud
+, libpulseaudio ? null
+, libjack2 ? null
+
+
 # Make the build version easily overridable.
 # Server and client build versions must match, and an empty build version means
 # any build is allowed, so this parameter acts as a simple whitelist.
@@ -27,30 +32,42 @@
 
 let
   pname = "mindustry";
-  # Note: when raising the version, ensure that all SNAPSHOT versions in
-  # build.gradle are replaced by a fixed version
-  # (the current one at the time of release) (see postPatch).
-  version = "126.2";
+  version = "140.4";
   buildVersion = makeBuildVersion version;
 
   Mindustry = fetchFromGitHub {
     owner = "Anuken";
     repo = "Mindustry";
     rev = "v${version}";
-    sha256 = "URmjmfzQAVVl6erbh3+FVFdN7vGTNwYKPtcrwtt9vkg=";
+    sha256 = "0lfDISvC5dOd76BuPPniPf+8hXWQ/wtreNHN75k2jVA=";
   };
   Arc = fetchFromGitHub {
     owner = "Anuken";
     repo = "Arc";
     rev = "v${version}";
-    sha256 = "pUUak5P9t4RmSdT+/oH/8oo6l7rjIN08XDJ06TcUn8I=";
+    sha256 = "lZ3ACijauUC9jVRq9I/QwX9ozFF/dw+ArEMND+RMItM=";
   };
   soloud = fetchFromGitHub {
     owner = "Anuken";
     repo = "soloud";
-    # this is never pinned in upstream, see https://github.com/Anuken/Arc/issues/39
-    rev = "b33dfc5178fcb2613ee68136f4a4869cadc0b06a";
-    sha256 = "1vf68i3pnsixch37285ib7afkwmlrc05v783395jsdjzj9i67lj3";
+    # This is pinned in Arc's arc-core/build.gradle
+    rev = "v0.9";
+    sha256 = "6KlqOtA19MxeqZttNyNrMU7pKqzlNiA4rBZKp9ekanc=";
+  };
+  freetypeSource = fetchurl {
+    # This is pinned in Arc's extensions/freetype/build.gradle
+    url = "https://download.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.gz";
+    sha256 = "1b4dcngjcly9n80hnyr4d5s6qp8bspabfs7v3h07gb13pdg7kasy";
+  };
+  glewSource = fetchurl {
+    # This is pinned in Arc's backends/backend-sdl/build.gradle
+    url = "https://github.com/nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0.zip";
+    sha256 = "1m702jzfjhdr76cb71qplv6amhw15nnb1h6wbq4mlfbl6y8nl159";
+  };
+  SDLmingwSource = fetchurl {
+    # This is pinned in Arc's backends/backend-sdl/build.gradle
+    url = "https://www.libsdl.org/release/SDL2-devel-2.0.20-mingw.tar.gz";
+    sha256 = "1lbbjxl3a8vdillvv7654m6mp34lfkncvig5a8iwdmjpm214s29q";
   };
 
   patches = [
@@ -74,21 +91,16 @@ let
   };
 
   cleanupMindustrySrc = ''
-    pushd Mindustry
+    # Ensure the prebuilt shared objects don't accidentally get shipped
+    rm -r Arc/natives/natives-*/libs/*
+    rm -r Arc/backends/backend-*/libs/*
 
     # Remove unbuildable iOS stuff
-    sed -i '/^project(":ios"){/,/^}/d' build.gradle
-    sed -i '/robo(vm|VM)/d' build.gradle
-    rm ios/build.gradle
-
-    # Pin 'SNAPSHOT' versions
-    sed -i 's/com.github.anuken:packr:-SNAPSHOT/com.github.anuken:packr:034efe51781d2d8faa90370492133241bfb0283c/' build.gradle
-
-    popd
+    sed -i '/^project(":ios"){/,/^}/d' Mindustry/build.gradle
+    sed -i '/robo(vm|VM)/d' Mindustry/build.gradle
+    rm Mindustry/ios/build.gradle
   '';
 
-  gradle = (gradle_6.override (old: { java = jdk; }));
-
   # fake build to pre-download deps into fixed-output derivation
   deps = stdenv.mkDerivation {
     pname = "${pname}-deps";
@@ -113,7 +125,7 @@ let
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "+7vSwQT6LwHgKE9DubISznq4G4DgvlnD7WaF1KywBzU=";
+    outputHash = "FbLd3kk/awFz91o8pZcwJTFozwJ7R+RlDOsMRaala5Q=";
   };
 
 in
@@ -122,11 +134,7 @@ assert lib.assertMsg (enableClient || enableServer)
 stdenv.mkDerivation rec {
   inherit pname version unpackPhase patches;
 
-  postPatch = ''
-    # ensure the prebuilt shared objects don't accidentally get shipped
-    rm Arc/natives/natives-desktop/libs/libarc*.so
-    rm Arc/backends/backend-sdl/libs/linux64/libsdl-arc*.so
-  '' + cleanupMindustrySrc;
+  postPatch = cleanupMindustrySrc;
 
   buildInputs = lib.optionals enableClient [
     SDL2
@@ -149,18 +157,29 @@ stdenv.mkDerivation rec {
     export GRADLE_USER_HOME=$(mktemp -d)
 
     # point to offline repo
+    sed -ie "1ipluginManagement { repositories { maven { url '${deps}' } } }; " Mindustry/settings.gradle
     sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" Mindustry/build.gradle
     sed -ie "s#mavenCentral()#mavenCentral(); maven { url '${deps}' }#g" Arc/build.gradle
+    sed -ie "s#wget.*freetype.* -O #cp ${freetypeSource} #" Arc/extensions/freetype/build.gradle
+    sed -ie "/curl.*glew/{;s#curl -o #cp ${glewSource} #;s# -L http.*\.zip##;}" Arc/backends/backend-sdl/build.gradle
+    sed -ie "/curl.*sdlmingw/{;s#curl -o #cp ${SDLmingwSource} #;s# -L http.*\.tar.gz##;}" Arc/backends/backend-sdl/build.gradle
 
     pushd Mindustry
   '' + optionalString enableClient ''
+
+    pushd ../Arc
     gradle --offline --no-daemon jnigenBuild -Pbuildversion=${buildVersion}
-    gradle --offline --no-daemon sdlnatives -Pdynamic -Pbuildversion=${buildVersion}
+    gradle --offline --no-daemon jnigenJarNativesDesktop -Pbuildversion=${buildVersion}
     glewlib=${lib.getLib glew}/lib/libGLEW.so
     sdllib=${lib.getLib SDL2}/lib/libSDL2.so
-    patchelf ../Arc/backends/backend-sdl/libs/linux64/libsdl-arc*.so \
+    patchelf backends/backend-sdl/libs/linux64/libsdl-arc*.so \
       --add-needed $glewlib \
       --add-needed $sdllib
+    # Put the freshly-built libraries where the pre-built libraries used to be:
+    cp arc-core/libs/*/* natives/natives-desktop/libs/
+    cp extensions/freetype/libs/*/* natives/natives-freetype-desktop/libs/
+    popd
+
     gradle --offline --no-daemon desktop:dist -Pbuildversion=${buildVersion}
   '' + optionalString enableServer ''
     gradle --offline --no-daemon server:dist -Pbuildversion=${buildVersion}
@@ -173,6 +192,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     makeWrapper ${jdk}/bin/java $out/bin/mindustry \
       --add-flags "-jar $out/share/mindustry.jar" \
+      --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [libpulseaudio alsa-lib libjack2]} \
       --set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/
 
     # Retain runtime depends to prevent them from being cleaned up.
@@ -204,7 +224,7 @@ stdenv.mkDerivation rec {
       binaryBytecode  # deps
     ];
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ fgaz ];
+    maintainers = with maintainers; [ chkno fgaz ];
     platforms = platforms.x86_64;
     # Hash mismatch on darwin:
     # https://github.com/NixOS/nixpkgs/pull/105590#issuecomment-737120293
diff --git a/pkgs/games/prismlauncher/default.nix b/pkgs/games/prismlauncher/default.nix
index 83b31cc9b7ffb..71b82d47964a6 100644
--- a/pkgs/games/prismlauncher/default.nix
+++ b/pkgs/games/prismlauncher/default.nix
@@ -32,13 +32,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "prismlauncher";
-  version = "5.1";
+  version = "5.2";
 
   src = fetchFromGitHub {
     owner = "PrismLauncher";
     repo = "PrismLauncher";
     rev = version;
-    sha256 = "sha256-CZH2vINHoQy1hVfKloRrcoCDdXPQRnIylpClQJdOUrk=";
+    sha256 = "sha256-sKAhcbDoRbWf/DuwcBmDjb+VSMM0K2C33gu1K9AlPoQ=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ghc_filesystem cmake file jdk wrapQtAppsHook ];
diff --git a/pkgs/games/starsector/default.nix b/pkgs/games/starsector/default.nix
index e929ef98fbf6b..bbc781d6ab27d 100644
--- a/pkgs/games/starsector/default.nix
+++ b/pkgs/games/starsector/default.nix
@@ -1,32 +1,27 @@
 { lib
-, alsa-lib
 , fetchzip
 , libXxf86vm
 , makeWrapper
+, openal
 , openjdk
 , stdenv
 , xorg
 , copyDesktopItems
 , makeDesktopItem
+, writeScript
 }:
 
 stdenv.mkDerivation rec {
   pname = "starsector";
-  version = "0.95.1a-RC5";
+  version = "0.95.1a-RC6";
 
   src = fetchzip {
     url = "https://s3.amazonaws.com/fractalsoftworks/starsector/starsector_linux-${version}.zip";
-    sha256 = "sha256-V8/WQPvPIrF3Tg7JVO+GfeYqWhkWWrnHSVcFXGQqDAA=";
+    sha256 = "sha256-+0zGJHM+SMonx3sytCQNQA/QBgzdPMEfQvOjrCDSOs8=";
   };
 
-  nativeBuildInputs = [
-    copyDesktopItems
-    makeWrapper
-  ];
-  buildInputs = with xorg; [
-    alsa-lib
-    libXxf86vm
-  ];
+  nativeBuildInputs = [ copyDesktopItems makeWrapper ];
+  buildInputs = [ xorg.libXxf86vm openal ];
 
   dontBuild = true;
 
@@ -47,7 +42,7 @@ stdenv.mkDerivation rec {
     runHook preInstall
 
     mkdir -p $out/bin
-    rm -r jre_linux # remove jre7
+    rm -r jre_linux # remove bundled jre7
     rm starfarer.api.zip
     cp -r ./* $out
 
@@ -66,10 +61,13 @@ stdenv.mkDerivation rec {
 
   # it tries to run everything with relative paths, which makes it CWD dependent
   # also point mod, screenshot, and save directory to $XDG_DATA_HOME
+  # additionally, add some GC options to improve performance of the game
   postPatch = ''
     substituteInPlace starsector.sh \
       --replace "./jre_linux/bin/java" "${openjdk}/bin/java" \
-      --replace "./native/linux" "$out/native/linux"
+      --replace "./native/linux" "$out/native/linux" \
+      --replace "=." "=\''${XDG_DATA_HOME:-\$HOME/.local/share}/starsector" \
+      --replace "-XX:+CompilerThreadHintNoPreempt" "-XX:+UnlockDiagnosticVMOptions -XX:-BytecodeVerificationRemote -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSConcurrentMTEnabled -XX:+DisableExplicitGC"
   '';
 
   meta = with lib; {
@@ -79,4 +77,12 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     maintainers = with maintainers; [ bbigras ];
   };
+
+  passthru.updateScript = writeScript "starsector-update-script" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl gnugrep common-updater-scripts
+    set -eou pipefail;
+    version=$(curl -s https://fractalsoftworks.com/preorder/ | grep -oP "https://s3.amazonaws.com/fractalsoftworks/starsector/starsector_linux-\K.*?(?=\.zip)" | head -1)
+    update-source-version ${pname} "$version" --file=./pkgs/games/starsector/default.nix
+  '';
 }
diff --git a/pkgs/games/terraria-server/default.nix b/pkgs/games/terraria-server/default.nix
index 9a216cefdbce2..2b63fcca45fc1 100644
--- a/pkgs/games/terraria-server/default.nix
+++ b/pkgs/games/terraria-server/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "terraria-server";
-  version = "1.4.4.8.1";
+  version = "1.4.4.9";
   urlVersion = lib.replaceChars [ "." ] [ "" ] version;
 
   src = fetchurl {
     url = "https://terraria.org/api/download/pc-dedicated-server/terraria-server-${urlVersion}.zip";
-    sha256 = "sha256-4mM9+iE2HJnzoW4mvet3sy0mngQ62dxhxa1eDJxBGBo=";
+    sha256 = "sha256-Mk+5s9OlkyTLXZYVT0+8Qcjy2Sb5uy2hcC8CML0biNY=";
   };
 
   buildInputs = [ file ];
diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix
index f25f11461f436..37b6cd151de55 100644
--- a/pkgs/games/unciv/default.nix
+++ b/pkgs/games/unciv/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "unciv";
-  version = "4.2.16";
+  version = "4.2.20";
 
   src = fetchurl {
     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
-    sha256 = "sha256-AViMFK3MwDbd+N1ycqcMAzzCVudnU/kZWcsqr5Wx31k=";
+    sha256 = "sha256-SsEOewFbJqad8OCRiE1VHOx7kVFtF4DEInE3ETCGxDM=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/misc/cups/drivers/kyocera/default.nix b/pkgs/misc/cups/drivers/kyocera/default.nix
index 0a560e3188f63..cd435bc496622 100644
--- a/pkgs/misc/cups/drivers/kyocera/default.nix
+++ b/pkgs/misc/cups/drivers/kyocera/default.nix
@@ -22,9 +22,7 @@ stdenv.mkDerivation {
   dontStrip = true;
 
   src = fetchzip {
-    # this site does not like curl -> override useragent
-    curlOpts = "-A ''";
-    url = "https://cdn.kyostatics.net/dlc/ru/driver/all/linuxdrv_1_1203_fs-1x2xmfp.-downloadcenteritem-Single-File.downloadcenteritem.tmp/LinuxDrv_1.1203_FS-1x2xMFP.zip";
+    url = "https://web.archive.org/web/20220709011705/https://cdn.kyostatics.net/dlc/ru/driver/all/linuxdrv_1_1203_fs-1x2xmfp.-downloadcenteritem-Single-File.downloadcenteritem.tmp/LinuxDrv_1.1203_FS-1x2xMFP.zip";
     sha256 = "0z1pbgidkibv4j21z0ys8cq1lafc6687syqa07qij2qd8zp15wiz";
   };
 
diff --git a/pkgs/misc/screensavers/slock/default.nix b/pkgs/misc/screensavers/slock/default.nix
index c23b5fdc249b8..09fccd11d9e9a 100644
--- a/pkgs/misc/screensavers/slock/default.nix
+++ b/pkgs/misc/screensavers/slock/default.nix
@@ -4,14 +4,13 @@
 # https://git.suckless.org/slock/tree/config.def.h
 , conf ? null }:
 
-with lib;
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "slock";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchurl {
-    url = "https://dl.suckless.org/tools/slock-${version}.tar.gz";
-    sha256 = "0sif752303dg33f14k6pgwq2jp1hjyhqv6x4sy3sj281qvdljf5m";
+    url = "https://dl.suckless.org/tools/slock-${finalAttrs.version}.tar.gz";
+    hash = "sha256-ruHj+/aid/tiWjg4BzuXm2SD57rKTOgvVt4f8ZLbDk0=";
   };
 
   buildInputs = [ xorgproto libX11 libXext libXrandr libxcrypt ];
@@ -20,13 +19,13 @@ stdenv.mkDerivation rec {
 
   postPatch = "sed -i '/chmod u+s/d' Makefile";
 
-  preBuild = optionalString (conf != null) ''
+  preBuild = lib.optionalString (conf != null) ''
     cp ${writeText "config.def.h" conf} config.def.h
   '';
 
   makeFlags = [ "CC:=$(CC)" ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://tools.suckless.org/slock";
     description = "Simple X display locker";
     longDescription = ''
@@ -36,4 +35,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ astsmtl ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/misc/wiki-tui/default.nix b/pkgs/misc/wiki-tui/default.nix
index e5601095ebbc3..ae249eb9292eb 100644
--- a/pkgs/misc/wiki-tui/default.nix
+++ b/pkgs/misc/wiki-tui/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wiki-tui";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "Builditluc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kcVfqj5vRfPcF6lO1Ley3ctZajNA02jUqQRlpi3MkXc=";
+    sha256 = "sha256-sqkVi8w4QoktC1ZLUPHzfMUxIzCadcIj3dEYigz854U=";
   };
 
   buildInputs = [ ncurses openssl ] ++ lib.optional stdenv.isDarwin Security;
 
   nativeBuildInputs = [ pkg-config ];
 
-  cargoSha256 = "sha256-OW2kutjvQC9neiguixTdJx2hUFsnmQhR9DbniBr6V8w=";
+  cargoSha256 = "sha256-xRj0bF5VymvFVB0tSBndWA+OHBIEY2/ovRIBdDoOHA4=";
 
   # Tests fail with this error: `found argument --test-threads which was not expected`
   doCheck = false;
diff --git a/pkgs/os-specific/linux/batman-adv/version.nix b/pkgs/os-specific/linux/batman-adv/version.nix
index dd2227874501e..06060f22eab7a 100644
--- a/pkgs/os-specific/linux/batman-adv/version.nix
+++ b/pkgs/os-specific/linux/batman-adv/version.nix
@@ -1,9 +1,9 @@
 {
-  version = "2022.1";
+  version = "2022.3";
 
   sha256 = {
-    batman-adv = "sha256-bQQdNTCr1LJJq/Wpb8Ki4kFDG/lEO1R/2yWi2P0ymkA=";
-    alfred = "sha256-OgrCuybgyz8nMtSHNmmgoi6YJej5qOerrJhjY/J1CX8=";
-    batctl = "sha256-h+iak4lxuGJCJoG7NBBOmytLZRLR0WXelTYw3zjWGmg=";
+    batman-adv = "sha256-IY/7U0/q0cm1sNkOwbL7poggnN8A6GG+zhy/Rp/mmVM=";
+    alfred = "sha256-wD8XY7hV4yzCOE7KlWDpYJyW2bAe9TdfKHZc7hgAURI=";
+    batctl = "sha256-xYs3F3HXy5qHhtc5SDTx/41F1BVjemTpB26qCVOx8tc=";
   };
 }
diff --git a/pkgs/os-specific/linux/firmware/firmware-updater/default.nix b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix
index cc906b763e8ec..04fb8b0fe3794 100644
--- a/pkgs/os-specific/linux/firmware/firmware-updater/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix
@@ -1,13 +1,17 @@
 { lib
 , flutter2
 , fetchFromGitHub
+, stdenv
 }:
 
 flutter2.mkFlutterApp {
   pname = "firmware-updater";
   version = "unstable";
 
-  vendorHash = "sha256-7uOiebGBcX61oUyNCi1h9KldTRTrCfYaHUQSH4J5OoQ=";
+  vendorHash =
+    if stdenv.system == "aarch64-linux"
+    then "sha256-+ACmcIKXtGtaYBuwc7jY9hEdIS9qxQCbuxRKJQohX5A="
+    else "sha256-nPblucEpNCBJYpIqx1My6SWq8CjXYuHDG/uphdcrWjQ=";
 
   src = fetchFromGitHub {
     owner = "canonical";
diff --git a/pkgs/os-specific/linux/firmware/sof-firmware/default.nix b/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
index b15f4c4949dea..24ab894c9f062 100644
--- a/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
@@ -5,23 +5,26 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "sof-firmware";
-  version = "2.2";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "thesofproject";
     repo = "sof-bin";
     rev = "v${version}";
-    sha256 = "sha256-/gjGTDOXJ0vz/MH2hlistS3X3Euqf8T6TLnD1A2SBYo=";
+    sha256 = "sha256-ztewE/8Mc0bbKbxmbJ2sBn3TysuM9hoaSgqrboy77oI=";
   };
 
   dontFixup = true; # binaries must not be stripped or patchelfed
 
+  # There is no proper structure in the upstream repo.
+  # This needs to be adapted by hand for every new release.
   installPhase = ''
     runHook preInstall
-    cd "v${lib.versions.majorMinor version}.x"
-    mkdir -p $out/lib/firmware/intel/
-    cp -a sof-v${version} $out/lib/firmware/intel/sof
-    cp -a sof-tplg-v${version} $out/lib/firmware/intel/sof-tplg
+    cd "v2.2.x"
+    mkdir -p $out/lib/firmware/intel/sof{,-tplg}
+    cp -a sof-v2.2/* $out/lib/firmware/intel/sof
+    cp -a sof-v2.2.2/* $out/lib/firmware/intel/sof
+    cp -a sof-tplg-v2.2.1/* $out/lib/firmware/intel/sof-tplg
     runHook postInstall
   '';
 
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index a5b3ac3cfb9bc..4e55c5c7dbe3d 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.154";
+  version = "5.10.155";
 
   # 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 = "12763vlnrgmgj03khj9ls2g7zlhclj9g1l3008b36j9jli6kvbn6";
+    sha256 = "1wyla96qsdf50n7qjj4hdf36bj56whv7gc9mgw9bvrsqdi92gc7i";
   };
 } // (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 d2f2a87e61a83..a602ac51d91db 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.78";
+  version = "5.15.79";
 
   # 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 = "16d4d4g5n2g6jpp8bvad1bm1l0b0nb4ckwsmq6w2g3538xrrzf8d";
+    sha256 = "0m61k7k6lj24z9a266q08wzghggjik2wizcabdwd1vn0vcqr18yb";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-6.0.nix b/pkgs/os-specific/linux/kernel/linux-6.0.nix
index f2b7806ca3004..709c0599dc072 100644
--- a/pkgs/os-specific/linux/kernel/linux-6.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-6.0.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.0.8";
+  version = "6.0.9";
 
   # 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/v6.x/linux-${version}.tar.xz";
-    sha256 = "0mx2bxgnxm3vz688268939xw90jqci7xn992kfpny74mjqwzir0d";
+    sha256 = "1irip1yk62carcisxlacwcxsiqib4qswx6h5mfhv8f97x04a4531";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/perf/5.19-binutils-2.39-support.patch b/pkgs/os-specific/linux/kernel/perf/5.19-binutils-2.39-support.patch
deleted file mode 100644
index 5f4f2fc0b4a97..0000000000000
--- a/pkgs/os-specific/linux/kernel/perf/5.19-binutils-2.39-support.patch
+++ /dev/null
@@ -1,352 +0,0 @@
-Fetched as:
-    $ wget 'https://github.com/torvalds/linux/compare/00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00.patch'
-
-Adds support for binutils-2.39 API change around init_disassemble_info().
---- a/tools/build/Makefile.feature
-+++ b/tools/build/Makefile.feature
-@@ -70,6 +70,7 @@ FEATURE_TESTS_BASIC :=                  \
-         libaio				\
-         libzstd				\
-         disassembler-four-args		\
-+        disassembler-init-styled	\
-         file-handle
- 
- # FEATURE_TESTS_BASIC + FEATURE_TESTS_EXTRA is the complete list
---- a/tools/build/feature/Makefile
-+++ b/tools/build/feature/Makefile
-@@ -18,6 +18,7 @@ FILES=                                          \
-          test-libbfd.bin                        \
-          test-libbfd-buildid.bin		\
-          test-disassembler-four-args.bin        \
-+         test-disassembler-init-styled.bin	\
-          test-reallocarray.bin			\
-          test-libbfd-liberty.bin                \
-          test-libbfd-liberty-z.bin              \
-@@ -248,6 +249,9 @@ $(OUTPUT)test-libbfd-buildid.bin:
- $(OUTPUT)test-disassembler-four-args.bin:
- 	$(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes
- 
-+$(OUTPUT)test-disassembler-init-styled.bin:
-+	$(BUILD) -DPACKAGE='"perf"' -lbfd -lopcodes
-+
- $(OUTPUT)test-reallocarray.bin:
- 	$(BUILD)
- 
---- a/tools/build/feature/test-all.c
-+++ b/tools/build/feature/test-all.c
-@@ -166,6 +166,10 @@
- # include "test-disassembler-four-args.c"
- #undef main
- 
-+#define main main_test_disassembler_init_styled
-+# include "test-disassembler-init-styled.c"
-+#undef main
-+
- #define main main_test_libzstd
- # include "test-libzstd.c"
- #undef main
---- /dev/null
-+++ b/tools/build/feature/test-disassembler-init-styled.c
-@@ -0,0 +1,13 @@
-+// SPDX-License-Identifier: GPL-2.0
-+#include <stdio.h>
-+#include <dis-asm.h>
-+
-+int main(void)
-+{
-+	struct disassemble_info info;
-+
-+	init_disassemble_info(&info, stdout,
-+			      NULL, NULL);
-+
-+	return 0;
-+}
-
---- a/tools/build/Makefile.feature
-+++ b/tools/build/Makefile.feature
-@@ -135,8 +135,7 @@ FEATURE_DISPLAY ?=              \
-          get_cpuid              \
-          bpf			\
-          libaio			\
--         libzstd		\
--         disassembler-four-args
-+         libzstd
- 
- # Set FEATURE_CHECK_(C|LD)FLAGS-all for all FEATURE_TESTS features.
- # If in the future we need per-feature checks/flags for features not
-
---- /dev/null
-+++ b/tools/include/tools/dis-asm-compat.h
-@@ -0,0 +1,55 @@
-+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
-+#ifndef _TOOLS_DIS_ASM_COMPAT_H
-+#define _TOOLS_DIS_ASM_COMPAT_H
-+
-+#include <stdio.h>
-+#include <dis-asm.h>
-+
-+/* define types for older binutils version, to centralize ifdef'ery a bit */
-+#ifndef DISASM_INIT_STYLED
-+enum disassembler_style {DISASSEMBLER_STYLE_NOT_EMPTY};
-+typedef int (*fprintf_styled_ftype) (void *, enum disassembler_style, const char*, ...);
-+#endif
-+
-+/*
-+ * Trivial fprintf wrapper to be used as the fprintf_styled_func argument to
-+ * init_disassemble_info_compat() when normal fprintf suffices.
-+ */
-+static inline int fprintf_styled(void *out,
-+				 enum disassembler_style style,
-+				 const char *fmt, ...)
-+{
-+	va_list args;
-+	int r;
-+
-+	(void)style;
-+
-+	va_start(args, fmt);
-+	r = vfprintf(out, fmt, args);
-+	va_end(args);
-+
-+	return r;
-+}
-+
-+/*
-+ * Wrapper for init_disassemble_info() that hides version
-+ * differences. Depending on binutils version and architecture either
-+ * fprintf_func or fprintf_styled_func will be called.
-+ */
-+static inline void init_disassemble_info_compat(struct disassemble_info *info,
-+						void *stream,
-+						fprintf_ftype unstyled_func,
-+						fprintf_styled_ftype styled_func)
-+{
-+#ifdef DISASM_INIT_STYLED
-+	init_disassemble_info(info, stream,
-+			      unstyled_func,
-+			      styled_func);
-+#else
-+	(void)styled_func;
-+	init_disassemble_info(info, stream,
-+			      unstyled_func);
-+#endif
-+}
-+
-+#endif /* _TOOLS_DIS_ASM_COMPAT_H */
-
---- a/tools/perf/Makefile.config
-+++ b/tools/perf/Makefile.config
-@@ -298,6 +298,7 @@ FEATURE_CHECK_LDFLAGS-libpython := $(PYTHON_EMBED_LDOPTS)
- FEATURE_CHECK_LDFLAGS-libaio = -lrt
- 
- FEATURE_CHECK_LDFLAGS-disassembler-four-args = -lbfd -lopcodes -ldl
-+FEATURE_CHECK_LDFLAGS-disassembler-init-styled = -lbfd -lopcodes -ldl
- 
- CORE_CFLAGS += -fno-omit-frame-pointer
- CORE_CFLAGS += -ggdb3
-@@ -924,13 +925,16 @@ ifndef NO_LIBBFD
-     ifeq ($(feature-libbfd-liberty), 1)
-       EXTLIBS += -lbfd -lopcodes -liberty
-       FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -ldl
-+      FEATURE_CHECK_LDFLAGS-disassembler-init-styled += -liberty -ldl
-     else
-       ifeq ($(feature-libbfd-liberty-z), 1)
-         EXTLIBS += -lbfd -lopcodes -liberty -lz
-         FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -lz -ldl
-+        FEATURE_CHECK_LDFLAGS-disassembler-init-styled += -liberty -lz -ldl
-       endif
-     endif
-     $(call feature_check,disassembler-four-args)
-+    $(call feature_check,disassembler-init-styled)
-   endif
- 
-   ifeq ($(feature-libbfd-buildid), 1)
-@@ -1044,6 +1048,10 @@ ifeq ($(feature-disassembler-four-args), 1)
-     CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
- endif
- 
-+ifeq ($(feature-disassembler-init-styled), 1)
-+    CFLAGS += -DDISASM_INIT_STYLED
-+endif
-+
- ifeq (${IS_64_BIT}, 1)
-   ifndef NO_PERF_READ_VDSO32
-     $(call feature_check,compile-32)
---- a/tools/perf/util/annotate.c
-+++ b/tools/perf/util/annotate.c
-@@ -1720,6 +1720,7 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil
- #include <bpf/btf.h>
- #include <bpf/libbpf.h>
- #include <linux/btf.h>
-+#include <tools/dis-asm-compat.h>
- 
- static int symbol__disassemble_bpf(struct symbol *sym,
- 				   struct annotate_args *args)
-@@ -1762,9 +1763,9 @@ static int symbol__disassemble_bpf(struct symbol *sym,
- 		ret = errno;
- 		goto out;
- 	}
--	init_disassemble_info(&info, s,
--			      (fprintf_ftype) fprintf);
--
-+	init_disassemble_info_compat(&info, s,
-+				     (fprintf_ftype) fprintf,
-+				     fprintf_styled);
- 	info.arch = bfd_get_arch(bfdf);
- 	info.mach = bfd_get_mach(bfdf);
- 
-
---- a/tools/bpf/Makefile
-+++ b/tools/bpf/Makefile
-@@ -34,7 +34,7 @@ else
- endif
- 
- FEATURE_USER = .bpf
--FEATURE_TESTS = libbfd disassembler-four-args
-+FEATURE_TESTS = libbfd disassembler-four-args disassembler-init-styled
- FEATURE_DISPLAY = libbfd disassembler-four-args
- 
- check_feat := 1
-@@ -56,6 +56,9 @@ endif
- ifeq ($(feature-disassembler-four-args), 1)
- CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
- endif
-+ifeq ($(feature-disassembler-init-styled), 1)
-+CFLAGS += -DDISASM_INIT_STYLED
-+endif
- 
- $(OUTPUT)%.yacc.c: $(srctree)/tools/bpf/%.y
- 	$(QUIET_BISON)$(YACC) -o $@ -d $<
---- a/tools/bpf/bpf_jit_disasm.c
-+++ b/tools/bpf/bpf_jit_disasm.c
-@@ -28,6 +28,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <limits.h>
-+#include <tools/dis-asm-compat.h>
- 
- #define CMD_ACTION_SIZE_BUFFER		10
- #define CMD_ACTION_READ_ALL		3
-@@ -64,7 +65,9 @@ static void get_asm_insns(uint8_t *image, size_t len, int opcodes)
- 	assert(bfdf);
- 	assert(bfd_check_format(bfdf, bfd_object));
- 
--	init_disassemble_info(&info, stdout, (fprintf_ftype) fprintf);
-+	init_disassemble_info_compat(&info, stdout,
-+				     (fprintf_ftype) fprintf,
-+				     fprintf_styled);
- 	info.arch = bfd_get_arch(bfdf);
- 	info.mach = bfd_get_mach(bfdf);
- 	info.buffer = image;
-
---- a/tools/bpf/Makefile
-+++ b/tools/bpf/Makefile
-@@ -35,7 +35,7 @@ endif
- 
- FEATURE_USER = .bpf
- FEATURE_TESTS = libbfd disassembler-four-args disassembler-init-styled
--FEATURE_DISPLAY = libbfd disassembler-four-args
-+FEATURE_DISPLAY = libbfd
- 
- check_feat := 1
- NON_CHECK_FEAT_TARGETS := clean bpftool_clean runqslower_clean resolve_btfids_clean
-
---- a/tools/bpf/bpftool/Makefile
-+++ b/tools/bpf/bpftool/Makefile
-@@ -93,7 +93,7 @@ INSTALL ?= install
- RM ?= rm -f
- 
- FEATURE_USER = .bpftool
--FEATURE_TESTS = libbfd disassembler-four-args zlib libcap \
-+FEATURE_TESTS = libbfd disassembler-four-args disassembler-init-styled zlib libcap \
- 	clang-bpf-co-re
- FEATURE_DISPLAY = libbfd disassembler-four-args zlib libcap \
- 	clang-bpf-co-re
-@@ -117,6 +117,9 @@ endif
- ifeq ($(feature-disassembler-four-args), 1)
- CFLAGS += -DDISASM_FOUR_ARGS_SIGNATURE
- endif
-+ifeq ($(feature-disassembler-init-styled), 1)
-+    CFLAGS += -DDISASM_INIT_STYLED
-+endif
- 
- LIBS = $(LIBBPF) -lelf -lz
- LIBS_BOOTSTRAP = $(LIBBPF_BOOTSTRAP) -lelf -lz
---- a/tools/bpf/bpftool/jit_disasm.c
-+++ b/tools/bpf/bpftool/jit_disasm.c
-@@ -24,6 +24,7 @@
- #include <sys/stat.h>
- #include <limits.h>
- #include <bpf/libbpf.h>
-+#include <tools/dis-asm-compat.h>
- 
- #include "json_writer.h"
- #include "main.h"
-@@ -39,15 +40,12 @@ static void get_exec_path(char *tpath, size_t size)
- }
- 
- static int oper_count;
--static int fprintf_json(void *out, const char *fmt, ...)
-+static int printf_json(void *out, const char *fmt, va_list ap)
- {
--	va_list ap;
- 	char *s;
- 	int err;
- 
--	va_start(ap, fmt);
- 	err = vasprintf(&s, fmt, ap);
--	va_end(ap);
- 	if (err < 0)
- 		return -1;
- 
-@@ -73,6 +71,32 @@ static int fprintf_json(void *out, const char *fmt, ...)
- 	return 0;
- }
- 
-+static int fprintf_json(void *out, const char *fmt, ...)
-+{
-+	va_list ap;
-+	int r;
-+
-+	va_start(ap, fmt);
-+	r = printf_json(out, fmt, ap);
-+	va_end(ap);
-+
-+	return r;
-+}
-+
-+static int fprintf_json_styled(void *out,
-+			       enum disassembler_style style __maybe_unused,
-+			       const char *fmt, ...)
-+{
-+	va_list ap;
-+	int r;
-+
-+	va_start(ap, fmt);
-+	r = printf_json(out, fmt, ap);
-+	va_end(ap);
-+
-+	return r;
-+}
-+
- void disasm_print_insn(unsigned char *image, ssize_t len, int opcodes,
- 		       const char *arch, const char *disassembler_options,
- 		       const struct btf *btf,
-@@ -99,11 +123,13 @@ void disasm_print_insn(unsigned char *image, ssize_t len, int opcodes,
- 	assert(bfd_check_format(bfdf, bfd_object));
- 
- 	if (json_output)
--		init_disassemble_info(&info, stdout,
--				      (fprintf_ftype) fprintf_json);
-+		init_disassemble_info_compat(&info, stdout,
-+					     (fprintf_ftype) fprintf_json,
-+					     fprintf_json_styled);
- 	else
--		init_disassemble_info(&info, stdout,
--				      (fprintf_ftype) fprintf);
-+		init_disassemble_info_compat(&info, stdout,
-+					     (fprintf_ftype) fprintf,
-+					     fprintf_styled);
- 
- 	/* Update architecture info for offload. */
- 	if (arch) {
diff --git a/pkgs/os-specific/linux/kernel/perf/default.nix b/pkgs/os-specific/linux/kernel/perf/default.nix
index 709312ebdcdf3..e4c8be02cbb01 100644
--- a/pkgs/os-specific/linux/kernel/perf/default.nix
+++ b/pkgs/os-specific/linux/kernel/perf/default.nix
@@ -4,9 +4,7 @@
 , fetchurl
 , kernel
 , elfutils
-, python2
 , python3
-, python3Packages
 , perl
 , newt
 , slang
@@ -61,34 +59,23 @@ stdenv.mkDerivation {
 
   inherit (kernel) src;
 
-  patches = lib.optionals (lib.versionAtLeast kernel.version "5.19" && lib.versionOlder kernel.version "5.20") [
-    # binutils-2.39 support around init_disassemble_info()
-    # API change.
-    # Will be included in 5.20.
-    ./5.19-binutils-2.39-support.patch
-  ];
-
   postPatch = ''
-    patchShebangs scripts tools/perf/pmu-events/jevents.py
-  '' + lib.optionalString (lib.versionAtLeast kernel.version "5.8") ''
-    substituteInPlace tools/perf/scripts/python/flamegraph.py \
-      --replace "/usr/share/d3-flame-graph/d3-flamegraph-base.html" \
-      "${d3-flame-graph-templates}/share/d3-flame-graph/d3-flamegraph-base.html"
-  '';
+    # Linux scripts
+    patchShebangs scripts
 
-  preConfigure = ''
     cd tools/perf
 
-    substituteInPlace Makefile \
-      --replace /usr/include/elfutils $elfutils/include/elfutils
-
     for x in util/build-id.c util/dso.c; do
       substituteInPlace $x --replace /usr/lib/debug /run/current-system/sw/lib/debug
     done
 
-    if [ -f bash_completion ]; then
-      sed -i 's,^have perf,_have perf,' bash_completion
-    fi
+  '' + lib.optionalString (lib.versionAtLeast kernel.version "5.8") ''
+    substituteInPlace scripts/python/flamegraph.py \
+      --replace "/usr/share/d3-flame-graph/d3-flamegraph-base.html" \
+      "${d3-flame-graph-templates}/share/d3-flame-graph/d3-flamegraph-base.html"
+
+  '' + lib.optionalString (lib.versionAtLeast kernel.version "6.0") ''
+    patchShebangs pmu-events/jevents.py
   '';
 
   makeFlags = [ "prefix=$(out)" "WERROR=0" ] ++ kernel.makeFlags;
@@ -127,10 +114,9 @@ stdenv.mkDerivation {
   then [ libbfd libopcodes ]
   else [ libbfd_2_38 libopcodes_2_38 ])
   ++ lib.optional withGtk gtk2
-  ++ (if (lib.versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ])
   ++ lib.optional withZstd zstd
   ++ lib.optional withLibcap libcap
-  ++ lib.optional (lib.versionAtLeast kernel.version "6.0") python3Packages.setuptools;
+  ++ lib.optional (lib.versionAtLeast kernel.version "6.0") python3.pkgs.setuptools;
 
   NIX_CFLAGS_COMPILE = toString [
     "-Wno-error=cpp"
@@ -140,22 +126,23 @@ stdenv.mkDerivation {
   ];
 
   doCheck = false; # requires "sparse"
-  doInstallCheck = false; # same
 
-  separateDebugInfo = true;
   installFlags = [ "install" "install-man" "ASCIIDOC8=1" "prefix=$(out)" ];
 
-  postInstall =''
+  # TODO: Add completions based on perf-completion.sh
+  postInstall = ''
     # Same as perf. Remove.
     rm -f $out/bin/trace
   '';
 
+  separateDebugInfo = true;
+
   preFixup = ''
     # Pull in 'objdump' into PATH to make annotations work.
     # The embeded Python interpreter will search PATH to calculate the Python path configuration(Should be fixed by upstream).
     # Add python.interpreter to PATH for now.
     wrapProgram $out/bin/perf \
-      --prefix PATH : ${lib.makeBinPath ([ binutils-unwrapped ] ++ (if (lib.versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ]))}
+      --prefix PATH : ${lib.makeBinPath [ binutils-unwrapped python3 ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 2fc9d8fe3c085..9863e3c4f4ee8 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "6.0.7"; #zen
+    version = "6.0.8"; #zen
     suffix = "zen1"; #zen
-    sha256 = "011wlc0h99vx830qmgy569srhb3rzhyy5j235pf7m541392vh41g"; #zen
+    sha256 = "0vp6vp77blrxa8rcl8wl81di7m4s1cmbznzacx3729560km98ki8"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.0.7"; #lqx
+    version = "6.0.8"; #lqx
     suffix = "lqx1"; #lqx
-    sha256 = "09h99fdzicbc4kkl51dqwgqqa9416hd7bvrghr4pdjqrw4z15557"; #lqx
+    sha256 = "1jjna3g1x58r8qz323fmdzf6ws3anjqdw57r12fnvq3by660p0qh"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/os-specific/linux/nsncd/default.nix b/pkgs/os-specific/linux/nsncd/default.nix
index f2005f50a580f..e9dc2d47e0e71 100644
--- a/pkgs/os-specific/linux/nsncd/default.nix
+++ b/pkgs/os-specific/linux/nsncd/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nsncd";
-  version = "unstable-2021-10-20";
+  version = "unstable-2022-11-14";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nsncd";
-    rev = "b9425070bb308565a6e4dc5aefd568952a07a4ed";
-    hash = "sha256-ZjInzPJo+PWAM2gAKhlasLXiqo+2Df4DIXpNwtqQVc8=";
+    rev = "47e580f1db99603df6e212a2e62f18cc970cef40";
+    hash = "sha256-Nv3MYZcuYgD66BAGs3Tg37s086HAGsaDBFvELqQF3Tk=";
   };
 
-  cargoSha256 = "sha256-hxdI+HHB0PB/zDMI21Pg5Xr9mTDn4T+OcAAenUox4bs=";
+  cargoSha256 = "sha256-c1L6nEUBHw1YegmoRrI3WU/bF80Nzbz13hsGlNyBR9o=";
 
   meta = with lib; {
     description = "the name service non-caching daemon";
diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix
index 1d19d91511758..45c4bbe75f5cd 100644
--- a/pkgs/os-specific/linux/procps-ng/default.nix
+++ b/pkgs/os-specific/linux/procps-ng/default.nix
@@ -7,7 +7,7 @@
 
   # `ps` with systemd support is able to properly report different
   # attributes like unit name, so we want to have it on linux.
-, withSystemd ? stdenv.isLinux
+, withSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isStatic
 , systemd
 
   # procps is mostly Linux-only. Most commands require a running Linux
diff --git a/pkgs/os-specific/linux/vmm_clock/default.nix b/pkgs/os-specific/linux/vmm_clock/default.nix
index b630ed4749faa..853e7765ee23a 100644
--- a/pkgs/os-specific/linux/vmm_clock/default.nix
+++ b/pkgs/os-specific/linux/vmm_clock/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/voutilad/vmm_clock";
     license = licenses.gpl2;
     maintainers = with maintainers; [ qbit ];
-    platforms = platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" ];
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix
index 9ba2f439471be..c175787fdce31 100644
--- a/pkgs/servers/adguardhome/bins.nix
+++ b/pkgs/servers/adguardhome/bins.nix
@@ -1,23 +1,23 @@
 { fetchurl, fetchzip }:
 {
 x86_64-darwin = fetchzip {
-  sha256 = "sha256-rVc1ad8qwXfEuqZUrTsdzSQHUit3j8PQp3B0dD6FrcQ=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.16/AdGuardHome_darwin_amd64.zip";
+  sha256 = "sha256-XzM+ZAlpT33AQd7etCXZQos9Ifg7oM9DkzncP+EBvoo=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.18/AdGuardHome_darwin_amd64.zip";
 };
 aarch64-darwin = fetchzip {
-  sha256 = "sha256-GaeTdv467dVfSk2YuILmi2KphMfFYfLdpNI+dVx/UoU=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.16/AdGuardHome_darwin_arm64.zip";
+  sha256 = "sha256-9pMZVSqU6Rqet73Lg/JBzX1PWmR9nxUSmKD6E4fAxSw=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.18/AdGuardHome_darwin_arm64.zip";
 };
 i686-linux = fetchurl {
-  sha256 = "sha256-6fXU2vU3MgveWZhgrphOeczDc1GUBv7ZUehPF8+GUdY=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.16/AdGuardHome_linux_386.tar.gz";
+  sha256 = "sha256-AVFQpruoScSTFpsK3+7e1hXaJaKlK5dQ+8uga5+dHRY=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.18/AdGuardHome_linux_386.tar.gz";
 };
 x86_64-linux = fetchurl {
-  sha256 = "sha256-6rUC0R0bGS4omX9bybShk78mFaNRjUUkQqczZE2Wz5M=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.16/AdGuardHome_linux_amd64.tar.gz";
+  sha256 = "sha256-ncVQc8zJy9i8TNmDIjLQh58I3gIfTLgDwctBFD1HR2I=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.18/AdGuardHome_linux_amd64.tar.gz";
 };
 aarch64-linux = fetchurl {
-  sha256 = "sha256-3cowMi081TIx65dgzBP+YkIj4IBwyK1Yd/gn2zL9kOI=";
-  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.16/AdGuardHome_linux_arm64.tar.gz";
+  sha256 = "sha256-tzc67MHg6idLW5b69zLZw/76tP6YEMlWNPosrsD4uTA=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.18/AdGuardHome_linux_arm64.tar.gz";
 };
 }
diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix
index 2d2bafaa20483..cd977fa511d67 100644
--- a/pkgs/servers/adguardhome/default.nix
+++ b/pkgs/servers/adguardhome/default.nix
@@ -7,7 +7,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "adguardhome";
-  version = "0.107.16";
+  version = "0.107.18";
   src = sources.${system} or (throw "Source for ${pname} is not available for ${system}");
 
   installPhase = ''
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/AdguardTeam/AdGuardHome";
     description = "Network-wide ads & trackers blocking DNS server";
     platforms = builtins.attrNames sources;
-    maintainers = with maintainers; [ numkem iagoq ];
+    maintainers = with maintainers; [ numkem iagoq rhoriguchi ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.gpl3Only;
   };
diff --git a/pkgs/servers/alps/default.nix b/pkgs/servers/alps/default.nix
index a2f69473fbaa5..6ce373dce2682 100644
--- a/pkgs/servers/alps/default.nix
+++ b/pkgs/servers/alps/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGoModule, fetchFromSourcehut }:
+{ lib, buildGoModule, fetchFromSourcehut, fetchpatch, nixosTests }:
 
 buildGoModule rec {
   pname = "alps";
-  version = "2022-06-03";
+  version = "2022-10-18";
 
   src = fetchFromSourcehut {
     owner = "~migadu";
     repo = "alps";
-    rev = "9cb23b09975e95f6a5952e3718eaf471c3e3510f";
-    hash = "sha256-BUV1/BRIXHEf2FU1rdmNgueo8KSUlMKbIpAg2lFs3hA=";
+    rev = "f01fbcbc48db5e65d69a0ebd9d7cb0deb378cf13";
+    hash = "sha256-RSug3YSiqYLGs05Bee4NoaoCyPvUZ7IqlKWI1hmxbiA=";
   };
 
-  vendorSha256 = "sha256-cpY+lYM/nAX3nUaFknrRAavxDk8UDzJkoqFjJ1/KWeg=";
+  vendorSha256 = "sha256-XDm6LU9D/rVQHiko7EFpocv+IktGe6tQhJYRrOJxeSs=";
 
   ldflags = [
     "-s"
@@ -20,6 +20,14 @@ buildGoModule rec {
     "-X git.sr.ht/~migadu/alps.PluginDir=${placeholder "out"}/share/alps/plugins"
   ];
 
+  patches = [
+    (fetchpatch {
+      name = "Issue-160-Alps-theme-has-a-enormous-move-to-list-sel";
+      url = "https://lists.sr.ht/~migadu/alps-devel/patches/30096/mbox";
+      hash = "sha256-Sz/SCkrrXZWrmJzjfPXi+UfCcbwsy6QiA7m34iiEFX0=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace plugin.go --replace "const PluginDir" "var PluginDir"
   '';
@@ -31,6 +39,8 @@ buildGoModule rec {
 
   proxyVendor = true;
 
+  passthru.tests = { inherit(nixosTests) alps; };
+
   meta = with lib; {
     description = "A simple and extensible webmail.";
     homepage = "https://git.sr.ht/~migadu/alps";
diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix
index eeefe0dcd14f0..36927f4f6d3a9 100644
--- a/pkgs/servers/asterisk/default.nix
+++ b/pkgs/servers/asterisk/default.nix
@@ -3,12 +3,30 @@
   util-linux, dmidecode, libuuid, newt,
   lua, speex, libopus, opusfile, libogg,
   srtp, wget, curl, iksemel, pkg-config,
-  autoconf, libtool, automake,
+  autoconf, libtool, automake, fetchpatch,
   python39, writeScript,
   withOpus ? true,
 }:
 
 let
+  # remove when upgrading to pjsip >2.12.1
+  pjsip_patches = [
+    (fetchpatch {
+      name = "0150-CVE-2022-31031.patch";
+      url = "https://github.com/pjsip/pjproject/commit/450baca94f475345542c6953832650c390889202.patch";
+      sha256 = "sha256-30kHrmB51UIw4x/J6/CD+vPKf/gBYDCcFoUpwEWkDMY=";
+    })
+    (fetchpatch {
+      name = "0151-CVE-2022-39244.patch";
+      url = "https://github.com/pjsip/pjproject/commit/c4d34984ec92b3d5252a7d5cddd85a1d3a8001ae.patch";
+      sha256 = "sha256-hTUMh6bYAizn6GF+sRV1vjKVxSf9pnI+eQdPOqsdJI4=";
+    })
+    (fetchpatch {
+      name = "0152-CVE-2022-39269.patch";
+      url = "https://github.com/pjsip/pjproject/commit/d2acb9af4e27b5ba75d658690406cec9c274c5cc.patch";
+      sha256 = "sha256-bKE/MrRAqN1FqD2ubhxIOOf5MgvZluHHeVXPjbR12iQ=";
+    })
+  ];
   common = {version, sha256, externals}: stdenv.mkDerivation {
     inherit version;
     pname = "asterisk";
@@ -58,6 +76,9 @@ let
         cp ${asterisk-opus}/codecs/* ./codecs
         cp ${asterisk-opus}/formats/* ./formats
       ''}
+      ${lib.concatMapStringsSep "\n" (patch: ''
+        cp ${patch} ./third-party/pjproject/patches/${patch.name}
+      '') pjsip_patches}
       ./bootstrap.sh
     '';
 
@@ -69,6 +90,7 @@ let
     ];
 
     preBuild = ''
+      cat third-party/pjproject/source/pjlib-util/src/pjlib-util/scanner.c
       make menuselect.makeopts
       ${lib.optionalString (externals ? "addons/mp3") ''
         substituteInPlace menuselect.makeopts --replace 'format_mp3 ' ""
@@ -93,9 +115,9 @@ let
     };
   };
 
-  pjproject_2_12 = fetchurl {
-    url = "https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.12/pjproject-2.12.tar.bz2";
-    hash = "sha256-T3q4r/4WCAZCNGnULxMnNKH9wEK7gkseV/sV8IPasHQ=";
+  pjproject_2_12_1 = fetchurl {
+    url = "https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.12.1/pjproject-2.12.1.tar.bz2";
+    hash = "sha256-DiNH1hB5ZheYzyUjFyk1EtlsMJlgjf+QRVKjEk+hNjc=";
   };
 
   mp3-202 = fetchsvn {
@@ -116,7 +138,7 @@ let
   versions = lib.mapAttrs (_: {version, sha256}: common {
     inherit version sha256;
     externals = {
-      "externals_cache/pjproject-2.12.tar.bz2" = pjproject_2_12;
+      "externals_cache/pjproject-2.12.1.tar.bz2" = pjproject_2_12_1;
       "addons/mp3" = mp3-202;
     };
   }) (lib.importJSON ./versions.json);
@@ -136,6 +158,7 @@ in {
   # 16.x    LTS        2018-10-09  2022-10-09  2023-10-09
   # 18.x    LTS        2020-10-20  2024-10-20  2025-10-20
   # 19.x    Standard   2021-11-02  2022-11-02  2023-11-02
+  # 20.x    LTS        2022-11-02  2026-10-19  2027-10-19
   asterisk-lts = versions.asterisk_18;
   asterisk-stable = versions.asterisk_19;
   asterisk = versions.asterisk_19.overrideAttrs (o: {
diff --git a/pkgs/servers/asterisk/versions.json b/pkgs/servers/asterisk/versions.json
index 77023dac2c28c..7e6943a6822d0 100644
--- a/pkgs/servers/asterisk/versions.json
+++ b/pkgs/servers/asterisk/versions.json
@@ -1,14 +1,18 @@
 {
   "asterisk_16": {
-    "sha256": "201c92e591fc1db2c71b264907beef594d62d660168d42b5e83f9dc593b1bce0",
-    "version": "16.26.1"
+    "sha256": "406a91290e18d25a6fc23ae6b9c56b1fb2bd70216e336c74cf9c26b908c89c3d",
+    "version": "16.29.0"
   },
   "asterisk_18": {
-    "sha256": "acbb58e5c3cd2b9c7c4506fa80b717c3c3c550ce9722ff0177b4f11f98725563",
-    "version": "18.12.1"
+    "sha256": "a963dafeba0e7e1051a1ac56964999c111dbcdb25a47010bc1f772bf8edbed75",
+    "version": "18.15.0"
   },
   "asterisk_19": {
-    "sha256": "6b0b985163f20fcc8f8878069b8a9ee725eef4cfbdb1c1031fe3840fb32d7abe",
-    "version": "19.4.1"
+    "sha256": "832a967c5a040b0768c0e8df1646762f7304019fcf7f2e065a8b4828fa4092b7",
+    "version": "19.7.0"
+  },
+  "asterisk_20": {
+    "sha256": "949022c20dc6da65b456e1b1b5b42a7901bb41fc9ce20920891739e7220d72eb",
+    "version": "20.0.0"
   }
 }
diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix
index 50198b3927978..6047eae3c962a 100644
--- a/pkgs/servers/calibre-web/default.nix
+++ b/pkgs/servers/calibre-web/default.nix
@@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication rec {
     sqlalchemy
     tornado
     unidecode
-    Wand
+    wand
     werkzeug
   ];
 
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index 815ec5d7b7679..99185125836f5 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "consul";
-  version = "1.13.3";
+  version = "1.14.0";
   rev = "v${version}";
 
   # Note: Currently only release tags are supported, because they have the Consul UI
@@ -17,7 +17,7 @@ buildGoModule rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "sha256-pTBeR7WP25Ng1OiVkZ60wTYnSOWahkx6LYHScnX0fWw=";
+    sha256 = "sha256-so+JtDcIWRF8HaoiqalxKxzl8ITonDABXK07guwIYRA=";
   };
 
   passthru.tests.consul = nixosTests.consul;
@@ -26,7 +26,7 @@ buildGoModule rec {
   # has a split module structure in one repo
   subPackages = ["." "connect/certgen"];
 
-  vendorSha256 = "sha256-ZarkaUP9jwwP9FReaVAfPaQzKFETUEHsCsVDGFYKJvU=";
+  vendorSha256 = "sha256-cCfC/PcpNRQ3UL7OGk2ydCN8wNPvyJTGYMANfqpMHKg=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/corosync/default.nix b/pkgs/servers/corosync/default.nix
index 4df8a547dff50..678f97e977430 100644
--- a/pkgs/servers/corosync/default.nix
+++ b/pkgs/servers/corosync/default.nix
@@ -10,11 +10,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "corosync";
-  version = "3.1.6";
+  version = "3.1.7";
 
   src = fetchurl {
     url = "http://build.clusterlabs.org/corosync/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ym7TK01/M+1hSvzodg/ljQ3pLGi1ddSWnrrNiS89Hic=";
+    sha256 = "sha256-5lVrOjhZZfITMLk4Pc0XkPKKT3ngk5grQOouwj4KKfo=";
   };
 
   nativeBuildInputs = [ makeWrapper pkg-config ];
diff --git a/pkgs/servers/hbase/default.nix b/pkgs/servers/hbase/default.nix
index 40b5dc7e0b65e..aa00fe80743ac 100644
--- a/pkgs/servers/hbase/default.nix
+++ b/pkgs/servers/hbase/default.nix
@@ -38,20 +38,19 @@ let common = { version, hash, jdk ? jdk11_headless, tests }:
   };
 in
 {
-  hbase_1_7 = common {
-    version = "1.7.1";
-    hash = "sha256-DrH2G79QLT8L0YTTmAGC9pUWU8semSaTOsrsQRCI2rY=";
-    jdk = jdk8_headless;
-    tests.standalone = nixosTests.hbase1;
-  };
   hbase_2_4 = common {
-    version = "2.4.11";
-    hash = "sha256-m0vjUtPaj8czHHh+rQNJJgrFAM744cHd06KE0ut7QeU=";
+    version = "2.4.15";
+    hash = "sha256-KJXpfQ91POVd7ZnKQyIX5qzX4JIZqh3Zn2Pz0chW48g=";
+    tests.standalone = nixosTests.hbase_2_4;
+  };
+  hbase_2_5 = common {
+    version = "2.5.1";
+    hash = "sha256-ddSa4q43PSJv1W4lzzaXfv4LIThs4n8g8wYufHgsZVE=";
     tests.standalone = nixosTests.hbase2;
   };
   hbase_3_0 = common {
-    version = "3.0.0-alpha-2";
-    hash = "sha256-QPvgO1BeFWvMT5PdUm/SL92ZgvSvYIuJbzolbBTenz4=";
+    version = "3.0.0-alpha-3";
+    hash = "sha256-TxuiUHc2pTb9nBth1H2XrDRLla2vqM+e1uBU+yY2/EM=";
     tests.standalone = nixosTests.hbase3;
   };
 }
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index c2974f0f4e0d3..3aee605e4c063 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.11.2";
+  version = "2022.11.3";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 270e5269306b8..790f7a012570f 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -31,6 +31,16 @@ let
     # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
 
     (self: super: {
+      # https://github.com/postlund/pyatv/issues/1879
+      aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
+        pname = "aiohttp";
+        version = "3.8.1";
+        src = self.fetchPypi {
+          inherit pname version;
+          hash = "sha256-/FRx4aVN4V73HBvG6+gNTcaB6mAOaL/Ry85AQn8LdXg=";
+        };
+      });
+
       backoff = super.backoff.overridePythonAttrs (oldAttrs: rec {
         version = "1.11.1";
         src = fetchFromGitHub {
@@ -149,6 +159,16 @@ let
         doCheck = false; # requires pytest-aiohttp>=1.0.0
       });
 
+      pysensibo = super.pysensibo.overridePythonAttrs (oldAttrs: rec {
+        version = "1.0.20";
+        src = fetchFromGitHub {
+          owner = "andrey-git";
+          repo = "pysensibo";
+          rev = "refs/tags/${version}";
+          hash = "sha256-L2NP4XS+dPlBr2h8tsGoa4G7tI9yiI4fwrhvQaKkexk=";
+        };
+      });
+
       python-slugify = super.python-slugify.overridePythonAttrs (oldAttrs: rec {
         pname = "python-slugify";
         version = "4.0.1";
@@ -238,7 +258,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.11.2";
+  hassVersion = "2022.11.3";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -256,7 +276,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-LYO0SM75+e/4FoOONW+qel1AX/7qM9e+K729jR6PyUQ=";
+    hash = "sha256-9L2GBgM3RTqeOCnW47Kr4OxqVjcbBEvzkiPYZ5qEQAE=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
diff --git a/pkgs/servers/http/gatling/default.nix b/pkgs/servers/http/gatling/default.nix
index e1180121a65a3..00657757fce4d 100644
--- a/pkgs/servers/http/gatling/default.nix
+++ b/pkgs/servers/http/gatling/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.fefe.de/gatling/";
     license = lib.licenses.gpl2;
     platforms = platforms.linux;
+    broken = true; # 2022-11-16
   };
 }
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 982169125a08f..630d7b845b7bc 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -9,13 +9,13 @@
 
 buildDotnetModule rec {
   pname = "jackett";
-  version = "0.20.2238";
+  version = "0.20.2264";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "3kYpx3s4gYBTrqSOt7eLOf8x4cPnlDVmesYBbFzRZVU=";
+    sha256 = "Y1m828STKL4ANuf11oCekvT2ctCRBlT7Blyvvoltdxc=";
   };
 
   projectFile = "src/Jackett.Server/Jackett.Server.csproj";
diff --git a/pkgs/servers/kubemq-community/default.nix b/pkgs/servers/kubemq-community/default.nix
index 81e9e1b671fa1..a3428a8db8a32 100644
--- a/pkgs/servers/kubemq-community/default.nix
+++ b/pkgs/servers/kubemq-community/default.nix
@@ -2,12 +2,12 @@
 
 buildGoModule rec {
   pname = "kubemq-community";
-  version = "2.3.4";
+  version = "2.3.5";
   src = fetchFromGitHub {
     owner = "kubemq-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+HJpjKMSndcV+xQJM+FesdtoUSGHnpILQFuf3sbxBY0=";
+    sha256 = "sha256-kR2/Is1fQqpRyQ8yKSEvXV5xzXcHldCqgnCRNRZ+Ekg=";
   };
 
   CGO_ENABLED=0;
diff --git a/pkgs/servers/mail/sympa/default.nix b/pkgs/servers/mail/sympa/default.nix
index 196cd07ceff8f..7e409934fad03 100644
--- a/pkgs/servers/mail/sympa/default.nix
+++ b/pkgs/servers/mail/sympa/default.nix
@@ -61,13 +61,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sympa";
-  version = "6.2.68";
+  version = "6.2.70";
 
   src = fetchFromGitHub {
     owner = "sympa-community";
     repo = pname;
     rev = version;
-    sha256 = "sha256-biTF2We9/ZBFBNpltyJonAe5tpXz+eNam+Bu6esJPiY=";
+    sha256 = "sha256-/gaJ17IwB6ZC7OT9gxA5uUhTAHXeqsEh/x4AzAARups=";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index 7468b612cb47e..ba105959b568a 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
     yarnOfflineCache = fetchYarnDeps {
       yarnLock = "${src}/yarn.lock";
-      sha256 = "sha256-2NSibx026ENAqphGGhNoLwUldWTEPbDBrYu3hgeRlnM=";
+      sha256 = "sha256-fuU92fydoazSXBHwA+DG//gRgWVYQ1M3m2oNS2iwv4I=";
     };
 
     nativeBuildInputs = [ fixup_yarn_lock nodejs-slim yarn mastodon-gems mastodon-gems.wrappedRuby ];
@@ -121,6 +121,6 @@ stdenv.mkDerivation rec {
     homepage = "https://joinmastodon.org";
     license = licenses.agpl3Plus;
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
-    maintainers = with maintainers; [ happy-river erictapen izorkin ];
+    maintainers = with maintainers; [ happy-river erictapen izorkin ghuntley ];
   };
 }
diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix
index bdfd11d5ce3ef..c01eaaa5a5555 100644
--- a/pkgs/servers/mastodon/gemset.nix
+++ b/pkgs/servers/mastodon/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p8zkh5ww16y8n1jp12y1gjrmll7m7305c91p419f10qrw4x8cgc";
+      sha256 = "0r7ybdykxnn2544vcjmi51mxfpfqx3b4c7fjz15c57hamkhlalzf";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z52r7k3ig09zjvfcb8xnrl9vl0ssii22c2h7gx26nq8wb7yjkwq";
+      sha256 = "024a1c2ak1znkvys7pjkkan23wc0vhzyprl16gp9xcr4wy0l6dn4";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "186bkhrp8j81nrw5xznbi0nyhk49gdv6ynd80pcyk5lxhfkiw1wc";
+      sha256 = "193gj013bx5axd4nwvlf6mq19rcvymkf72q9f7ml6v9yl6cc4qam";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1walbq04v4qvgnz39cbfhz9bzhsf14q1h7gd0kgjy3frld6ysrhb";
+      sha256 = "0dygq5fxbrgynd2g7r51asyrap1d6cxravwh509kfmqpfbiq119s";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s6v0vnnm8zrxc3pr058r8bvgs6fxgjhadbc5r1sv1mrbyvvm1h0";
+      sha256 = "13kr77v91wa7sfsq7h04g8zy1qxcbwhhf4k6zz8276b1d10szly5";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05r0h7pvc0szqmgnra0j3j8ap7dmiyw9s6qksx41v5cxknmfi0h3";
+      sha256 = "1m68my4dnj7q7986jwlb7gir0f7hahdsqbiaxfvgngwksa8fhrn1";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   active_model_serializers = {
     dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"];
@@ -92,10 +92,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gjvxrzdbg0dsyqx7wsmxqfvlpl37zvzq3d1cylhb5qslsw6ml05";
+      sha256 = "05f497khf51wrsah927pnmpl0yrcx82gajjk8brcrrbbbd9arlp5";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -103,10 +103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f0ai51icvvx5q0jd1l89k0dlwzpsrkqlj6x43f8qc4bd1ya9glx";
+      sha256 = "183d7laxvwrw1d02qgm8rg9ljjihfiyh4vzi58xm42z3fr3bbhky";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -114,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0khjnkvmiyap1g3rvw9hp16mzai4smqcg5hxhq28pll25ljzxdbp";
+      sha256 = "1dsxi813wyhx2d0bbyc0nla4ck6nmmi3z3765gdqf6xl3dha5r2j";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@@ -125,10 +125,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03w600j4jzgfycy2xm6cxry3q5rpvx1jvr7msy1jx65sa2shgjha";
+      sha256 = "1yvmvfka2s7am8m3zdllblxiyyy4yr3ca6q6q5r23fd2qs7rmbz0";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -136,10 +136,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08wzpwgdm03vzb8gqr8bvfdarb89g5ah0skvwqk6qv87p55xqkyw";
+      sha256 = "0k5pq2swzgddmwwr6x1phbspk1vw8cl88ci8jbi18mrirjjfippr";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -147,10 +147,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
+      sha256 = "1ypdmpdn20hxp5vwxz3zc04r5xcwqc25qszdlg41h8ghdqbllwmw";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.8.1";
   };
   aes_key_wrap = {
     groups = ["default"];
@@ -168,10 +168,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16lmd6173gvhcpzj1blracx6hhlqjmmmmi4rh5y4lz6c87vg51lp";
+      sha256 = "0x55y3ynkda76pwnsvrrjlvxfcc7yn1irad8radll9c9cif41jqv";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.4.1";
   };
   android_key_attestation = {
     groups = ["default"];
@@ -230,10 +230,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15zwdli370jfsj6jypv7vrqf4vv4ac4784faw7ar5v88fk4q9rcv";
+      sha256 = "0gj8f8c54r9cabkm41s59sa1ca5wpbipw7gq3sfl87x9296227fx";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.2.1";
   };
   aws-eventstream = {
     groups = ["default"];
@@ -321,15 +321,15 @@
     version = "2.9.1";
   };
   better_html = {
-    dependencies = ["actionview" "activesupport" "ast" "erubi" "html_tokenizer" "parser" "smart_properties"];
+    dependencies = ["actionview" "activesupport" "ast" "erubi" "parser" "smart_properties"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sssv94gg7bnxiqn5pbbpf8rdnmw3iyj2qwn2pbgxxs8xmmq158b";
+      sha256 = "1y090dmgjxr3yzxi3pg5jgirkmyfdrmjhabmzmhg5i8ssiqr2gdz";
       type = "gem";
     };
-    version = "1.0.16";
+    version = "2.0.1";
   };
   bindata = {
     groups = ["default"];
@@ -369,20 +369,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bjhh8pngmvnrsri2h6a753pgv0xdkbbgi1bmv6c7q137sp37jbg";
+      sha256 = "0y1ycmvyd7swp6gy85m7znwilvb61zzcx6najgq0d1glq0p2hwy6";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.13.0";
   };
   brakeman = {
     groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m188ypcl2lb1hin21fmyk9d4fbjw4w7cr2k6l37jasw3rmgnvjv";
+      sha256 = "0zr2p0w4ckv65cv3vdwnk9f3yydmjdmw75x7dskx1gqr9j9q3306";
       type = "gem";
     };
-    version = "5.2.3";
+    version = "5.3.1";
   };
   browser = {
     groups = ["default"];
@@ -421,10 +421,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q90zk8di7a12by3d81nl78yy90rdml77vi3waxmgzqhvs6na4vj";
+      sha256 = "06rmq3s8q6xndxxl7qid9nf3hiaahs71jyiyyk3bx31hns1vkcci";
       type = "gem";
     };
-    version = "7.0.1";
+    version = "7.0.3";
   };
   bundler-audit = {
     dependencies = ["thor"];
@@ -432,10 +432,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05k19l5388248rd74cn2lm2ksci7fzmga74n835v7k31m4kbzw8v";
+      sha256 = "0gdx0019vj04n1512shhdx7hwphzqmdpw4vva2k551nd47y1dixx";
       type = "gem";
     };
-    version = "0.9.0.1";
+    version = "0.9.1";
   };
   byebug = {
     groups = ["default" "development" "test"];
@@ -453,10 +453,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bbkmi746zddgrfhq0z19y053bax5l4jh8ji9mfam5aacchnz2cm";
+      sha256 = "1673k8yzy4gl96f1xjj6zf1r2pgm2h042vdsiw03wqx4ygbq2las";
       type = "gem";
     };
-    version = "3.17.0";
+    version = "3.17.1";
   };
   capistrano-bundler = {
     dependencies = ["capistrano"];
@@ -575,6 +575,16 @@
     };
     version = "0.2.0";
   };
+  cocoon = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "038z97pkhvsqbh6cmyyzj58ya968p24k7r0f0rx7sa2kjvk193yh";
+      type = "gem";
+    };
+    version = "1.2.15";
+  };
   coderay = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -610,10 +620,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ffdxhgirgc86qb42yvmfj6v1v0x4lvi0pxn9zhghkff44wzra0k";
+      sha256 = "1nj4r58m5cpfdsijj6gjfs3yzcnxq2halagjk07wjcrgj6z8ayb7";
       type = "gem";
     };
-    version = "2.2.5";
+    version = "2.3.0";
   };
   cose = {
     dependencies = ["cbor" "openssl-signature_algorithm"];
@@ -621,10 +631,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h1vcirk1vpr992xmnwf5z77fpizjwn4xzq2vrrjhvdmjynvl3jj";
+      sha256 = "0cf29s40xf6a9k0idswfbabkswr0k5iqfrg61v40bzfrv0fdg440";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.2.1";
   };
   crack = {
     dependencies = ["rexml"];
@@ -749,20 +759,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "188ybg2cgghcp5r1jpfnbx3anf0z8fzlla72jra0vgwkdylk7qkz";
+      sha256 = "1znfhqxvfdvxh0z8qnh1n7iahk9hs8d243j5dvig2v933j4z3ykw";
       type = "gem";
     };
-    version = "5.5.4";
+    version = "5.6.0";
   };
   dotenv = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94";
+      sha256 = "1n0pi8x8ql5h1mijvm8lgn6bhq4xjb5a500p5r1krq4s6j9lg565";
       type = "gem";
     };
-    version = "2.7.6";
+    version = "2.8.1";
   };
   dotenv-rails = {
     dependencies = ["dotenv" "railties"];
@@ -770,10 +780,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1my2jdmgmpf32rfxffkb9cyxh7ayis4q5ygpwjqj4vpp25y3a70c";
+      sha256 = "0v0gcbxzypcvy6fqq4gp80jb310xvdwj5n8qw9ci67g5yjvq2nxh";
       type = "gem";
     };
-    version = "2.7.6";
+    version = "2.8.1";
   };
   ed25519 = {
     groups = ["default"];
@@ -843,10 +853,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l";
+      sha256 = "11bz1v1cxabm8672gabrw542zyg51dizlcvdck6vvwzagxbjv9zx";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.11.0";
   };
   et-orbi = {
     dependencies = ["tzinfo"];
@@ -874,10 +884,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rgbmk044akxa84z9vdl8lkmd9z4xy3na1w0vh12pz02drxd93j9";
+      sha256 = "0bxssmjp49whzq2zv7w751gr4nkdaiwcxd1vda0byigwyrnj6f5q";
       type = "gem";
     };
-    version = "2.28.0";
+    version = "2.30.0";
   };
   faker = {
     dependencies = ["i18n"];
@@ -885,10 +895,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "025lapimxw0db74gf2yd6zypqq1yvfblhk7wkd6h3r1szk7k8r8p";
+      sha256 = "1wslw5gh335zcahxmdd497xaa7h0d8l60c0jfv942mn47fxy8m47";
       type = "gem";
     };
-    version = "2.21.0";
+    version = "2.23.0";
   };
   faraday = {
     dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
@@ -1092,10 +1102,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16xki30md6bygc62yi2s1y002vq6dm3bhjcjb9pl5dpr3al3fa1j";
+      sha256 = "0g7m38n4f5cjqa4gf4fycw6fqvf6m5hhsx4jawryv3bi4hls07d1";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.7.1";
   };
   fuubar = {
     dependencies = ["rspec-core" "ruby-progressbar"];
@@ -1114,10 +1124,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nxak6q0m0nd3m5a7vp9xqww9w5fqx97viv5g6pg3q62q9binm0j";
+      sha256 = "0lqizfap12ica5c6q74ldarzmbpmhgl156bap9xhamrlm4za4i7a";
       type = "gem";
     };
-    version = "0.9.1";
+    version = "0.10.0";
   };
   globalid = {
     dependencies = ["activesupport"];
@@ -1202,16 +1212,6 @@
     };
     version = "0.3.0";
   };
-  html_tokenizer = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0dq6685sdzdn53mkzags6mvx3l0afcx6xma664zij6y3dxj2a7p8";
-      type = "gem";
-    };
-    version = "0.0.7";
-  };
   htmlentities = {
     groups = ["default"];
     platforms = [];
@@ -1228,10 +1228,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1akaq4wnnlbavb8rjg0vbxsg6nzbqwgkgklbmb07hix3pkp7xpxf";
+      sha256 = "0jn1y6sfxpfaq0hcblv8hhyxzam8n39kvypi07q2vxaimh6ly7mj";
       type = "gem";
     };
-    version = "5.0.4";
+    version = "5.1.0";
   };
   http-cookie = {
     dependencies = ["domain_name"];
@@ -1239,10 +1239,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19370bc97gsy2j4hanij246hv1ddc85hw0xjb6sj7n1ykqdlx9l9";
+      sha256 = "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   http-form_data = {
     groups = ["default"];
@@ -1280,10 +1280,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dr7cj8km01kjsiwrx7n3qxr264ga13ll15s4h9dbbyj5m8kxqd2";
+      sha256 = "0mi38zgpwvasjq0cqz674crwal5rsaw8f89bww9zsw2vk77bhaq9";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.6.0";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
@@ -1291,10 +1291,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
+      sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.12.0";
   };
   i18n-tasks = {
     dependencies = ["activesupport" "ast" "better_html" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"];
@@ -1302,10 +1302,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03frq52fad0qs2gy7769nywv7bnspxccbsv10akzgx7icfjsjldv";
+      sha256 = "19zkcsqwzc3i6vizj26mxxww6m5grv9zmp6yxyswbqq9kyzb081z";
       type = "gem";
     };
-    version = "1.0.10";
+    version = "1.0.12";
   };
   idn-ruby = {
     groups = ["default"];
@@ -1342,10 +1342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
+      sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.6.2";
   };
   json-canonicalization = {
     groups = ["default"];
@@ -1374,10 +1374,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08nll07gxgz2ys6i821nfbnsrx922d2yiqd5nd03785jjz1difbp";
+      sha256 = "1aq71is278w69brhg4yp0f4ldxmy2nyj45c1rfbf73qi945mrbln";
       type = "gem";
     };
-    version = "3.2.0";
+    version = "3.2.3";
   };
   json-ld-preloaded = {
     dependencies = ["json-ld" "rdf"];
@@ -1405,10 +1405,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14ynyq1q483spj20ffl4xayfqx1a8qr761mqjfxczf8lwlap392n";
+      sha256 = "1lsk71qh5d7bm1qqrjvcwhp4h71ckkdbzxnw4xkd9cin8gjfvvr6";
       type = "gem";
     };
-    version = "2.2.2";
+    version = "2.4.1";
   };
   kaminari = {
     dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
@@ -1535,10 +1535,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18ymp6l3bv7abz07k6qbbi9c9vsiahq30d2smh4qzsvag8j5m5v1";
+      sha256 = "1fpyk1965py77al7iadkn5dibwgvybknkr7r8bii2dj73wvr29rh";
       type = "gem";
     };
-    version = "2.18.0";
+    version = "2.19.0";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -1619,10 +1619,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "115bs94zqkgb248c7xafflpkv2vckpd0ykyfcfggj72kjpqyshyz";
+      sha256 = "094m75yw2cvadpvj4rawy6s4ykx9nvv8dhikxrp8zng2ywlaqmic";
       type = "gem";
     };
-    version = "4.3.1";
+    version = "4.4.1";
   };
   mime-types = {
     dependencies = ["mime-types-data"];
@@ -1670,20 +1670,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
+      sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30";
       type = "gem";
     };
-    version = "5.15.0";
+    version = "5.16.3";
   };
   msgpack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i0gbypr1yxwfkaxzrk0i1wz4n6v3mw7z24k65jy3q1h5lda5xbw";
+      sha256 = "02af38s49111wglqzcjcpa7bwg6psjgysrjvgk05h3x4zchb6gd5";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.5.4";
   };
   multi_json = {
     groups = ["default"];
@@ -1710,10 +1710,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j19yxrz7h3hj7kiiln13c7bz7hvpdqr31bwi88dj64zifr7896n";
+      sha256 = "1ycw0qsw3hap8svakl0i30jkj0ffd4lpyrn17a1j0w8mz5ainmsj";
       type = "gem";
     };
-    version = "0.17.0";
+    version = "0.17.1";
   };
   net-scp = {
     dependencies = ["net-ssh"];
@@ -1721,20 +1721,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b4h3ip8d1gkrc0znnw54hbxillk73mdnaf5pz330lmrcl1wiilg";
+      sha256 = "1q4kxfvx1v4awv8kgincishi7h16dj9sn74gz8x92i81668j1wgm";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "4.0.0.rc1";
   };
   net-ssh = {
     groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jp3jgcn8cij407xx9ldb5h9c6jv13jc4cf6kk2idclz43ww21c9";
+      sha256 = "1qp3i8bi7ji1np0530bp2p9zrrn6galvmbsivxwpkjdpjdyn19sr";
       type = "gem";
     };
-    version = "6.1.0";
+    version = "7.0.1";
   };
   nio4r = {
     groups = ["default"];
@@ -1752,10 +1752,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11w59ga9324yx6339dgsflz3dsqq2mky1qqdwcg6wi5s1bf2yldi";
+      sha256 = "0cam1455nmi3fzzpa9ixn2hsim10fbprmj62ajpd6d02mwdprwwn";
       type = "gem";
     };
-    version = "1.13.6";
+    version = "1.13.9";
   };
   nsa = {
     dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
@@ -1773,10 +1773,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bm8sdh7vz7ss3y21v961rd8nww23w5g4yhgvnd7jk331kdjyyzl";
+      sha256 = "0ihfnl0maszdq821h6mivr8xickjab6ccyncnm5rn2vgrj6imwxf";
       type = "gem";
     };
-    version = "3.13.11";
+    version = "3.13.21";
   };
   omniauth = {
     dependencies = ["hashie" "rack"];
@@ -1784,10 +1784,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "002vi9gwamkmhf0dsj2im1d47xw2n1jfhnzl18shxf3ampkqfmyz";
+      sha256 = "1jn9j54l5h7xcba2vjq74l1dk0xrwvsjxam4qhylpi52nw0h5502";
       type = "gem";
     };
-    version = "1.9.1";
+    version = "1.9.2";
   };
   omniauth-cas = {
     dependencies = ["addressable" "nokogiri" "omniauth"];
@@ -1838,20 +1838,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03wbynzkhay7l1x76srjkg91q48mxl575vrxb3blfxlpqwsvvp0w";
+      sha256 = "1azzx975qr078isvg8i0hmsr2l98kgnlfrnbb2jdm9b5kwifx1h4";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "3.0.0";
   };
   openssl-signature_algorithm = {
+    dependencies = ["openssl"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14d95jr5z6dgvpwf52p7ckjf3w3cihin2k6g9599711pfxdj4fp5";
+      sha256 = "0rwjga70kbg0rmwgksb2if34ndh9cy0fgrimkx3hjz9c68ssvpxg";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "1.2.1";
   };
   orm_adapter = {
     groups = ["default" "pam_authentication"];
@@ -1889,10 +1890,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xhfghgidj8cbdnqp01f7kvnrv1f60izpkd9dhxsvpdzkfsdg97d";
+      sha256 = "1q31n7yj59wka8xl8s5wkf66hm4pgvblx95czyxffprdnlhrir2p";
       type = "gem";
     };
-    version = "3.1.2.0";
+    version = "3.1.2.1";
   };
   parslet = {
     groups = ["default"];
@@ -1920,10 +1921,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10ryzmc3r5ja6g90a9ycsxcxsy5872xa1vf01jam0bm74zq3zmi6";
+      sha256 = "1ypj64nhq3grs9zh40vmyfyhmxlhljjsbg5q0jxhlxg5v76ij0mb";
       type = "gem";
     };
-    version = "1.3.5";
+    version = "1.4.3";
   };
   pghero = {
     dependencies = ["activerecord"];
@@ -1941,10 +1942,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rkxhps7fxzjhld68bpdaq8sss2k6fp14jz5kcqgrxp8x3yd15mk";
+      sha256 = "0v9vmkmpha34lwdhig08kb7z4wk3xmw49dvkl99nz9llxhzqr5hl";
       type = "gem";
     };
-    version = "1.4.7";
+    version = "1.4.9";
   };
   posix-spawn = {
     groups = ["default"];
@@ -1994,10 +1995,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iyw4q4an2wmk8v5rn2ghfy2jaz9vmw2nk8415nnpx2s866934qk";
+      sha256 = "0m445x8fwcjdyv2bc0glzss2nbm1ll51bq45knixapc7cl3dzdlr";
       type = "gem";
     };
-    version = "0.13.1";
+    version = "0.14.1";
   };
   pry-byebug = {
     dependencies = ["byebug" "pry"];
@@ -2005,10 +2006,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "096y5vmzpyy4x9h4ky4cs4y7d19vdq9vbwwrqafbh5gagzwhifiv";
+      sha256 = "1y41al94ks07166qbp2200yzyr5y60hm7xaiw4lxpgsm4b1pbyf8";
       type = "gem";
     };
-    version = "3.9.0";
+    version = "3.10.1";
   };
   pry-rails = {
     dependencies = ["pry"];
@@ -2026,10 +2027,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
+      sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
       type = "gem";
     };
-    version = "4.0.7";
+    version = "5.0.0";
   };
   puma = {
     dependencies = ["nio4r"];
@@ -2037,10 +2038,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dgr2rybayih2naz3658mbzqwfrg9fxl80zsvhscf6b972kp3jdw";
+      sha256 = "0qzq0c791kacv68hgk9zqsd1p7zx1y1rr9j10rn9yphibb8jj436";
       type = "gem";
     };
-    version = "5.6.4";
+    version = "5.6.5";
   };
   pundit = {
     dependencies = ["activesupport"];
@@ -2078,10 +2079,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
+      sha256 = "0axc6w0rs4yj0pksfll1hjgw1k6a5q0xi2lckh91knfb72v348pa";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.2.4";
   };
   rack-attack = {
     dependencies = ["rack"];
@@ -2133,10 +2134,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
+      sha256 = "0rjl709krgf499dhjdapg580l2qaj9d91pwzk8ck8fpnazlx1bdd";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "2.0.2";
   };
   rails = {
     dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
@@ -2144,10 +2145,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06wzq30c2f9jhsbkxwg9n18xwyh66fnpbndkrvq1c4mrl2rx478z";
+      sha256 = "01l06196jkidj07g8jdc43nr060r46hsjz8bk4bdk0lzzck94fvf";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2177,10 +2178,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09qrfi3pgllxb08r024lln9k0qzxs57v0slsj8616xf9c0cwnwbk";
+      sha256 = "1mj0b7ay10a2fgwj70kjw7mlyrp7a5la8lx8zmwhy40bkansdfrf";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.4.3";
   };
   rails-i18n = {
     dependencies = ["i18n" "railties"];
@@ -2210,10 +2211,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16dyjmy42v51acmx1ba2xxncvx368ss5rww6bsf1lwgyk4vqn41h";
+      sha256 = "1iwziqrzk7f7r3w5pkfnbh1mqsfsywy7lvz2blqds3nval79dw2x";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -2241,10 +2242,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15bb075k614pjiw4np29y1z2xl8qx9qgdi9rpaqa1hxcmbqaxkk5";
+      sha256 = "0799a5hqh7rjkqnbfb5cq62m2dx4zlnnag3xy1l4jyjywsk7v5kv";
       type = "gem";
     };
-    version = "3.2.3";
+    version = "3.2.9";
   };
   rdf-normalize = {
     dependencies = ["rdf"];
@@ -2257,6 +2258,16 @@
     };
     version = "0.5.0";
   };
+  redcarpet = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bvk8yyns5s1ls437z719y5sdv9fr8kfs8dmr6g8s761dv5n8zvi";
+      type = "gem";
+    };
+    version = "3.5.1";
+  };
   redis = {
     groups = ["default" "test"];
     platforms = [];
@@ -2273,20 +2284,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ndj4lcm8rw01078zr0249grsk93zbda8qsibdvlx69b5ijg1rzf";
+      sha256 = "04l61lpb3s2xkwj36l7b543lhciv19z514kxnmnbh5fg70grc8q9";
       type = "gem";
     };
-    version = "1.8.2";
+    version = "1.9.0";
   };
   regexp_parser = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01rmdc7ryjyajk3a4mdn68y4bvp3ly9xv610wia3291hsiqncrb6";
+      sha256 = "1rfd3q17p7q7pa67844q8b16ipy6ksh8mkzynpm1zldqbb9x4xm0";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.5.0";
   };
   request_store = {
     dependencies = ["rack"];
@@ -2346,10 +2357,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10sq4aknch9rzpy8af77rqxk8rr59d33slg1kwg9h7fw9f1spmjn";
+      sha256 = "0s97q1rqmw7rzsdr500hr4f2k6s24n8qk1klciz5q94zvdrygx3p";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.1.2";
   };
   rqrcode_core = {
     groups = ["default"];
@@ -2421,10 +2432,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xfk4pla77251n39zf4n792m1rhg5sn1kp63yvpvvysany34la03";
+      sha256 = "1c01iicvrjk6vv744jgh0y4kk9d0kg2rd2ihdyzvg5p06xm2fpzq";
       type = "gem";
     };
-    version = "3.11.0";
+    version = "3.11.1";
   };
   rspec_junit_formatter = {
     dependencies = ["rspec-core"];
@@ -2432,10 +2443,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jqh5v1kjisncfzf9z0hghkaiqab086rcgy21cy3djg828sm1bxk";
+      sha256 = "059bnq1gcwl9g93cqf13zpz38zk7jxaa43anzz06qkmfwrsfdpa0";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.6.0";
   };
   rubocop = {
     dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
@@ -2443,10 +2454,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k2wp9sxqpdyc12kp8qafls0yn44vq90zxd830s7y7rxp9xq3018";
+      sha256 = "088xzzq6vjsgi2cj9rnz2jlj5mghmgq1j250pn5zy8yqd39vxz71";
       type = "gem";
     };
-    version = "1.29.1";
+    version = "1.30.1";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2465,10 +2476,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14xagb3jbms5mlcf932kx1djn2q4k952d4xia75ll36vh7xf2fpp";
+      sha256 = "19x0d6jmryky5sx50qgsan1g0gxb7lcgrmfrwjsa5w6shcyvbp8c";
       type = "gem";
     };
-    version = "2.14.2";
+    version = "2.15.0";
   };
   ruby-progressbar = {
     groups = ["default" "development" "test"];
@@ -2507,10 +2518,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jvxcvsqhalndc1wh7zfdqfg78j5sx57vrgsh54pjsm1d73q79hc";
+      sha256 = "1as4yrb8y5lq49div8p3vqgwrrhdgwnvx4m73y3712nmnlpx6cws";
       type = "gem";
     };
-    version = "3.8.1";
+    version = "3.8.2";
   };
   safety_net_attestation = {
     dependencies = ["jwt"];
@@ -2545,16 +2556,6 @@
     };
     version = "1.6.0";
   };
-  securecompare = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ay65wba4i7bvfqyvf5i4r48q6g70s5m724diz9gdvdavscna36b";
-      type = "gem";
-    };
-    version = "1.0.0";
-  };
   semantic_range = {
     groups = ["default"];
     platforms = [];
@@ -2571,10 +2572,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b06kw7frd8hrb7373pvfd39qap00ykkvipgymgwxfjzrgz0ag0d";
+      sha256 = "0p2mj2jj5b9wqmpvkngx87lfr2qgwhqvwx38bmhl5aa29pc6z5kx";
       type = "gem";
     };
-    version = "6.4.2";
+    version = "6.5.7";
   };
   sidekiq-bulk = {
     dependencies = ["sidekiq"];
@@ -2593,10 +2594,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kn0zzpl778345a9pc3dfc7lkgr8h1gwajs6miylmyd9krkh0yfm";
+      sha256 = "0ij0m4m4zi3ffn1csdrj4g96l4vpqlsw3rrgjxda9yqsq4ylf624";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "4.0.3";
   };
   sidekiq-unique-jobs = {
     dependencies = ["brpoplpush-redis_script" "concurrent-ruby" "sidekiq" "thor"];
@@ -2604,10 +2605,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "170i40s7rsw66cplq2akia409vxnb8i34ypy99qpx0pxs8rp4c4d";
+      sha256 = "13s723wy8sh8x7ff1b1r0vxk6y6ygcjvpirjp0inl5824ds15s12";
       type = "gem";
     };
-    version = "7.1.22";
+    version = "7.1.27";
   };
   simple-navigation = {
     dependencies = ["activesupport"];
@@ -2615,10 +2616,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0izbisjc4ng77v79x6jv1z3a8fkpdb5isgjcrx60d8vl743x7hab";
+      sha256 = "1wc1rapwhqymcjfxmlgam4cvbyhnzfxada2damq88ij2p77pjz4q";
       type = "gem";
     };
-    version = "4.3.0";
+    version = "4.4.0";
   };
   simple_form = {
     dependencies = ["actionpack" "activemodel"];
@@ -2710,10 +2711,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19rnk17rz0lhf7l9awy0s7xxyw91ydcqxlx0576xvwyi79jh6a2m";
+      sha256 = "0v7nk5i3fa63h6clfr5vbr0y91v3kxkaxh6gbdx583pn982avdlc";
       type = "gem";
     };
-    version = "0.2.19";
+    version = "0.2.22";
   };
   statsd-ruby = {
     groups = ["default"];
@@ -2804,21 +2805,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
+      sha256 = "186nfbcsk0l4l86gvng1fw6jq6p6s7rc0caxr23b3pnbfb20y63v";
       type = "gem";
     };
-    version = "2.0.10";
+    version = "2.0.11";
   };
   tpm-key_attestation = {
-    dependencies = ["bindata" "openssl-signature_algorithm"];
+    dependencies = ["bindata" "openssl" "openssl-signature_algorithm"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kdqyanz211wmxjzfiz2wg17gj6p4431qvjr0i6sp3d6268sssg4";
+      sha256 = "0kyq8z36953snxksv2xmc71znw7zykzis5r23hx3k06dij71vxsy";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.11.0";
   };
   tty-color = {
     groups = ["default"];
@@ -2889,10 +2890,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
+      sha256 = "0rx114mpqnw2k4h98vc0rs0x0bmf0img84yh8mkkjkal07cjydf5";
       type = "gem";
     };
-    version = "2.0.4";
+    version = "2.0.5";
   };
   tzinfo-data = {
     dependencies = ["tzinfo"];
@@ -2900,10 +2901,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yvfyxz70r45j65763fzy0p5j8cxlhnpn1n5lcxj4is7hp8v5i23";
+      sha256 = "1lslg5vvhx6w0mkbf6gpqvr9h8pj84wc639vk7ix7bqk61wgfch9";
       type = "gem";
     };
-    version = "1.2022.1";
+    version = "1.2022.4";
   };
   unf = {
     dependencies = ["unf_ext"];
@@ -2921,30 +2922,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jmbimpnpjdzz8hlrppgl9spm99qh3qzbx0b81k3gkgwba8nk3yd";
+      sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch";
       type = "gem";
     };
-    version = "0.0.8";
+    version = "0.0.8.2";
   };
   unicode-display_width = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0csjm9shhfik0ci9mgimb7hf3xgh7nx45rkd9rzgdz6vkwr8rzxn";
+      sha256 = "0ra70s8prfacpqwj5v2mqn1rbfz6xds3n9nsr9cwzs3z2c0wm5j7";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.3.0";
   };
   uniform_notifier = {
     groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1614dqnky0f9f1znj0lih8i184vfps86md93dw0kxrg3af9gnqb4";
+      sha256 = "1dfvqixshwvm82b9qwdidvnkavdj7s0fbdbmyd4knkl6l3j9xcwr";
       type = "gem";
     };
-    version = "1.14.2";
+    version = "1.16.0";
   };
   validate_email = {
     dependencies = ["activemodel" "mail"];
@@ -2963,10 +2964,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bwj34rz7961rrl545f006m2jdz1nrc0m72gfqmnb41xwsvpagbk";
+      sha256 = "0lblym140w5n88ijyfgcvkxvpfj8m6z00rxxf2ckmmhk0x61dzkj";
       type = "gem";
     };
-    version = "1.0.13";
+    version = "1.0.15";
   };
   warden = {
     dependencies = ["rack"];
@@ -2980,15 +2981,15 @@
     version = "1.2.9";
   };
   webauthn = {
-    dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "securecompare" "tpm-key_attestation"];
+    dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "tpm-key_attestation"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jpr8b2lzhvfxv47yjvw0h8sqa9aah5bnharh686xqzyjz9a823q";
+      sha256 = "1gs21q8krknb3db4s87l7xhzihp46ldsf6ql6689g2j0489l6da1";
       type = "gem";
     };
-    version = "3.0.0.alpha1";
+    version = "2.5.2";
   };
   webfinger = {
     dependencies = ["activesupport" "httpclient"];
@@ -3007,10 +3008,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l8vh8p0g92cqcvv0ra3mblsa4nczh0rz8nbwbkc3g3yzbva85xk";
+      sha256 = "1myj44wvbbqvv18ragv3ihl0h61acgnfwrnj3lccdgp49bgmbjal";
       type = "gem";
     };
-    version = "3.14.0";
+    version = "3.18.1";
   };
   webpacker = {
     dependencies = ["activesupport" "rack-proxy" "railties" "semantic_range"];
@@ -3028,9 +3029,11 @@
     groups = ["default"];
     platforms = [];
     source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0gi7aircw2bizk08pihr9srncjy9x9iy0ymp1qgchni639k1k05s";
-      type = "gem";
+      fetchSubmodules = false;
+      rev = "f14a4d52e201128b1b00245d11b6de80d6cfdcd9";
+      sha256 = "1gz34809xwyaqprxmjdyvzsxc63rdnmxn8w44iqkhpi3dzmkacmp";
+      type = "git";
+      url = "https://github.com/ClearlyClaire/webpush.git";
     };
     version = "0.3.8";
   };
@@ -3070,10 +3073,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q7hr3qyn1hczv9fglqc2cbaax0fb37gjjr0y24x19mmp817csdn";
+      sha256 = "1dbbiy8xlcfvn9ais37xfb5rci4liwakkmxzbkp72wmvlgcrf339";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.1.3";
   };
   xpath = {
     dependencies = ["nokogiri"];
@@ -3091,10 +3094,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09bq7j2p6mkbxnsg71s253dm2463kg51xc7bmjcxgyblqbh4ln7m";
+      sha256 = "0xjdr2szxvn3zb1sb5l8nfd6k9jr3b4qqbbg1mj9grf68m3fxckc";
       type = "gem";
     };
-    version = "2.5.4";
+    version = "2.6.0";
   };
 }
 
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 151782e479fe0..8ab2543e47600 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.3";
-    sha256 = "1z0fgyvzz7nlbg2kaxsh53c4bq4y6n5f9r8lyfa7vzvz9nwrkqiq";
+    rev = "v4.0.2";
+    sha256 = "1szb11bss66yvh8750pzib3r0w1fm9h84sf5daqsnbm871hgzlw0";
   };
 in applyPatches {
   inherit src;
diff --git a/pkgs/servers/mastodon/version.nix b/pkgs/servers/mastodon/version.nix
index d23f68c28be8b..b79176c23c343 100644
--- a/pkgs/servers/mastodon/version.nix
+++ b/pkgs/servers/mastodon/version.nix
@@ -1 +1 @@
-"3.5.3"
+"4.0.2"
diff --git a/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix
index fcf123d6e1db3..fe1dc5f6b207c 100644
--- a/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix
+++ b/pkgs/servers/matrix-synapse/tools/rust-synapse-compress-state.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, python3, fetchFromGitHub, pkg-config, openssl }:
+{ lib, stdenv, rustPlatform, python3, fetchFromGitHub, pkg-config, openssl }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-synapse-compress-state";
@@ -22,6 +22,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ];
 
   meta = with lib; {
+    broken = stdenv.isDarwin;
     description = "A tool to compress some state in a Synapse instance's database";
     homepage = "https://github.com/matrix-org/rust-synapse-compress-state";
     license = licenses.asl20;
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index a6ae94bf74ac9..33ac32993f45a 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "9.2.4";
+  version = "9.2.5";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" ];
 
@@ -10,15 +10,15 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-kiKMyfwQi7rULTH+AVA0O+dBz4AvZcHVi9mWN4kOt5Y=";
+    sha256 = "sha256-9vMGC40iBl21cnKCrUosHQTf7tju1Nj2v4+yoX6jHwo=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-lNnL6ggSCpxRwp3+ZsjIXvgXrwOzzrULuxsrsu47wHs=";
+    sha256 = "sha256-DfmU3xMVZtWBHrgCbC+tTzDrFWLB2bfJE+fXSkmPgO8=";
   };
 
-  vendorSha256 = "sha256-2DO0eAKSJzavOKKHIl3beQhBhuARm7ccwwDODPByL4Y=";
+  vendorSha256 = "sha256-dPvXVMfTBeCEaxRH3mj0mqBWikE3tcEcQfOMFMfBD6o=";
 
   nativeBuildInputs = [ wire ];
 
diff --git a/pkgs/servers/monitoring/icinga2/default.nix b/pkgs/servers/monitoring/icinga2/default.nix
index 32d9ac270a1b0..1ffbe6004b8ce 100644
--- a/pkgs/servers/monitoring/icinga2/default.nix
+++ b/pkgs/servers/monitoring/icinga2/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icinga2${nameSuffix}";
-  version = "2.13.5";
+  version = "2.13.6";
 
   src = fetchFromGitHub {
     owner = "icinga";
     repo = "icinga2";
     rev = "v${version}";
-    sha256 = "sha256-XVA3VIGmj3mXfx2eIJ5X4hfjRrnZaAHYMPRyy9+9QGc=";
+    sha256 = "sha256-Zrq+pw1dZyKVxpbsXeEPU3hLqcaYj/0wqB9HmYXnd0Y=";
   };
 
   patches = [
diff --git a/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix b/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix
index 60027e1d02a91..47cf29f55fbe7 100644
--- a/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/artifactory-exporter.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "artifactory_exporter";
-  version = "1.9.4";
+  version = "1.9.5";
   rev = "v${version}";
 
   src = fetchFromGitHub {
     owner = "peimanja";
     repo = pname;
     rev = rev;
-    sha256 = "sha256-vrbuKWoKfDrgJEOYsncwJZ8lyAfanbV8jKQDVCZY2Sg=";
+    sha256 = "sha256-QUluuxuOgeq5CnpmVh5uDC4SEWD97JbQCHiYjYUs/nI=";
   };
 
-  vendorSha256 = "sha256-wKBSAZSE/lSUbkHkyBEkO0wvkrK6fKxXIjF6G+ILqHM=";
+  vendorSha256 = "sha256-5yzBKgjJCv4tgdBS6XmZUq1ebbka0LOuv6BARWO7kQg=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/servers/monitoring/prometheus/kea-exporter.nix b/pkgs/servers/monitoring/prometheus/kea-exporter.nix
index 5fe9c6baee704..003ea6c2af567 100644
--- a/pkgs/servers/monitoring/prometheus/kea-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/kea-exporter.nix
@@ -2,12 +2,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "kea-exporter";
-  version = "0.5.0";
+  version = "0.5.1";
   format = "pyproject";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    hash = "sha256-RSW1HStfPV7yiuLgGIuMjS3vPXz8P3vmtfw6tDHXp6o=";
+    hash = "sha256-rNGA5XEx9xVUP1SeDPgXcaqgDhgX6JFhRX9GM454P5A=";
   };
 
   nativeBuildInputs = with python3Packages; [
@@ -35,4 +35,3 @@ python3Packages.buildPythonApplication rec {
     maintainers = with maintainers; [ hexa ];
   };
 }
-
diff --git a/pkgs/servers/monitoring/prometheus/nats-exporter.nix b/pkgs/servers/monitoring/prometheus/nats-exporter.nix
index 4a7b3507730d8..e77921a6e2b24 100644
--- a/pkgs/servers/monitoring/prometheus/nats-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nats-exporter.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "prometheus-nats-exporter";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qUnlPGniqStU5jVg+5SR8aYO7BLo7+d+UWPPm13ov0I=";
+    sha256 = "sha256-+qMhHmsvlUWjDhmSXv2TytuOPmJcXdSGBd7c5PdE9xI=";
   };
 
   vendorSha256 = "sha256-hlC/s0pYhNHMv3i7Nmu4r6jnXGpc6raScv5dO32+tfQ=";
diff --git a/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix b/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix
index 45315a0f3d76a..21ccb8178c348 100644
--- a/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix
+++ b/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix
@@ -36,6 +36,7 @@ buildGoModule rec {
     description = "Export smartctl statistics for Prometheus";
     homepage = "https://github.com/prometheus-community/smartctl_exporter";
     license = licenses.lgpl3;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ hexa ];
   };
 }
diff --git a/pkgs/servers/mycorrhiza/default.nix b/pkgs/servers/mycorrhiza/default.nix
index bbe136eb94c85..342d7a3ec555d 100644
--- a/pkgs/servers/mycorrhiza/default.nix
+++ b/pkgs/servers/mycorrhiza/default.nix
@@ -4,13 +4,13 @@
 
 buildGoModule rec {
   pname = "mycorrhiza";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "bouncepaw";
     repo = "mycorrhiza";
     rev = "v${version}";
-    sha256 = "sha256-Fh3BZTDBLaus5ytnHzvknFMrKVssc6+d85mGHv6EmLo=";
+    sha256 = "sha256-zRDMfHjR1obagRItdlmO1fJnutMM8MqcKNc3ZjtuvnY=";
   };
 
   vendorSha256 = "sha256-Z6pQwUMMgHLMrRN4Fpu1QyG7WCHGWuvBc2UBTY6jncU=";
diff --git a/pkgs/servers/nats-server/default.nix b/pkgs/servers/nats-server/default.nix
index 8d2bca32dac04..52c26b780a20d 100644
--- a/pkgs/servers/nats-server/default.nix
+++ b/pkgs/servers/nats-server/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "nats-server";
-  version = "2.9.6";
+  version = "2.9.7";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HmjtMfSajz0vtbr48xSmY9/30u96Z6zyaTnMuSocIOg=";
+    sha256 = "sha256-HsVJ5F0vOWeJoIXwWQEiYDZdKVqUL5enH7LNEkC0DTM=";
   };
 
   vendorSha256 = "sha256-ASLy0rPuCSYGyy5Pw9fj559nxO4vPPagDKAe8wM29lo=";
diff --git a/pkgs/servers/nosql/surrealdb/default.nix b/pkgs/servers/nosql/surrealdb/default.nix
new file mode 100644
index 0000000000000..f6bca761f23f0
--- /dev/null
+++ b/pkgs/servers/nosql/surrealdb/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+, llvmPackages
+, rocksdb
+, testers
+, surrealdb
+, SystemConfiguration
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "surrealdb";
+  version = "1.0.0-beta.8";
+
+  src = fetchFromGitHub {
+    owner = "surrealdb";
+    repo = "surrealdb";
+    rev = "v${version}";
+    sha256 = "sha256-zFqHwZUpwqvuqmS18bhlpAswD5EycB3pnZwSuN5Q2G4=";
+  };
+
+  cargoSha256 = "sha256-vaAfOsbIdQXpx7v4onXY1J8ANKCccVRuWxdvX5+f2no=";
+
+  LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
+
+  ROCKSDB_INCLUDE_DIR = "${rocksdb}/include";
+  ROCKSDB_LIB_DIR = "${rocksdb}/lib";
+
+  nativeBuildInputs = [
+    pkg-config
+    # needed on top of LIBCLANG_PATH to compile rquickjs
+    llvmPackages.clang
+  ];
+
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ SystemConfiguration ];
+
+  passthru.tests.version = testers.testVersion {
+    package = surrealdb;
+    command = "surreal version";
+  };
+
+  meta = with lib; {
+    description = "A scalable, distributed, collaborative, document-graph database, for the realtime web";
+    homepage = "https://surrealdb.com/";
+    mainProgram = "surreal";
+    license = licenses.bsl11;
+    maintainers = with maintainers; [ sikmir happysalada ];
+  };
+}
diff --git a/pkgs/servers/peertube/default.nix b/pkgs/servers/peertube/default.nix
index 9ddad4fad1e89..ea41f6dda50d6 100644
--- a/pkgs/servers/peertube/default.nix
+++ b/pkgs/servers/peertube/default.nix
@@ -14,13 +14,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "peertube";
-  version = "4.3.0";
+  version = "4.3.1";
 
   src = fetchFromGitHub {
     owner = "Chocobozzz";
     repo = "PeerTube";
     rev = "v${version}";
-    hash = "sha256-1QpJtonn/mWGcTv2mSeGKAHwPAqOV6VBAYFZH1/jAH8=";
+    hash = "sha256-r3Bi7QLzDKo3/idEY7fYIxTJPULNvAS6hy19Hko2qHE=";
   };
 
   yarnOfflineCacheServer = fetchYarnDeps {
diff --git a/pkgs/servers/photoprism/default.nix b/pkgs/servers/photoprism/default.nix
index 4c5fb08c30dfb..678f30c372d06 100644
--- a/pkgs/servers/photoprism/default.nix
+++ b/pkgs/servers/photoprism/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, stdenv, fetchFromGitHub, fetchzip, darktable, rawtherapee, ffmpeg, libheif, exiftool, nixosTests, makeWrapper }:
+{ pkgs, lib, stdenv, fetchFromGitHub, fetchzip, darktable, rawtherapee, ffmpeg, libheif, exiftool, makeWrapper, testers }:
 
 let
   version = "221102-905925b4d";
@@ -74,7 +74,7 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
-  passthru.tests.photoprism = nixosTests.photoprism;
+  passthru.tests.version = testers.testVersion { package = pkgs.photoprism; };
 
   meta = with lib; {
     homepage = "https://photoprism.app";
diff --git a/pkgs/servers/photoprism/libtensorflow.nix b/pkgs/servers/photoprism/libtensorflow.nix
index 869f9fc8da1c0..e1c8f9338cc8b 100644
--- a/pkgs/servers/photoprism/libtensorflow.nix
+++ b/pkgs/servers/photoprism/libtensorflow.nix
@@ -15,12 +15,14 @@ stdenv.mkDerivation rec {
         aarch64-linux = "sha256-qnj4vhSWgrk8SIjzIH1/4waMxMsxMUvqdYZPaSaUJRk=";
       }.${system};
 
-      url = let
-        systemName = {
-          x86_64-linux = "amd64";
-          aarch64-linux = "arm64";
-        }.${system};
-      in "https://dl.photoprism.app/tensorflow/${systemName}/libtensorflow-${systemName}-${version}.tar.gz";
+      url =
+        let
+          systemName = {
+            x86_64-linux = "amd64";
+            aarch64-linux = "arm64";
+          }.${system};
+        in
+        "https://dl.photoprism.app/tensorflow/${systemName}/libtensorflow-${systemName}-${version}.tar.gz";
     })
     # Upstream tensorflow tarball (with .h's photoprism's tarball is missing)
     (fetchurl {
@@ -49,13 +51,15 @@ stdenv.mkDerivation rec {
   '';
 
   # Patch library to use our libc, libstdc++ and others
-  patchPhase = let
-    rpath = lib.makeLibraryPath [ stdenv.cc.libc stdenv.cc.cc.lib ];
-  in ''
-    chmod -R +w lib
-    patchelf --set-rpath "${rpath}:$out/lib" lib/libtensorflow.so
-    patchelf --set-rpath "${rpath}" lib/libtensorflow_framework.so
-  '';
+  patchPhase =
+    let
+      rpath = lib.makeLibraryPath [ stdenv.cc.libc stdenv.cc.cc.lib ];
+    in
+    ''
+      chmod -R +w lib
+      patchelf --set-rpath "${rpath}:$out/lib" lib/libtensorflow.so
+      patchelf --set-rpath "${rpath}" lib/libtensorflow_framework.so
+    '';
 
   buildPhase = ''
     # Write pkg-config file.
diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix
index f7fde43b75e95..9a7a96d6920f3 100644
--- a/pkgs/servers/prowlarr/default.nix
+++ b/pkgs/servers/prowlarr/default.nix
@@ -16,14 +16,14 @@ let
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-H0OTEaUD6NVzZT0OpPONRl+wuCdrFXbiY9yHqc6/9e0=";
-    arm64-linux_hash = "sha256-L7jTqC5IMB2pD3d71Uc/kDsfw5LVScJ97sjkq73XgVM=";
-    x64-osx_hash = "sha256-tFpfgRq7Xlh8uBoNBHb6aXBDzsa48JC8ge9XGdSvZaI=";
+    x64-linux_hash = "sha256-nzMMVsDwE5GRtqzzBVs04bXfCEbNmRiLeaohBG01NL0=";
+    arm64-linux_hash = "sha256-av979aV5LYWTsFajihwV0QzYbSwg1rac+q1NCnaU8K0=";
+    x64-osx_hash = "sha256-9oinpaetF0mphraGjAt3yeDsE+nz+59vxQG5ZTVLWXM=";
   }."${arch}-${os}_hash";
 
 in stdenv.mkDerivation rec {
   pname = "prowlarr";
-  version = "0.4.7.2016";
+  version = "0.4.9.2083";
 
   src = fetchurl {
     url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.develop.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 27c5282fe285d..4a76fd22c93cd 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -1,12 +1,12 @@
 { lib, stdenv
 , buildPackages
 , fetchurl
+, wafHook
 , pkg-config
 , bison
 , flex
 , perl
 , libxslt
-, heimdal
 , docbook_xsl
 , fixDarwinDylibNames
 , docbook_xml_dtd_45
@@ -20,9 +20,11 @@
 , gnutls
 , libunwind
 , systemd
+, samba
 , jansson
 , libtasn1
 , tdb
+, libxcrypt
 , cmocka
 , rpcsvc-proto
 , bash
@@ -45,11 +47,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "samba";
-  version = "4.17.2";
+  version = "4.17.3";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
-    hash = "sha256-5V3fTVF4+MhDFqv1PF7dezU5njt9hry4G3UmHIJ7s7g=";
+    hash = "sha256-XRxCDLMexhPHhvmFN/lZZZCB7ca+g3PmjocUCGiTjiY=";
   };
 
   outputs = [ "out" "dev" "man" ];
@@ -59,10 +61,12 @@ stdenv.mkDerivation rec {
     ./patch-source3__libads__kerberos_keytab.c.patch
     ./4.x-no-persistent-install-dynconfig.patch
     ./4.x-fix-makeflags-parsing.patch
+    ./build-find-pre-built-heimdal-build-tools-in-case-of-.patch
   ];
 
   nativeBuildInputs = [
     python3Packages.python
+    wafHook
     pkg-config
     bison
     flex
@@ -71,15 +75,17 @@ stdenv.mkDerivation rec {
     perl.pkgs.JSON
     libxslt
     buildPackages.stdenv.cc
-    heimdal
     docbook_xsl
     docbook_xml_dtd_45
     cmocka
     rpcsvc-proto
-  ] ++ optionals stdenv.isDarwin [
+  ] ++ optional (stdenv.buildPlatform != stdenv.hostPlatform) samba # asn1_compile/compile_et
+    ++ optionals stdenv.isDarwin [
     fixDarwinDylibNames
   ];
 
+  wafPath = "buildtools/bin/waf";
+
   buildInputs = [
     bash
     python3Packages.wrapPython
@@ -95,6 +101,7 @@ stdenv.mkDerivation rec {
     gnutls
     libtasn1
     tdb
+    libxcrypt
   ] ++ optionals stdenv.isLinux [ liburing systemd ]
     ++ optionals enableLDAP [ openldap.dev python3Packages.markdown ]
     ++ optional (enablePrinting && stdenv.isLinux) cups
@@ -118,9 +125,10 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     export PKGCONFIG="$PKG_CONFIG"
+    export PYTHONHASHSEED=1
   '';
 
-  configureFlags = [
+  wafConfigureFlags = [
     "--with-static-modules=NONE"
     "--with-shared-modules=ALL"
     "--enable-fhs"
@@ -153,6 +161,13 @@ stdenv.mkDerivation rec {
     export MAKEFLAGS="-j $NIX_BUILD_CORES"
   '';
 
+  # Save asn1_compile and compile_et so they are available to run on the build
+  # platform when cross-compiling
+  postInstall = optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
+    mkdir -p "$dev/bin"
+    cp bin/asn1_compile bin/compile_et "$dev/bin"
+  '';
+
   # Some libraries don't have /lib/samba in RPATH but need it.
   # Use find -type f -executable -exec echo {} \; -exec sh -c 'ldd {} | grep "not found"' \;
   # Looks like a bug in installer scripts.
diff --git a/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch b/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch
new file mode 100644
index 0000000000000..60b215b718f79
--- /dev/null
+++ b/pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch
@@ -0,0 +1,95 @@
+From 9287fcfc36ed9f2bb936ec2253244f60df80711f Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@nextrem.ch>
+Date: Wed, 22 Sep 2021 09:42:42 +0200
+Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded
+ heimdal
+
+This patch fixes the case of finding asn1_compile and compile_et for
+building embedded heimdal, by setting
+--bundled-libraries='!asn1_compile,!compile_et' as configure flags.
+
+The Heimdal build tools compile_et and asn1_compile are needed *only*
+if we use the embedded heimdal (otherwise we don't build heimdal and
+use headers that have been generated by those tools elsewhere).
+
+For cross-compilation with embedded heimdal, it is vital to use host build
+tools, and so asn1_compile and compile_et must be supplied and not
+built. One way of doing this would be to set the COMPILE_ET and
+ASN1_COMPILE env vars to the location of supplied binaries. Another way,
+which is more commonly used, is to exclude asn1_compile and compile_et
+from bundled packages via the switch
+-bundled-libraries='!asn1_compile,!compile_et'. When this is done,
+the build script searches the path for those tools and sets the
+ASN1_COMPILE and COMPILE_ET vars accordingly. (this is admittedly
+kind of a round-about way of doing things but this has become the
+de-facto standard amongst embedded distro builders).
+
+In commit 8061983d4882f3ba3f12da71443b035d7b672eec, this process of
+finding the binaris has been moved to be carried out only in the
+system heimdal case. As explained above, we only need these tools,
+and hence the check, in bundled mode.
+
+BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164
+
+Signed-off-by: Uri Simchoni <uri@samba.org>
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+[Bachp: rebased for version 4.15.0]
+
+# Conflicts:
+#	wscript_configure_system_heimdal
+---
+ wscript_configure_embedded_heimdal | 11 +++++++++++
+ wscript_configure_system_heimdal   | 11 -----------
+ 2 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal
+index 6066f2b39d7..e92cabad65f 100644
+--- a/wscript_configure_embedded_heimdal
++++ b/wscript_configure_embedded_heimdal
+@@ -6,3 +6,14 @@ if not conf.env['BISON']:
+ 
+ conf.define('USING_EMBEDDED_HEIMDAL', 1)
+ conf.RECURSE('third_party/heimdal_build')
++
++def check_system_heimdal_binary(name):
++    if conf.LIB_MAY_BE_BUNDLED(name):
++        return False
++    if not conf.find_program(name, var=name.upper()):
++        return False
++    conf.define('USING_SYSTEM_%s' % name.upper(), 1)
++    return True
++
++check_system_heimdal_binary("compile_et")
++check_system_heimdal_binary("asn1_compile")
+diff --git a/wscript_configure_system_heimdal b/wscript_configure_system_heimdal
+index 6033dad08dc..c0a9bb95e87 100644
+--- a/wscript_configure_system_heimdal
++++ b/wscript_configure_system_heimdal
+@@ -37,14 +37,6 @@ def check_system_heimdal_lib(name, functions='', headers='', onlyif=None):
+     conf.define('USING_SYSTEM_%s' % name.upper(), 1)
+     return True
+ 
+-def check_system_heimdal_binary(name):
+-    if conf.LIB_MAY_BE_BUNDLED(name):
+-        return False
+-    if not conf.find_program(name, var=name.upper()):
+-        return False
+-    conf.define('USING_SYSTEM_%s' % name.upper(), 1)
+-    return True
+-
+ check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h")
+ 
+ if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"):
+@@ -86,9 +78,6 @@ finally:
+ #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'):
+ #    conf.define('USING_SYSTEM_TOMMATH', 1)
+ 
+-check_system_heimdal_binary("compile_et")
+-check_system_heimdal_binary("asn1_compile")
+-
+ conf.env.KRB5_VENDOR = 'heimdal'
+ conf.define('USING_SYSTEM_KRB5', 1)
+ conf.define('USING_SYSTEM_HEIMDAL', 1)
+-- 
+2.37.3
+
diff --git a/pkgs/servers/search/meilisearch/default.nix b/pkgs/servers/search/meilisearch/default.nix
index d8db9f953d79f..0fa682ddc2863 100644
--- a/pkgs/servers/search/meilisearch/default.nix
+++ b/pkgs/servers/search/meilisearch/default.nix
@@ -8,7 +8,7 @@
 , nixosTests
 }:
 
-let version = "0.29.1";
+let version = "0.29.2";
 in
 rustPlatform.buildRustPackage {
   pname = "meilisearch";
@@ -17,9 +17,9 @@ rustPlatform.buildRustPackage {
     owner = "meilisearch";
     repo = "MeiliSearch";
     rev = "v${version}";
-    sha256 = "sha256-1zZqarUxaSlux2ndSnQ3qAs+if2MxN9FPuEAxDnVv28=";
+    sha256 = "sha256-ltfJUwz/QFwsXJzES0GVOaCXh7QbziuKMILQNvaCG+4=";
   };
-  cargoSha256 = "sha256-VhCpqCBQhr4GgHEUJ30KPGMbN3EqhdJRKr7/PGYQ3OY=";
+  cargoSha256 = "sha256-HrPve9x7dSQx/CTxV7t4+SUu4gRmVNRHIZj+2S3CbLQ=";
   # Default features include mini dashboard which downloads something from the internet.
   buildNoDefaultFeatures = true;
   buildInputs = lib.optionals stdenv.isDarwin [ Security DiskArbitration Foundation ];
diff --git a/pkgs/servers/sftpgo/default.nix b/pkgs/servers/sftpgo/default.nix
new file mode 100644
index 0000000000000..f59c0b6cc3cab
--- /dev/null
+++ b/pkgs/servers/sftpgo/default.nix
@@ -0,0 +1,52 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "sftpgo";
+  version = "2.4.0";
+
+  src = fetchFromGitHub {
+    owner = "drakkan";
+    repo = "sftpgo";
+    rev = "v${version}";
+    sha256 = "sha256-A4+YmChUPn+6P0rBuzYcABXyjXRZWY5KS1YcFZHCrYo=";
+  };
+
+  vendorHash = "sha256-kwluXCkbclrfRsrdqSxb5+TCBpVPZmDmrbpzR+yuQdQ=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/drakkan/sftpgo/v2/internal/version.commit=${src.rev}"
+    "-X github.com/drakkan/sftpgo/v2/internal/version.date=1970-01-01T00:00:00Z"
+  ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  doCheck = false;
+
+  subPackages = [ "." ];
+
+  postInstall = ''
+    $out/bin/sftpgo gen man
+    installManPage man/*.1
+
+    installShellCompletion --cmd sftpgo \
+      --bash <($out/bin/sftpgo gen completion bash) \
+      --zsh <($out/bin/sftpgo gen completion zsh) \
+      --fish <($out/bin/sftpgo gen completion fish)
+  '';
+
+  meta = {
+    homepage = "https://github.com/drakkan/sftpgo";
+    description = "Fully featured and highly configurable SFTP server";
+    longDescription = ''
+      Fully featured and highly configurable SFTP server
+      with optional HTTP/S, FTP/S and WebDAV support.
+      Several storage backends are supported:
+      local filesystem, encrypted local filesystem, S3 (compatible) Object Storage,
+      Google Cloud Storage, Azure Blob Storage, SFTP.
+    '';
+    license = lib.licenses.agpl3Only;
+    maintainers = with lib.maintainers; [ thenonameguy ];
+  };
+}
diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix
index 3aae7b2d25c19..e8db05548070f 100644
--- a/pkgs/servers/snappymail/default.nix
+++ b/pkgs/servers/snappymail/default.nix
@@ -2,11 +2,11 @@
 , dataPath ? "/var/lib/snappymail" }:
 stdenv.mkDerivation rec {
   pname = "snappymail";
-  version = "2.21.0";
+  version = "2.21.3";
 
   src = fetchurl {
     url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz";
-    sha256 = "sha256-rJRNSlzGPNRFsvloTatB0o9uumbp18I15L5G6ms47EM=";
+    sha256 = "sha256-lDtbbovgPuXOgNKkHN2EiDltgzSQCVNvN/Qw4FOUVwo=";
   };
 
   sourceRoot = "snappymail";
diff --git a/pkgs/servers/soft-serve/default.nix b/pkgs/servers/soft-serve/default.nix
index 3981f29e17513..9e0a9a96425eb 100644
--- a/pkgs/servers/soft-serve/default.nix
+++ b/pkgs/servers/soft-serve/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "soft-serve";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "soft-serve";
     rev = "v${version}";
-    sha256 = "sha256-X9Dym2AV2By7huPI1Ns0UWue3qRZcauroIv/UAePf/U=";
+    sha256 = "sha256-xlfAmAU9u4pI3q8EZm4c7BF/lPAHMjLYa/57VWq067M=";
   };
 
-  vendorSha256 = "sha256-FCTJJ5T2UCtpctd+ubL7ey24xtbdiw7Q2kRBdAVPtCI=";
+  vendorSha256 = "sha256-XSAMKR5WPG/6ix5T0e9jtHJXQ6HNkh7li+BDFyIhATQ=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/sql/postgresql/ext/pg_relusage.nix b/pkgs/servers/sql/postgresql/ext/pg_relusage.nix
new file mode 100644
index 0000000000000..043adf7250339
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/pg_relusage.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitHub, postgresql }:
+
+stdenv.mkDerivation rec {
+  pname = "pg_relusage";
+  version = "0.0.1";
+
+  buildInputs = [ postgresql ];
+
+  src = fetchFromGitHub {
+    owner  = "adept";
+    repo   = pname;
+    rev    = "refs/tags/${version}";
+    sha256 = "8hJNjQ9MaBk3J9a73l+yQMwMW/F2N8vr5PO2o+5GvYs=";
+  };
+
+  installPhase = ''
+    install -D -t $out/lib *.so
+    install -D -t $out/share/postgresql/extension *.sql
+    install -D -t $out/share/postgresql/extension *.control
+  '';
+
+  meta = with lib; {
+    description = "pg_relusage extension for PostgreSQL: discover and log the relations used in your statements";
+    homepage    = "https://github.com/adept/pg_relusage";
+    maintainers = with maintainers; [ thenonameguy ];
+    platforms   = postgresql.meta.platforms;
+    license     = licenses.postgresql;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/ext/pg_repack.nix b/pkgs/servers/sql/postgresql/ext/pg_repack.nix
index 83c3ac0796a71..d7991ebde4b64 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_repack.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_repack.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner  = "reorg";
     repo   = "pg_repack";
-    rev    = "f42c1bd707bd5d69a9eb33494133db2e47a2c05a"; # no release tag
-    sha256 = "sha256-pZjspnmPTXS/SbyLAd7vcoF01cbC6PnxZjuto4lUuQA=";
+    rev    = "ver_${version}";
+    sha256 = "sha256-Et8aMRzG7ez0uy9wG6qsg57/kPPZdUhb+/gFxW86D08=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
index 0650cf8a7b2a3..6ee0f55b2bc13 100644
--- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
+++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plpgsql_check";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Nxq4wpOWYt4oyoLxERWPhlEwWmLiDEk27EFyDtW/BfI=";
+    sha256 = "sha256-XluwevRw+cP0Tx8cr4ixTnX1rakj9zq98rclcrxfMKI=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index 8d0b46ebc3eaa..80065bde4ba16 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -62,6 +62,8 @@ self: super: {
 
     pg_partman = super.callPackage ./ext/pg_partman.nix { };
 
+    pg_relusage = super.callPackage ./ext/pg_relusage.nix { };
+
     pg_safeupdate = super.callPackage ./ext/pg_safeupdate.nix { };
 
     repmgr = super.callPackage ./ext/repmgr.nix { };
diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix
index f02b0f7e92e6f..eb145bccf0990 100644
--- a/pkgs/servers/tautulli/default.nix
+++ b/pkgs/servers/tautulli/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "Tautulli";
-  version = "2.10.4";
+  version = "2.10.5";
   format = "other";
 
   pythonPath = [ setuptools ];
@@ -12,7 +12,7 @@ buildPythonApplication rec {
     owner = "Tautulli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-G7rKPDozo5IyYOqfhoZcn1obASzJx8PpQt53CCmDZek=";
+    sha256 = "sha256-+lXiRM4D9tOE55guond9coFRC61X7CVPS2HjRDtqiII=";
   };
 
   installPhase = ''
@@ -48,6 +48,6 @@ buildPythonApplication rec {
     homepage = "https://tautulli.com/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ csingley ];
+    maintainers = with maintainers; [ csingley rhoriguchi ];
   };
 }
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 9abfa13c60311..5f064beaab9b6 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "2.9.4";
+  version = "2.9.5";
 
   # Archive with static assets for webui
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    sha256 = "sha256-tz4B9QgnExv8Je9o4T88WTFmOczQRrybBsdqKZ65f/g=";
+    sha256 = "sha256-o8SFR6xPh6oc6vr9xhSyOnkJTxFv142BovmvAURY3SY=";
     stripRoot = false;
   };
 
-  vendorSha256 = "sha256-olYsWMTaRwRnDPwy4ewKnks5d8p+vmPTQKaXZSlG8co=";
+  vendorSha256 = "sha256-/+cyh0hFPc+Mu1tmlLDU/v0w6N1czqLVDBbEJT907wE=";
 
   subPackages = [ "cmd/traefik" ];
 
diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix
index e5e616819ebb9..4fb04e73d9e5e 100644
--- a/pkgs/servers/web-apps/discourse/default.nix
+++ b/pkgs/servers/web-apps/discourse/default.nix
@@ -11,13 +11,13 @@
 }@args:
 
 let
-  version = "2.9.0.beta11";
+  version = "2.9.0.beta12";
 
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse";
     rev = "v${version}";
-    sha256 = "sha256-ejLVEfWHlropB/PDmU2iV5bqxFJrHqxgqCyfiw4scaU=";
+    sha256 = "sha256-gL3/+m8SyyOSdcQ0jXo/qEWm0rAvHrmKM3pm5Lm4354=";
   };
 
   runtimeDeps = [
@@ -165,7 +165,7 @@ let
 
     yarnOfflineCache = fetchYarnDeps {
       yarnLock = src + "/app/assets/javascripts/yarn.lock";
-      sha256 = "0zn2ikb4sgf1bg1hrybw4qg31xqrjz406bzdv5lpis308c1l08bp";
+      sha256 = "17va1k5r3v0hxpznm7qgmy8c0vicvyk28bn6cr5hqhjn3krzwf8b";
     };
 
     nativeBuildInputs = runtimeDeps ++ [
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
index 8b80f92e62c92..11faf4b2aeb76 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-assign";
-    rev = "ed1b344d32cedcd0d5141ff44a5b6842b4bd1927";
-    sha256 = "sha256-uPD/8nR8ymoYSSUiPJAmA0W2ljb+s7RSstUSZF9yPEs=";
+    rev = "1f2dfafcdebc153573e2e1a5bf32d7f63295b29a";
+    sha256 = "sha256-VggOirmGIl3ihegmblgqaP3dAVX66O1O5s9vgP2peH8=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
index 93fd2d75671ae..824803dfc0267 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-bbcode-color";
-    rev = "2fcb3a657582f6fcc2a9abf32db9afde31276ee8";
-    sha256 = "sha256-gM/EOAyY1rtlT3/9XR1+GGPjOg7cZj2jSx/1lFaL0bc=";
+    rev = "88ff27dc22198075f1ee8aba3f2b032187b73b9c";
+    sha256 = "sha256-MSwX4qEgrWMTNhF1UE6/GMvo/ZPvg8KZF3DvQutRBVY=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-bbcode-color";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
index 1fd9e3111d448..00b312b19601d 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
@@ -22,4 +22,4 @@ DEPENDENCIES
   rrule (= 0.4.4)
 
 BUNDLED WITH
-   2.3.23
+   2.3.24
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
index 151a141c952b3..1a16ee81cd3f9 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-calendar";
-    rev = "e0efb16264a07f74d1a66f1568cec2774b4b2fa8";
-    sha256 = "sha256-IJaa1JOJCOFvnBVK92autgDQCRACYkcJY8T38QQk2Oc=";
+    rev = "7adaec219f0c387bda7b474d66b3706c78c9be5a";
+    sha256 = "sha256-Uv+V8PVYlO80e6nCjOVF0J9XEUegemCc7kcwHWpbh2w=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-calendar";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
index 005981ed3e7be..529a41a0c0872 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-canned-replies";
-    rev = "6440ddecf2c94444257da5be911f39067dfb3be0";
-    sha256 = "sha256-VBsxpm6/xx5N6tzO9z+yE7tQcdXCPM8bV4HhF3JwXNc=";
+    rev = "ac2a315a0433d408cce7fdc5419beae865c4b655";
+    sha256 = "sha256-ARVV5fsrY6WV67975wPb4pU8Fjsm+Q+n2xuCcrgpfTI=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-canned-replies";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
index ba8284820b9ff..62c71b0da279c 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-chat-integration";
-    rev = "820d04d1b2f0c31fc16abf791b0af3a1036be84f";
-    sha256 = "sha256-2mIKTuWqx01vNpD9fEBN1UBAf0sXTKAijZNoVG7HBdA=";
+    rev = "01a37669114909b3ead34a1846a97713b3051dc7";
+    sha256 = "sha256-Y/SGLz3LPWfILwfFiO3Ag9JQMUOf0/RvWm5/Lk/cOsk=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-chat-integration";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
index 3fc0c89b42873..41bd34fe2d858 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-checklist";
-    rev = "4fb02010235b7d6e8d9a50b007fc42afb4a064bc";
-    sha256 = "sha256-Tzz9di8a6wJwyqb8G7z5K95YLqteNssZ8S/5nAOu84I=";
+    rev = "1954ec2b106586cbb72db2eb7b1fc9251c799e72";
+    sha256 = "sha256-dVRRnwTY+2tn5JNkn09iuoMBCE0NQdwDJIECzfqfm58=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-checklist";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
index 5c71ba5a84b94..e955222132b53 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-data-explorer";
-    rev = "bf1a79c9ad1c77e8ff2b86e1efea4e753bb4968d";
-    sha256 = "sha256-7K/fjfChOsTDHbFCJPWkulvcFT/+gxajkbJUmhxYeKM=";
+    rev = "41a5e0a27a06225c401cbbaa24f0f712f7bd7cf7";
+    sha256 = "sha256-m1EvNepl9JLoEeUaDXTBHz4G+DDCpdPNgAz+/Lcqn1Q=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-data-explorer";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
index a2c3993933a66..ba603f23c3104 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-docs";
-    rev = "c083f0140ae88702dce4988979d55a7f8e5cfe43";
-    sha256 = "sha256-MUIHAW/08UYlXUIK7M+IVzJS/HjP5pGeBgHra+9e+ZA=";
+    rev = "f1dd03f0bc283b86b6028b76ae0841a2a7f9c2a8";
+    sha256 = "sha256-Mp1nrmMa0IUE5avR+Q72eIqM7Erb2xid4PYRJWXrUhw=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
index 80965f09e6bb4..1c6bed3a0bb18 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
@@ -6,7 +6,7 @@ GEM
     faraday (2.6.0)
       faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
-    faraday-net_http (3.0.1)
+    faraday-net_http (3.0.2)
     octokit (5.6.1)
       faraday (>= 1, < 3)
       sawyer (~> 0.9)
@@ -24,4 +24,4 @@ DEPENDENCIES
   sawyer (= 0.9.2)
 
 BUNDLED WITH
-   2.3.23
+   2.3.24
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
index 32fac719fcd94..1e582b652e8c7 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-github";
-    rev = "6506360937c1d060e185bb06126334e36abc7c15";
-    sha256 = "sha256-3kS2wINiLX3hulVlHDnpsfW2wLFl025ffbIu+W67p8I=";
+    rev = "b064d4915ad11d768b11b61de0102b573cea5521";
+    sha256 = "sha256-Nf6X6pQYnjkxbwsT1A6Rhf0lUNZS8N10X1XoSa33PEU=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-github";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
index b7bd22ea52dad..6567b55721b99 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
@@ -26,10 +26,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13b717ddw90iaf4vijy06srmkvrfbzsnyjap93yll0nibad4dbxq";
+      sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.2";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
index 63f2d8aef3414..416e3aaa374e0 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-math";
-    rev = "594e746904a126e75aa2b440deb6c405f863861f";
-    sha256 = "sha256-S/3SKYMtTepPsjzsEIex3leZqfyVMOto1SetWtKhd1Q=";
+    rev = "b5d2a8a3ea302e0d8d43e1fcba5aa455e792475f";
+    sha256 = "sha256-VzvPX8u1ABhzgdsH+ytaCdEkge6dvMfDZ9EyCxfU25o=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-math";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
index c69c6911b56a7..cb915c44cd608 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-openid-connect";
-    rev = "0817bef63a17771da217c3f8b4db740157a06a3b";
-    sha256 = "sha256-uN03WhyY2v6OwOpy1aHPmBH6tMgmVcwQyVJZTVhaysA=";
+    rev = "61137588c59fb325d9c46db4b643acbaf113eb84";
+    sha256 = "sha256-w8/CxzFp+EUh3Kn65OO1BVNQdqPETdSq2WBvz5DoPQE=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-openid-connect";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
index 9b917de921454..9f0afd0a902be 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
@@ -10,4 +10,4 @@ DEPENDENCIES
   prometheus_exporter (= 0.5.0)
 
 BUNDLED WITH
-   2.3.23
+   2.3.24
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
index b22f5be0e7205..3934878d876ea 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
@@ -6,8 +6,8 @@
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-prometheus";
-    rev = "31ae7c3c4daab543c63cd74e20b07f440d36fece";
-    sha256 = "sha256-/wY/piUerXxQyhwqqqK4nWR9Qs6JAgEPIJ9Sw3yyDv0=";
+    rev = "78ea9363b34e5fc56ac42f120cf1ea44ba99da9b";
+    sha256 = "sha256-LeveJKNocK5Fm8JxIWp5dyspNrlE+117fmzq+HcGnLA=";
   };
 
   patches = [
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
index bd5c45cee9c69..e8b383dad2bc2 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-saved-searches";
-    rev = "d1df24c0f94d36f5184eb2d9354b86f821e96a90";
-    sha256 = "sha256-kAFGxhiIh4enZ8jyePgzHakA99RERbUCoXsxPsZQjNI=";
+    rev = "92a137a164dcfce75c854b7dc44a034595bec4f0";
+    sha256 = "sha256-DXmmQrgsEXvVHu/CnzfaECdJyNVm1CBpQXcEDlm27kI=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-saved-searches";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
index e2731d83a5136..47331c3088fa6 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-solved";
-    rev = "76daa65b11a6c3b0c7ed7bc3fb60cdec0d8b09a4";
-    sha256 = "sha256-q7RfaRFcvDUyz3mSO5bDZFGX7aAqzH978Ck812a627s=";
+    rev = "f3b7fbb914cb0b7714d0ad7f26f21aaf1ba14f73";
+    sha256 = "sha256-T7RHSk0ZP72E1hBoLwNLXX6rVOdy4JWQfj3aehbX1RM=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-solved";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
index 32d837913f0e7..49634345f5454 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-spoiler-alert";
-    rev = "636245b0e63dd53271ba55144edb20f48822b59f";
-    sha256 = "sha256-WTY9wvCAyWa3VgfRclOm9mkVgDxZBojgCvJqjTga90o=";
+    rev = "47d95b547269cb7e34c282fc1ccc1d240892edf2";
+    sha256 = "sha256-vrVkLmda28p5ynS0+x/2U3Hu1lS1cPIHwunA1YGZr4o=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-spoiler-alert";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
index 965efd7834361..49b1fb67c873f 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-voting";
-    rev = "f42dc208199f9a294f3493b1715eea7b6919ee74";
-    sha256 = "sha256-M6sh9xkutOR1pyu/Qz3w7olsGSQrQX3Ouk4cfhr5drA=";
+    rev = "bdcff78521dccce100906663e65eb5b6e103f99a";
+    sha256 = "sha256-J8jXBMcEZ8XUEqZtIg01Mi8JrLqls+ou+AQ1TORXMqU=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-voting";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
index efd6ae2805961..5343b1188201f 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-yearly-review";
-    rev = "bb1fcc7d3922390a9a4020c532fb1ac08a06959c";
-    sha256 = "sha256-VdH5ZKSzT0hD+kaNMpyXhehlNV+LVaNCE8asA3662WA=";
+    rev = "80003d8ee4f4e23b277f261edc68a71145f6086e";
+    sha256 = "sha256-bjhO7MiA9QOKh6gBcttBgla+wsznuG1SAIZlPZGmZaA=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-yearly-review";
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
index f1685e31cdd05..56ef8ebcea1e7 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
@@ -89,7 +89,7 @@ GEM
       activesupport (>= 3.0.0)
       uniform_notifier (~> 1.11)
     byebug (11.1.3)
-    capybara (3.37.1)
+    capybara (3.38.0)
       addressable
       matrix
       mini_mime (>= 0.1.3)
@@ -145,7 +145,7 @@ GEM
       sprockets (>= 3.3, < 4.1)
     ember-source (2.18.2)
     erubi (1.11.0)
-    excon (0.93.1)
+    excon (0.94.0)
     execjs (2.8.1)
     exifr (1.3.10)
     fabrication (2.30.0)
@@ -182,17 +182,17 @@ GEM
       image_size (>= 1.5, < 4)
       in_threads (~> 1.3)
       progress (~> 3.0, >= 3.0.1)
-    image_size (3.1.0)
+    image_size (3.2.0)
     in_threads (1.6.0)
     jmespath (1.6.1)
-    jquery-rails (4.5.0)
+    jquery-rails (4.5.1)
       rails-dom-testing (>= 1, < 3)
       railties (>= 4.2.0)
       thor (>= 0.14, < 2.0)
     json (2.6.2)
     json-schema (3.0.0)
       addressable (>= 2.8)
-    json_schemer (0.2.22)
+    json_schemer (0.2.23)
       ecma-re-validator (~> 0.3)
       hana (~> 1.3)
       regexp_parser (~> 2.0)
@@ -239,7 +239,8 @@ GEM
     mini_suffix (0.3.3)
       ffi (~> 1.9)
     minitest (5.16.3)
-    mocha (1.16.0)
+    mocha (2.0.2)
+      ruby2_keywords (>= 0.0.5)
     msgpack (1.6.0)
     multi_json (1.15.0)
     multi_xml (0.6.0)
@@ -306,7 +307,7 @@ GEM
       openssl (> 2.0, < 3.1)
     optimist (3.0.1)
     parallel (1.22.1)
-    parallel_tests (3.13.0)
+    parallel_tests (4.0.0)
       parallel
     parser (3.1.2.1)
       ast (~> 2.4.1)
@@ -328,7 +329,7 @@ GEM
     rack (2.2.4)
     rack-mini-profiler (3.0.0)
       rack (>= 1.2.0)
-    rack-protection (3.0.2)
+    rack-protection (3.0.3)
       rack
     rack-test (2.0.2)
       rack (>= 1.3)
@@ -370,7 +371,7 @@ GEM
       rack (>= 1.4)
     rexml (3.2.5)
     rinku (2.0.6)
-    rotp (6.2.0)
+    rotp (6.2.1)
     rqrcode (2.1.2)
       chunky_png (~> 1.0)
       rqrcode_core (~> 1.0)
@@ -406,7 +407,7 @@ GEM
       json-schema (>= 2.2, < 4.0)
       railties (>= 3.1, < 7.1)
       rspec-core (>= 2.14)
-    rubocop (1.37.1)
+    rubocop (1.38.0)
       json (~> 2.3)
       parallel (~> 1.10)
       parser (>= 3.1.2.1)
@@ -421,7 +422,7 @@ GEM
     rubocop-discourse (3.0)
       rubocop (>= 1.1.0)
       rubocop-rspec (>= 2.0.0)
-    rubocop-rspec (2.14.2)
+    rubocop-rspec (2.15.0)
       rubocop (~> 1.33)
     ruby-prof (1.4.3)
     ruby-progressbar (1.11.0)
@@ -442,7 +443,7 @@ GEM
       sprockets (> 3.0)
       sprockets-rails
       tilt
-    selenium-webdriver (4.5.0)
+    selenium-webdriver (4.6.1)
       childprocess (>= 0.5, < 5.0)
       rexml (~> 3.2, >= 3.2.5)
       rubyzip (>= 1.2.2, < 3.0)
@@ -506,7 +507,7 @@ GEM
     xpath (3.2.0)
       nokogiri (~> 1.8)
     yaml-lint (0.0.10)
-    zeitwerk (2.6.3)
+    zeitwerk (2.6.6)
 
 PLATFORMS
   ruby
@@ -649,4 +650,4 @@ DEPENDENCIES
   yaml-lint
 
 BUNDLED WITH
-   2.3.23
+   2.3.24
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
index c979db62e2e1b..0309d1a435108 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
@@ -298,10 +298,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05df76mfhfab6d7ir0qy5xf1ad6kqdh2p6vfqv7nhlx45k1y4ysg";
+      sha256 = "123198zk2ak8mziwa5jc3ckgpmsg08zn064n3aywnqm9s1bwjv3v";
       type = "gem";
     };
-    version = "3.37.1";
+    version = "3.38.0";
   };
   cbor = {
     groups = ["default"];
@@ -615,10 +615,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v71iii13cnlkck20xv0yrbz0g60qn88f4r6518k8vk31sddw4hx";
+      sha256 = "094kbi32i56p08348b95amg9dz5c9prn5jywhkcghsd3d6kll981";
       type = "gem";
     };
-    version = "0.93.1";
+    version = "0.94.0";
   };
   execjs = {
     groups = ["assets" "default"];
@@ -901,10 +901,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmzpgf5kj7gcjsjxhbhd8p4iw5clj4ljmckx59zndgwz02l7853";
+      sha256 = "10slvvyam8gkdjzlhb3wb21hp46ay18miyh1advwvyny660rmdsb";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.2.0";
   };
   in_threads = {
     groups = ["default"];
@@ -932,10 +932,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fdbln0w43n2b2kwhmm6w302iydgkd2hvw8pp0hnj0dykmy9vf54";
+      sha256 = "0rxfy6mk1yh8yjkk7gd1908f85dkc60xnfplwz7mi09f6j3f812p";
       type = "gem";
     };
-    version = "4.5.0";
+    version = "4.5.1";
   };
   json = {
     groups = ["default" "development" "test"];
@@ -964,10 +964,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09ji9ljkpfq38q1g16d60d9hb602rkkhnwzkj03479ss4w96c5rz";
+      sha256 = "1a5y4xh2w31plcx779jghbjgp1hf3wpwkdmcaa4na6ck8sknw4i2";
       type = "gem";
     };
-    version = "0.2.22";
+    version = "0.2.23";
   };
   jwt = {
     groups = ["default"];
@@ -1247,14 +1247,15 @@
     version = "5.16.3";
   };
   mocha = {
+    dependencies = ["ruby2_keywords"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "155asp0lxm7qbj3bvsg6zghzs127w4hd86djg8m3nkbksqrzxmpn";
+      sha256 = "03bgnshh84hrw6f1sdj5srxnz0z50m0a7i93fa28fkbm52c2a1lg";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "2.0.2";
   };
   msgpack = {
     groups = ["default"];
@@ -1547,10 +1548,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00c71f7hzgs58syyh6b5wwfhlxyhhg9h8sjkqxvxd1i8nlaa3m8x";
+      sha256 = "0xr8406nknbg2z561m3nkny51zkhpd02ng0fbjc9jaachp7ksz1y";
       type = "gem";
     };
-    version = "3.13.0";
+    version = "4.0.0";
   };
   parser = {
     dependencies = ["ast"];
@@ -1688,10 +1689,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jmixih0qrsdz60dhznkk29v50ks55cqq51jjf0yn3amqghh4bhk";
+      sha256 = "1sfk4i52yijcggkzkwj3z6k2iv9fdacmcgcid1c8xjcldh93fhpg";
       type = "gem";
     };
-    version = "3.0.2";
+    version = "3.0.3";
   };
   rack-test = {
     dependencies = ["rack"];
@@ -1908,10 +1909,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11q7rkjx40yi6lpylgl2jkpy162mjw7mswrcgcax86vgpbpjx6i3";
+      sha256 = "10fi6g1nn97cg2m2jmh9cwxcd90gd4hn7b71hdr3kh76c0rmpqp7";
       type = "gem";
     };
-    version = "6.2.0";
+    version = "6.2.1";
   };
   rqrcode = {
     dependencies = ["chunky_png" "rqrcode_core"];
@@ -2038,10 +2039,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xhm882zzs4z4ivknrymh6lgnd3p90b651dn0fp32dciajdxr9f1";
+      sha256 = "1fhyia6fw438ld83vz7vx37zynmzv042saf04ir43ga6sxk4m9k4";
       type = "gem";
     };
-    version = "1.37.1";
+    version = "1.38.0";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2071,10 +2072,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g8spxvms3mqrv5afj7rrqzxasncpz9y266jnpgj7z5gj76i7bkk";
+      sha256 = "0pj53m5zcrgyhb2zsjxqsav9sm9s8jh0mgk8c1qckaxy3dkwfxm4";
       type = "gem";
     };
-    version = "2.14.2";
+    version = "2.15.0";
   };
   ruby-prof = {
     groups = ["development"];
@@ -2170,10 +2171,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fp7h5bnlqp649imgpnshgf3mxl8zwnpsl1ak1giii81r0cd6in3";
+      sha256 = "1wj32kci0v4r7a5rdiq7yrf1763k2ap01dp09flr56hgnb75asx8";
       type = "gem";
     };
-    version = "4.5.0";
+    version = "4.6.1";
   };
   shoulda-matchers = {
     dependencies = ["activesupport"];
@@ -2514,9 +2515,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c381ngdj24ad6i1hvd8w052x6zry8qjyv0s4p6sl7cfj7yw0z6c";
+      sha256 = "09pqhdi6q4sqv0p1gnjpbcy4az0yv8hrpykjngdgh9qiqd87nfdv";
       type = "gem";
     };
-    version = "2.6.3";
+    version = "2.6.6";
   };
 }
diff --git a/pkgs/servers/web-apps/outline/default.nix b/pkgs/servers/web-apps/outline/default.nix
index 03f8a0e45b7b3..19cc2ee94cfd8 100644
--- a/pkgs/servers/web-apps/outline/default.nix
+++ b/pkgs/servers/web-apps/outline/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "outline";
-  version = "0.66.2";
+  version = "0.66.3";
 
   src = fetchFromGitHub {
     owner = "outline";
     repo = "outline";
     rev = "v${version}";
-    sha256 = "sha256-jRnw6UIUA3gAgyqQg6R1GOI4O8HXKnVfTH3d3SFBa9A=";
+    sha256 = "sha256-2o5rRVOd+dvJOzQFGuuA0PZmmK/wnItcNu8WX9WShQ8=";
   };
 
   nativeBuildInputs = [ makeWrapper yarn2nix-moretea.fixup_yarn_lock ];
diff --git a/pkgs/shells/fish/plugins/colored-man-pages.nix b/pkgs/shells/fish/plugins/colored-man-pages.nix
new file mode 100644
index 0000000000000..435ce6e5c410c
--- /dev/null
+++ b/pkgs/shells/fish/plugins/colored-man-pages.nix
@@ -0,0 +1,20 @@
+{ lib, buildFishPlugin, fetchFromGitHub }:
+
+buildFishPlugin rec {
+  pname = "colored-man-pages";
+  version = "unstable-2022-04-30";
+
+  src = fetchFromGitHub {
+    owner = "patrickf1";
+    repo = "colored_man_pages.fish";
+    rev = "f885c2507128b70d6c41b043070a8f399988bc7a";
+    sha256 = "0ifqdbaw09hd1ai0ykhxl8735fcsm0x2fwfzsk7my2z52ds60bwa";
+  };
+
+  meta = with lib; {
+    description = "Fish shell plugin to colorize man pages";
+    homepage = "https://github.com/PatrickF1/colored_man_pages.fish";
+    license = licenses.mit;
+    maintainers = [ maintainers.jocelynthode ];
+  };
+}
diff --git a/pkgs/shells/fish/plugins/default.nix b/pkgs/shells/fish/plugins/default.nix
index cb2d73dacc5a1..1c67ff8f4b3bd 100644
--- a/pkgs/shells/fish/plugins/default.nix
+++ b/pkgs/shells/fish/plugins/default.nix
@@ -6,6 +6,8 @@ lib.makeScope newScope (self: with self; {
 
   buildFishPlugin = callPackage ./build-fish-plugin.nix { };
 
+  colored-man-pages = callPackage ./colored-man-pages.nix { };
+
   clownfish = callPackage ./clownfish.nix { };
 
   bass = callPackage ./bass.nix { };
@@ -31,4 +33,7 @@ lib.makeScope newScope (self: with self; {
 
   pure = callPackage ./pure.nix { };
 
+  sponge = callPackage ./sponge.nix { };
+
+  tide = callPackage ./tide.nix { };
 })
diff --git a/pkgs/shells/fish/plugins/sponge.nix b/pkgs/shells/fish/plugins/sponge.nix
new file mode 100644
index 0000000000000..2afc3ec615854
--- /dev/null
+++ b/pkgs/shells/fish/plugins/sponge.nix
@@ -0,0 +1,20 @@
+{ lib, buildFishPlugin, fetchFromGitHub }:
+
+buildFishPlugin rec {
+  pname = "sponge";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "meaningful-ooo";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "sha256-MdcZUDRtNJdiyo2l9o5ma7nAX84xEJbGFhAVhK+Zm1w=";
+  };
+
+  meta = with lib; {
+    description = "keeps your fish shell history clean from typos, incorrectly used commands and everything you don't want to store due to privacy reasons";
+    homepage = "https://github.com/meaningful-ooo/sponge";
+    license = licenses.mit;
+    maintainers = with maintainers; [ quantenzitrone ];
+  };
+}
diff --git a/pkgs/shells/fish/plugins/tide.nix b/pkgs/shells/fish/plugins/tide.nix
new file mode 100644
index 0000000000000..5c844212006ad
--- /dev/null
+++ b/pkgs/shells/fish/plugins/tide.nix
@@ -0,0 +1,28 @@
+{ lib, buildFishPlugin, fetchFromGitHub }:
+
+# Due to a quirk in tide breaking wrapFish, we need to add additional commands in the config.fish
+# Refer to the following comment to get you setup: https://github.com/NixOS/nixpkgs/pull/201646#issuecomment-1320893716
+buildFishPlugin rec {
+  pname = "tide";
+  version = "5.5.1";
+
+  src = fetchFromGitHub {
+    owner = "IlanCosman";
+    repo = "tide";
+    rev = "v${version}";
+    sha256 = "sha256-vi4sYoI366FkIonXDlf/eE2Pyjq7E/kOKBrQS+LtE+M=";
+  };
+
+  #buildFishplugin will only move the .fish files, but tide has a tide configure function
+  postInstall = ''
+    cp -R functions/tide $out/share/fish/vendor_functions.d/
+  '';
+
+  meta = with lib; {
+    description = "The ultimate Fish prompt.";
+    homepage = "https://github.com/IlanCosman/tide";
+    license = licenses.mit;
+    maintainers = [ maintainers.jocelynthode ];
+  };
+}
+
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 78cbad190a6e3..510537aac9f39 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -209,7 +209,7 @@ else let
   dependencies = map (map lib.chooseDevOutputs) [
     [
       (map (drv: drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuild" depsBuildBuild))
-      (map (drv: drv.nativeDrv or drv) (checkDependencyList "nativeBuildInputs" nativeBuildInputs
+      (map (drv: drv.__spliced.buildHost or drv) (checkDependencyList "nativeBuildInputs" nativeBuildInputs
          ++ lib.optional separateDebugInfo' ../../build-support/setup-hooks/separate-debug-info.sh
          ++ lib.optional stdenv.hostPlatform.isWindows ../../build-support/setup-hooks/win-dll-link.sh
          ++ lib.optionals doCheck checkInputs
@@ -218,7 +218,7 @@ else let
     ]
     [
       (map (drv: drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHost" depsHostHost))
-      (map (drv: drv.crossDrv or drv) (checkDependencyList "buildInputs" buildInputs))
+      (map (drv: drv.__spliced.hostTarget or drv) (checkDependencyList "buildInputs" buildInputs))
     ]
     [
       (map (drv: drv.__spliced.targetTarget or drv) (checkDependencyList "depsTargetTarget" depsTargetTarget))
@@ -227,12 +227,12 @@ else let
   propagatedDependencies = map (map lib.chooseDevOutputs) [
     [
       (map (drv: drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuildPropagated" depsBuildBuildPropagated))
-      (map (drv: drv.nativeDrv or drv) (checkDependencyList "propagatedNativeBuildInputs" propagatedNativeBuildInputs))
+      (map (drv: drv.__spliced.buildHost or drv) (checkDependencyList "propagatedNativeBuildInputs" propagatedNativeBuildInputs))
       (map (drv: drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTargetPropagated" depsBuildTargetPropagated))
     ]
     [
       (map (drv: drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHostPropagated" depsHostHostPropagated))
-      (map (drv: drv.crossDrv or drv) (checkDependencyList "propagatedBuildInputs" propagatedBuildInputs))
+      (map (drv: drv.__spliced.hostTarget or drv) (checkDependencyList "propagatedBuildInputs" propagatedBuildInputs))
     ]
     [
       (map (drv: drv.__spliced.targetTarget or drv) (checkDependencyList "depsTargetTargetPropagated" depsTargetTargetPropagated))
diff --git a/pkgs/tools/admin/aws-sso-cli/default.nix b/pkgs/tools/admin/aws-sso-cli/default.nix
index 3700c6ee81e4b..c00593d71951a 100644
--- a/pkgs/tools/admin/aws-sso-cli/default.nix
+++ b/pkgs/tools/admin/aws-sso-cli/default.nix
@@ -6,13 +6,13 @@
 }:
 buildGoModule rec {
   pname = "aws-sso-cli";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "synfinatic";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xFAJrJSVf7wgJPUELCiwZVK0nBeOChuJBKROeJIRURc=";
+    sha256 = "sha256-voCFr5rb9VBSG926SeE2cMuk1gJskoaqjvkRY/9TZFU=";
   };
   vendorSha256 = "sha256-f0HrQzHK1JDWmRrnqG/N4X8TG0DP/IRWd6b7QR/vyzo=";
 
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 39d1577226ecb..1253531a3fcf8 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.118.0";
+  version = "0.119.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-YeAFJYJ+MLRGyL/T2qazS5/knSjMGs7hEZUcm40klxo=";
+    sha256 = "sha256-eW16B3VSxuqKVqhVmxtyTnm1wItJS5HZMW7a7DDiIVg=";
   };
 
-  vendorSha256 = "sha256-7gg/ujVlTLA7gWLBmQ2st24r5qsOsDefw8d4Z7L/VVc=";
+  vendorSha256 = "sha256-/WSc6Q/OBxPKuVrdmMczaKCZO7MvQXkzQ2Q1y43w3Hw=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/fits-cloudctl/default.nix b/pkgs/tools/admin/fits-cloudctl/default.nix
index 0fdc7d59bd758..0d2612ccd7e5e 100644
--- a/pkgs/tools/admin/fits-cloudctl/default.nix
+++ b/pkgs/tools/admin/fits-cloudctl/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "fits-cloudctl";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "fi-ts";
     repo = "cloudctl";
     rev = "v${version}";
-    sha256 = "sha256-QFmrBxNFzKrlvni2wbxM2tQP7z+QjLi9S7gqkVFWOmU=";
+    sha256 = "sha256-y3sgk3BDyfByWKIY4wG/Od4Q3OhmDuFhkKlTQHa3TdE=";
   };
 
-  vendorSha256 = "sha256-aH1WGL7crF9VXHgcVxR0K3dNkV/J0wcBKgS9103dPes=";
+  vendorSha256 = "sha256-xTO7mxui9ydwjF3hudX2i8dP2xpsGM2X0cqq0oaK0HE=";
 
   meta = with lib; {
     description = "Command-line client for FI-TS Finance Cloud Native services";
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index c15861ed69d48..348760fb3e887 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -32,14 +32,14 @@
 
 buildGoModule rec {
   pname = "lxd";
-  version = "5.7";
+  version = "5.8";
 
   src = fetchurl {
     urls = [
       "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz"
       "https://github.com/lxc/lxd/releases/download/lxd-${version}/lxd-${version}.tar.gz"
     ];
-    sha256 = "sha256-TZeF/VPrP4qRAVezJwQWtfypsxBJpnTrST0uDdw3WVI=";
+    sha256 = "sha256-mYyDYO8k4MVoNa8xfp1vH2nyuhNsDJ93s9F5hjaMftk=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
index 42daa857c1632..027e4eac013c4 100644
--- a/pkgs/tools/admin/pulumi/default.nix
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -14,16 +14,16 @@
 
 buildGoModule rec {
   pname = "pulumi";
-  version = "3.46.1";
+  version = "3.47.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-bEAggHGMhSSwEiYj+DdJRajR4DLunpidbd4DflkBrQ8=";
+    hash = "sha256-r0VPWVyyWGZ2v2yKKiJGJV+ah77zxFm7Zwm9yag3fxc=";
   };
 
-  vendorSha256 = "sha256-+JKCCNkByqWuvAv8qUL3L9DlDhvIbMsDbsfn3KYolUo=";
+  vendorSha256 = "sha256-eipxqX2m425FnPkf+ao/k1dYwDHDmJf+eS3S0sEiXkk=";
 
   sourceRoot = "source/pkg";
 
diff --git a/pkgs/tools/audio/isrcsubmit/default.nix b/pkgs/tools/audio/isrcsubmit/default.nix
index 530094b8506c6..fa01756f89825 100644
--- a/pkgs/tools/audio/isrcsubmit/default.nix
+++ b/pkgs/tools/audio/isrcsubmit/default.nix
@@ -15,7 +15,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     # drutil is required on Darwin, which does not seem to be available in nixpkgs
-    broken = stdenv.isDarwin;
+    broken = true; # 2022-11-16
     description = "Script to submit ISRCs from disc to MusicBrainz";
     license = licenses.gpl3Plus;
     homepage = "http://jonnyjd.github.io/musicbrainz-isrcsubmit/";
diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix
index 4e9148db9663c..9b3bce6f44cfa 100644
--- a/pkgs/tools/audio/tts/default.nix
+++ b/pkgs/tools/audio/tts/default.nix
@@ -32,14 +32,14 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "tts";
-  version = "0.8.0";
-  format = "setuptools";
+  version = "0.9.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = "TTS";
     rev = "v${version}";
-    sha256 = "sha256-A48L1JGXckSEaZra00ZOBVxcYJMvhpQqzE8nABaP0TY=";
+    sha256 = "sha256-p4I583Rs/4eig7cnOcJjri2ugOLAeF2nvPIvMZrN1Ss=";
   };
 
   postPatch = let
@@ -53,7 +53,6 @@ python.pkgs.buildPythonApplication rec {
       "numpy"
       "umap-learn"
       "unidic-lite"
-      "pyworld"
     ];
   in ''
     sed -r -i \
@@ -61,7 +60,6 @@ python.pkgs.buildPythonApplication rec {
         ''-e 's/${package}.*[<>=]+.*/${package}/g' \''
       ) relaxedConstraints)}
     requirements.txt
-    sed -i '/tensorboardX/d' requirements.txt
   '';
 
   nativeBuildInputs = with python.pkgs; [
@@ -71,27 +69,29 @@ python.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python.pkgs; [
     anyascii
     coqpit
-    coqui-trainer
     flask
     fsspec
+    g2pkk
     gdown
     gruut
     inflect
+    jamo
     jieba
     librosa
     matplotlib
     mecab-python3
+    nltk
     numba
     pandas
     pypinyin
     pysbd
-    pyworld
     scipy
     soundfile
     tensorflow
     torch-bin
     torchaudio-bin
     tqdm
+    trainer
     umap-learn
     unidic-lite
     webrtcvad
@@ -127,15 +127,17 @@ python.pkgs.buildPythonApplication rec {
 
   disabledTests = [
     # Requires network acccess to download models
-    "test_synthesize"
+    "test_korean_text_to_phonemes"
+    "test_models_offset_0_step_3"
+    "test_models_offset_1_step_3"
+    "test_models_offset_2_step_3"
     "test_run_all_models"
+    "test_synthesize"
+    "test_voice_conversion"
     # Mismatch between phonemes
     "test_text_to_ids_phonemes_with_eos_bos_and_blank"
     # Takes too long
     "test_parametrized_wavernn_dataset"
-
-    # requires network
-    "test_voice_conversion"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/tools/backup/mastodon-archive/default.nix b/pkgs/tools/backup/mastodon-archive/default.nix
index 10e500339ee09..88d05022d4376 100644
--- a/pkgs/tools/backup/mastodon-archive/default.nix
+++ b/pkgs/tools/backup/mastodon-archive/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mastodon-archive";
-  version = "1.3.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "kensanata";
     repo = "mastodon-backup";
     rev = "v${version}";
-    sha256 = "1dlrkygywxwm6xbn0pnfwd3f7641wnvxdyb5qihbsf62w1w08x8r";
+    hash = "sha256-b4bYQshz7mwxEfpRYV7ze4C8hz58R9cVp58wHvGFb0A=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/compression/zfp/default.nix b/pkgs/tools/compression/zfp/default.nix
index 0b337f6133665..1b943b3e41ab6 100644
--- a/pkgs/tools/compression/zfp/default.nix
+++ b/pkgs/tools/compression/zfp/default.nix
@@ -1,7 +1,6 @@
 { cmake, cudatoolkit, fetchFromGitHub, gfortran, lib, llvmPackages, python3Packages, stdenv, targetPlatform
 , enableCfp ? true
 , enableCuda ? false
-, enableExamples ? true
 , enableFortran ? builtins.elem targetPlatform.system gfortran.meta.platforms
 , enableOpenMP ? true
 , enablePython ? true
@@ -9,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zfp";
-  version = "0.5.5";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "LLNL";
     repo = "zfp";
     rev = version;
-    sha256 = "19ycflz35qsrzfcvxdyy0mgbykfghfi9y5v684jb4awjp7nf562c";
+    sha256 = "sha256-E2LI1rWo1HO5O/sxPHAmLDs3Z5xouzlgMj11rQFPNYQ=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -25,27 +24,24 @@ stdenv.mkDerivation rec {
     ++ lib.optional enableOpenMP llvmPackages.openmp
     ++ lib.optionals enablePython (with python3Packages; [ cython numpy python ]);
 
+  # compile CUDA code for all extant GPUs so the binary will work with any GPU
+  # and driver combination. to be ultimately solved upstream:
+  # https://github.com/LLNL/zfp/issues/178
+  # NB: not in cmakeFlags due to https://github.com/NixOS/nixpkgs/issues/114044
+  preConfigure = lib.optionalString enableCuda ''
+    cmakeFlagsArray+=(
+      "-DCMAKE_CUDA_FLAGS=-gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=sm_80 -gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_87,code=sm_87 -gencode=arch=compute_86,code=compute_86"
+    )
+  '';
+
   cmakeFlags = [
-    # More tests not enabled by default
-    ''-DZFP_BINARY_DIR=${placeholder "out"}''
-    ''-DZFP_BUILD_TESTING_LARGE=ON''
-  ]
-    ++ lib.optionals targetPlatform.isDarwin [
-      "-DCMAKE_INSTALL_BINDIR=bin"
-      "-DCMAKE_INSTALL_LIBDIR=lib"
-    ]
-    ++ lib.optional enableCfp "-DBUILD_CFP=ON"
+  ] ++ lib.optional enableCfp "-DBUILD_CFP=ON"
     ++ lib.optional enableCuda "-DZFP_WITH_CUDA=ON"
-    ++ lib.optional enableExamples "-DBUILD_EXAMPLES=ON"
     ++ lib.optional enableFortran "-DBUILD_ZFORP=ON"
     ++ lib.optional enableOpenMP "-DZFP_WITH_OPENMP=ON"
     ++ lib.optional enablePython "-DBUILD_ZFPY=ON"
     ++ ([ "-DBUILD_UTILITIES=${if enableUtilities then "ON" else "OFF"}" ]);
 
-  preCheck = lib.optional targetPlatform.isDarwin ''
-    export DYLD_LIBRARY_PATH="$out/lib:$DYLD_LIBRARY_PATH"
-  '';
-
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix
index 6db496242d244..d01ebce489c8c 100644
--- a/pkgs/tools/filesystems/fatsort/default.nix
+++ b/pkgs/tools/filesystems/fatsort/default.nix
@@ -1,4 +1,9 @@
-{lib, stdenv, fetchurl, help2man}:
+{ lib
+, stdenv
+, fetchurl
+, help2man
+, libiconv
+}:
 
 stdenv.mkDerivation rec {
   version = "1.6.4.625";
@@ -9,17 +14,28 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-mm+JoGQLt4LYL/I6eAyfCuw9++RoLAqO2hV+CBBkLq0=";
   };
 
-  patches = [ ./fatsort-Makefiles.patch ];
+  buildInputs = [ help2man ]
+    ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
-  buildInputs = [ help2man ];
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "LD=${stdenv.cc.targetPrefix}cc"
+  ];
 
-  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+  # make install target is broken (DESTDIR usage is insane)
+  # it's easier to just skip make and install manually
+  installPhase = ''
+    runHook preInstall
+    install -D -m 755 ./src/fatsort   $out/bin/fatsort
+    install -D -m 644 ./man/fatsort.1 $out/man/man1/fatsort.1
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "http://fatsort.sourceforge.net/";
     description = "Sorts FAT partition table, for devices that don't do sorting of files";
     maintainers = [ maintainers.kovirobi ];
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch b/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch
deleted file mode 100644
index 51775edfb41d1..0000000000000
--- a/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -uNr fatsort-1.6.2.605.orig/Makefile fatsort-1.6.2.605.new/Makefile
---- fatsort-1.6.2.605.orig/Makefile	2019-11-16 16:40:27.000000000 +0100
-+++ fatsort-1.6.2.605.new/Makefile	2020-05-10 21:34:34.820874026 +0200
-@@ -1,4 +1,5 @@
--MANDIR=/usr/local/share/man/man1
-+PREFIX?=/usr/local
-+MANDIR=$(PREFIX)/share/man/man1
- 
- INSTALL_FLAGS=-m 0755 -p -D
- 
-diff -uNr fatsort-1.6.2.605.orig/src/Makefile fatsort-1.6.2.605.new/src/Makefile
---- fatsort-1.6.2.605.orig/src/Makefile	2018-11-17 00:40:59.000000000 +0100
-+++ fatsort-1.6.2.605.new/src/Makefile	2020-05-10 21:33:52.053391027 +0200
-@@ -30,7 +30,7 @@
- 		override CFLAGS += -D __CYGWIN__
- 		override CFLAGS += -D __LINUX__
- 		override LDFLAGS += -liconv
--		SBINDIR=/usr/local/sbin
-+		SBINDIR=$(PREFIX)/sbin
- 	endif
- else
- 	ifdef MINGW
-@@ -60,9 +60,9 @@
- 			# OS X's install does not support the '-D' flag.
- 			INSTALL_FLAGS=-m 0755 -p
- 			# Mac OS X does not have a "/usr/local/sbin"
--			SBINDIR=/usr/local/bin
-+			SBINDIR=$(PREFIX)/bin
- 		else
--			SBINDIR=/usr/local/sbin
-+			SBINDIR=$(PREFIX)/sbin
- 		endif
- 	endif
- endif
diff --git a/pkgs/tools/games/jpsxdec/default.nix b/pkgs/tools/games/jpsxdec/default.nix
index 54d3e2a968c08..d749353abc511 100644
--- a/pkgs/tools/games/jpsxdec/default.nix
+++ b/pkgs/tools/games/jpsxdec/default.nix
@@ -14,7 +14,7 @@
 }:
 let
   pname = "jpsxdec";
-  version = "1.05";
+  version = "1.06";
 
   description = "Cross-platform PlayStation 1 audio and video converter";
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "m35";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wnfvvcyldf699b08lzlc0gshl7rn09a6q4i7jmr41izlcdszdbz";
+    sha256 = "sha256-6PLEvK4NP0/ipdygyDFFcWTIfch5y0Hren40+8iqYJs=";
   };
 
   nativeBuildInputs = [ ant jdk unoconv makeWrapper ];
diff --git a/pkgs/tools/graphics/feedgnuplot/default.nix b/pkgs/tools/graphics/feedgnuplot/default.nix
index a205f03f079c3..827481af497c1 100644
--- a/pkgs/tools/graphics/feedgnuplot/default.nix
+++ b/pkgs/tools/graphics/feedgnuplot/default.nix
@@ -1,6 +1,14 @@
-{ lib, fetchFromGitHub, makeWrapper
-, makeFontsConf, freefont_ttf, gnuplot, perl, perlPackages
-, stdenv, shortenPerlShebang
+{ lib
+, fetchFromGitHub
+, makeWrapper
+, makeFontsConf
+, freefont_ttf
+, gnuplot
+, perl
+, perlPackages
+, stdenv
+, shortenPerlShebang
+, installShellFiles
 }:
 
 let
@@ -11,18 +19,18 @@ in
 
 perlPackages.buildPerlPackage rec {
   pname = "feedgnuplot";
-  version = "1.58";
+  version = "1.61";
 
   src = fetchFromGitHub {
     owner = "dkogan";
     repo = "feedgnuplot";
     rev = "v${version}";
-    sha256 = "1qix4lwwyhqibz0a6q2rrb497rmk00v1fvmdyinj0dqmgjw155zr";
+    sha256 = "sha256-r5rszxr65lSozkUNaqfBn4I4XjLtvQ6T/BG366JXLRM=";
   };
 
   outputs = [ "out" ];
 
-  nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
+  nativeBuildInputs = [ makeWrapper installShellFiles ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
 
   buildInputs = [ gnuplot perl ]
     ++ (with perlPackages; [ ListMoreUtils IPCRun StringShellQuote ]);
@@ -43,10 +51,9 @@ perlPackages.buildPerlPackage rec {
     wrapProgram $out/bin/feedgnuplot \
         --prefix "PATH" ":" "$PATH" \
         --prefix "PERL5LIB" ":" "$PERL5LIB"
-    install -D -m 444 -t $out/share/bash-completion/completions \
-        completions/bash/feedgnuplot
-    install -D -m 444 -t $out/share/zsh/site-functions \
-        completions/zsh/_feedgnuplot
+
+    installShellCompletion --bash --name feedgnuplot.bash completions/bash/feedgnuplot
+    installShellCompletion --zsh completions/zsh/_feedgnuplot
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/graphics/timg/default.nix b/pkgs/tools/graphics/timg/default.nix
index a8d808bb63700..bbeb4dc8398fb 100644
--- a/pkgs/tools/graphics/timg/default.nix
+++ b/pkgs/tools/graphics/timg/default.nix
@@ -1,25 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, graphicsmagick, libjpeg
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, graphicsmagick, libjpeg
 , ffmpeg, zlib, libexif, openslide }:
 
 stdenv.mkDerivation rec {
   pname = "timg";
-  version = "1.4.4";
+  version = "1.4.5";
 
   src = fetchFromGitHub {
     owner = "hzeller";
     repo = "timg";
     rev = "v${version}";
-    sha256 = "1gdwg15fywya6k6pajkx86kv2d8k85pmisnq53b02br5i01y4k41";
+    sha256 = "sha256-YqcPTgStevUkl4grgaOLK8v1vbgFNgc7MfkMB07KDqo=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/hzeller/timg/commit/e9667ea2c811aa9eb399b631aef9bba0d3711834.patch";
-      sha256 = "sha256-xvbOcnKqX52wYZlzm4Be9dz8Rq+n3s2kKPFr0Y0igAU=";
-      name = "CVE-2022-43151.patch";
-    })
-  ];
-
   buildInputs = [ graphicsmagick ffmpeg libexif libjpeg openslide zlib ];
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/tools/inputmethods/lisgd/default.nix b/pkgs/tools/inputmethods/lisgd/default.nix
index 46db77695ef86..66ce5b04cd7f9 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.5";
+  version = "0.3.6";
 
   src = fetchFromSourcehut {
     owner = "~mil";
     repo = "lisgd";
     rev = version;
-    hash = "sha256-NnZhOQ/I7wbGlWkSXFXEV96UfG+GPMz1VSiEc9TwI6Y=";
+    hash = "sha256-VH+wZyVnfPqFxRwITU/LzkOAexFKm39LlcFxzhjRMdY=";
   };
 
   inherit patches;
diff --git a/pkgs/tools/misc/android-tools/android-tools-kernel-headers-6.0.diff b/pkgs/tools/misc/android-tools/android-tools-kernel-headers-6.0.diff
deleted file mode 100644
index 38c0c9f394911..0000000000000
--- a/pkgs/tools/misc/android-tools/android-tools-kernel-headers-6.0.diff
+++ /dev/null
@@ -1,82 +0,0 @@
-diff --git a/vendor/adb/client/usb_linux.cpp b/vendor/adb/client/usb_linux.cpp
-index 25a50bd..0d09c47 100644
---- a/vendor/adb/client/usb_linux.cpp
-+++ b/vendor/adb/client/usb_linux.cpp
-@@ -59,8 +59,15 @@ using namespace std::literals;
- #define DBGX(x...)
- 
- struct usb_handle {
-+    usb_handle() : urb_in(0), urb_out(0) {
-+      this->urb_in = new usbdevfs_urb;
-+      this->urb_out = new usbdevfs_urb;
-+    }
-+
-     ~usb_handle() {
-       if (fd != -1) unix_close(fd);
-+      delete urb_in;
-+      delete urb_out;
-     }
- 
-     std::string path;
-@@ -72,8 +79,8 @@ struct usb_handle {
-     unsigned zero_mask;
-     unsigned writeable = 1;
- 
--    usbdevfs_urb urb_in;
--    usbdevfs_urb urb_out;
-+    usbdevfs_urb *urb_in;
-+    usbdevfs_urb *urb_out;
- 
-     bool urb_in_busy = false;
-     bool urb_out_busy = false;
-@@ -304,7 +311,7 @@ static int usb_bulk_write(usb_handle* h, const void* data, int len) {
-     std::unique_lock<std::mutex> lock(h->mutex);
-     D("++ usb_bulk_write ++");
- 
--    usbdevfs_urb* urb = &h->urb_out;
-+    usbdevfs_urb* urb = h->urb_out;
-     memset(urb, 0, sizeof(*urb));
-     urb->type = USBDEVFS_URB_TYPE_BULK;
-     urb->endpoint = h->ep_out;
-@@ -343,7 +350,7 @@ static int usb_bulk_read(usb_handle* h, void* data, int len) {
-     std::unique_lock<std::mutex> lock(h->mutex);
-     D("++ usb_bulk_read ++");
- 
--    usbdevfs_urb* urb = &h->urb_in;
-+    usbdevfs_urb* urb = h->urb_in;
-     memset(urb, 0, sizeof(*urb));
-     urb->type = USBDEVFS_URB_TYPE_BULK;
-     urb->endpoint = h->ep_in;
-@@ -388,7 +395,7 @@ static int usb_bulk_read(usb_handle* h, void* data, int len) {
-         }
-         D("[ urb @%p status = %d, actual = %d ]", out, out->status, out->actual_length);
- 
--        if (out == &h->urb_in) {
-+        if (out == h->urb_in) {
-             D("[ reap urb - IN complete ]");
-             h->urb_in_busy = false;
-             if (urb->status != 0) {
-@@ -397,7 +404,7 @@ static int usb_bulk_read(usb_handle* h, void* data, int len) {
-             }
-             return urb->actual_length;
-         }
--        if (out == &h->urb_out) {
-+        if (out == h->urb_out) {
-             D("[ reap urb - OUT compelete ]");
-             h->urb_out_busy = false;
-             h->cv.notify_all();
-@@ -501,10 +508,10 @@ void usb_kick(usb_handle* h) {
-             ** but this ensures that a reader blocked on REAPURB
-             ** will get unblocked
-             */
--            ioctl(h->fd, USBDEVFS_DISCARDURB, &h->urb_in);
--            ioctl(h->fd, USBDEVFS_DISCARDURB, &h->urb_out);
--            h->urb_in.status = -ENODEV;
--            h->urb_out.status = -ENODEV;
-+            ioctl(h->fd, USBDEVFS_DISCARDURB, h->urb_in);
-+            ioctl(h->fd, USBDEVFS_DISCARDURB, h->urb_out);
-+            h->urb_in->status = -ENODEV;
-+            h->urb_out->status = -ENODEV;
-             h->urb_in_busy = false;
-             h->urb_out_busy = false;
-             h->cv.notify_all();
diff --git a/pkgs/tools/misc/android-tools/default.nix b/pkgs/tools/misc/android-tools/default.nix
index bb56d4fa9f8a6..79b1cf7521db7 100644
--- a/pkgs/tools/misc/android-tools/default.nix
+++ b/pkgs/tools/misc/android-tools/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, fetchpatch
-, cmake, perl, go, python3
+, cmake, pkg-config, perl, go, python3
 , protobuf, zlib, gtest, brotli, lz4, zstd, libusb1, pcre2
 }:
 
@@ -9,41 +9,28 @@ in
 
 stdenv.mkDerivation rec {
   pname = "android-tools";
-  version = "33.0.3";
+  version = "33.0.3p1";
 
   src = fetchurl {
     url = "https://github.com/nmeum/android-tools/releases/download/${version}/android-tools-${version}.tar.xz";
-    hash = "sha256-jOF02reB1d69Ke0PllciMfd3vuGbjvPBZ+M9PqdnC8U=";
+    hash = "sha256-viBHzyVgUWdK9a60u/7SdpiVEvgNEZHihkyRkGH5Ydg=";
   };
 
   patches = [
-    ./android-tools-kernel-headers-6.0.diff
+    (fetchpatch {
+      name = "add-macos-platform.patch";
+      url = "https://github.com/nmeum/android-tools/commit/a1ab35b31525966e0f0770047cd82accb36d025b.patch";
+      hash = "sha256-6O3ekDf0qPdzcfINFF8Ae4XOYgnQWTBhvu9SCFSHkXY=";
+    })
   ];
 
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    sed -i 's/usb_linux/usb_osx/g' vendor/CMakeLists.{adb,fastboot}.txt
-    sed -i 's/libselinux libsepol/ /g;s#selinux/libselinux/include##g' vendor/CMakeLists.{fastboot,mke2fs}.txt
-    sed -z -i 's/add_library(libselinux.*selinux\/libsepol\/include)//g' vendor/CMakeLists.fastboot.txt
-    sed -i 's/e2fsdroid//g' vendor/CMakeLists.txt
-    sed -z -i 's/add_executable(e2fsdroid.*e2fsprogs\/misc)//g' vendor/CMakeLists.mke2fs.txt
-  '';
-
-  nativeBuildInputs = [ cmake perl go ];
+  nativeBuildInputs = [ cmake pkg-config perl go ];
   buildInputs = [ protobuf zlib gtest brotli lz4 zstd libusb1 pcre2 ];
   propagatedBuildInputs = [ pythonEnv ];
 
   # Don't try to fetch any Go modules via the network:
   GOFLAGS = [ "-mod=vendor" ];
 
-  NIX_CFLAGS_COMPILE = lib.optionals stdenv.isDarwin [
-    "-D_DARWIN_C_SOURCE"
-  ];
-
-  NIX_LDFLAGS = lib.optionals stdenv.isDarwin [
-    "-framework CoreFoundation"
-    "-framework IOKit"
-  ];
-
   preConfigure = ''
     export GOCACHE=$TMPDIR/go-cache
   '';
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 82f656d22ee89..60d41cdf9c986 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.27.0";
+  version = "2.27.1";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-NOU4rSV4DRk+auvhKjI9tWWL5E3N3w4x9z0wRKjNznw=";
+    sha256 = "sha256-FyudjneWKbvXraytx+vpm58cJpULiAhgY77W6tEOaw0=";
   };
 
   vendorSha256 = "sha256-XY5D74fIgOCLtnUpQf+kGYARuAulhlQIG7G+GriDOSw=";
diff --git a/pkgs/tools/misc/edk2-uefi-shell/default.nix b/pkgs/tools/misc/edk2-uefi-shell/default.nix
index e3d73775021f2..d399c7dabc159 100644
--- a/pkgs/tools/misc/edk2-uefi-shell/default.nix
+++ b/pkgs/tools/misc/edk2-uefi-shell/default.nix
@@ -16,6 +16,10 @@ edk2.mkDerivation "ShellPkg/ShellPkg.dsc" (finalAttrs: {
 
   NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-fno-pic" "-Qunused-arguments" ];
 
+  # Set explicitly to use Python 3 from nixpkgs. Otherwise, the build system will detect and try to
+  # use `/usr/bin/python3` on Darwin when sandboxing is disabled.
+  PYTHON_COMMAND = "${lib.getBin python3}/bin/python3";
+
   # We only have a .efi file in $out which shouldn't be patched or stripped
   dontPatchELF = true;
   dontStrip = true;
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index d321ef6ae8919..aee0121977303 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.35.0";
+  version = "0.35.1";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Wa0mMsogVWCY1Z0+bVcS4k56vTCfJ3h+wFpT3P3iEjU=";
+    sha256 = "sha256-Zn//z66apkhUd2RvLZSV8PqmocQdVmPngfyK4jmWsfs=";
   };
 
   vendorSha256 = "sha256-EjcOcrADHdwTCGimv2BRvbjqSZxz4isWhGmPbWQ7YDE=";
diff --git a/pkgs/tools/misc/gh-dash/default.nix b/pkgs/tools/misc/gh-dash/default.nix
index a06237b33a7d9..1bd0fcc29812a 100644
--- a/pkgs/tools/misc/gh-dash/default.nix
+++ b/pkgs/tools/misc/gh-dash/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gh-dash";
-  version = "3.4.2";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "dlvhdr";
     repo = "gh-dash";
     rev = "v${version}";
-    sha256 = "sha256-MiVscWYq2Y9EaupSYbTA9bsToLoIVhHCNE2Kj0GpkPw=";
+    sha256 = "sha256-MGdo145qdm/uOiVJfuxy1vblgJjPGQWf3i58xpAWIkQ=";
   };
 
-  vendorSha256 = "sha256-BbrHvphTQLvUKanmO4GrNpkT0MSlY7+WMJiyXV7dFB8=";
+  vendorSha256 = "sha256-66GxD48fCWUWMyZ3GiivWNtz0mgI4JHMcvNwHGFTRfU=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/tools/misc/gitlint/default.nix b/pkgs/tools/misc/gitlint/default.nix
index c32171585969a..626739864c713 100644
--- a/pkgs/tools/misc/gitlint/default.nix
+++ b/pkgs/tools/misc/gitlint/default.nix
@@ -7,13 +7,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gitlint";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "jorisroovers";
     repo = "gitlint";
     rev = "v${version}";
-    sha256 = "sha256-RXBMb43BBiJ23X0eKC1kqgLw8iFKJnP5iejY0AWcUrU=";
+    sha256 = "sha256-MmXzrooN+C9MUaAz4+IEGkGJWHbgvPMSLHgssM0wyN8=";
   };
 
   # Upstream splitted the project into gitlint and gitlint-core to
diff --git a/pkgs/tools/misc/krapslog/default.nix b/pkgs/tools/misc/krapslog/default.nix
index 4d6b3e016b435..02e783fa1e099 100644
--- a/pkgs/tools/misc/krapslog/default.nix
+++ b/pkgs/tools/misc/krapslog/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "krapslog";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "acj";
     repo = "krapslog-rs";
     rev = version;
-    sha256 = "sha256-MzO6fcBlrGeZoflyFXPVIdQ+y/GkQz3yEeEbXLoDZQY=";
+    sha256 = "sha256-P/MxIehxj+FE5hvWge7Q2EwL57ObV8ibRZtmko0mphY=";
   };
 
-  cargoSha256 = "sha256-r5UGCEMAEVIdVeBPsgBf/CMYtBPS03Joje4sNQ8XfFA=";
+  cargoSha256 = "sha256-dQDfL5yN2ufFpQCXZ5Il0Qzhb/d7FETCVJg3DOMJPWQ=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/tools/misc/mmctl/default.nix b/pkgs/tools/misc/mmctl/default.nix
index cecfc9fcc13b9..459cc0d90a5d0 100644
--- a/pkgs/tools/misc/mmctl/default.nix
+++ b/pkgs/tools/misc/mmctl/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "mmctl";
-  version = "7.4.0";
+  version = "7.5.1";
 
   src = fetchFromGitHub {
     owner = "mattermost";
     repo = "mmctl";
     rev = "v${version}";
-    sha256 = "sha256-pMKyvma1ZUgjo2AZOKrne7+7LijJxS9Df4SZalJpnzY=";
+    sha256 = "sha256-pNO0FBL1NM4SoKPEjUETeQ/hwdhJj5XpUIXJJ0mfH5M=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/misc/moar/default.nix b/pkgs/tools/misc/moar/default.nix
new file mode 100644
index 0000000000000..bea127acb008f
--- /dev/null
+++ b/pkgs/tools/misc/moar/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "moar";
+  version = "1.10.0";
+
+  src = fetchFromGitHub {
+    owner = "walles";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-cFXUspVSCUy0q5CW8K+YL/LBpK87qlPys8hg6AYvg5M=";
+  };
+
+  vendorSha256 = "sha256-RfkY66879Us0UudplMzW8xEC1zs+2OXwyB+nBim3I0I=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installManPage ./moar.1
+  '';
+
+  meta = with lib; {
+    description = "Nice-to-use pager for humans";
+    homepage = "https://github.com/walles/moar";
+    license = licenses.bsd2WithViews;
+    maintainers = with maintainers; [ foo-dogsquared ];
+  };
+}
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index 4844e81079a67..b8b5d93c38130 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ncdu";
-  version = "2.1.2";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "https://dev.yorhel.nl/download/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ng1u8DYYo8MWcmv0khe37+Rc7HWLLJF86JLe10Myxtw=";
+    sha256 = "sha256-Xkr49rzYz3rY/T15ANqxMgdFoEUxAenjdPmnf3Ku0UE=";
   };
 
   XDG_CACHE_HOME="Cache"; # FIXME This should be set in stdenv
diff --git a/pkgs/tools/misc/nncp/default.nix b/pkgs/tools/misc/nncp/default.nix
index 497910cd809d7..d7dcc901666d5 100644
--- a/pkgs/tools/misc/nncp/default.nix
+++ b/pkgs/tools/misc/nncp/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nncp";
-  version = "8.8.1";
+  version = "8.8.2";
   outputs = [ "out" "doc" "info" ];
 
   src = fetchurl {
     url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz";
-    sha256 = "426463C97211AD88DF74DDDF61BDBB830BAE275668B2F23158D43146517469A6";
+    sha256 = "02B98DC4654C46328A043209CD2DA28BF33A53BAF15574429C6C0747AE2FCF39";
   };
 
   nativeBuildInputs = [ go redo-apenwarr ];
diff --git a/pkgs/tools/misc/onefetch/default.nix b/pkgs/tools/misc/onefetch/default.nix
index 1792dd588f0eb..8311290feb848 100644
--- a/pkgs/tools/misc/onefetch/default.nix
+++ b/pkgs/tools/misc/onefetch/default.nix
@@ -2,6 +2,7 @@
 , rustPlatform
 , fetchFromGitHub
 , cmake
+, installShellFiles
 , pkg-config
 , zstd
 , stdenv
@@ -29,7 +30,7 @@ rustPlatform.buildRustPackage rec {
     ./zstd-pkg-config.patch
   ];
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [ cmake installShellFiles pkg-config ];
 
   buildInputs = [ zstd ]
     ++ lib.optionals stdenv.isDarwin [ CoreFoundation libresolv Security ];
@@ -40,11 +41,19 @@ rustPlatform.buildRustPackage rec {
 
   preCheck = ''
     git init
+    git config user.name nixbld
     git config user.email nixbld@example.com
     git add .
     git commit -m test
   '';
 
+  postInstall = ''
+    installShellCompletion --cmd onefetch \
+      --bash <($out/bin/onefetch --generate bash) \
+      --fish <($out/bin/onefetch --generate fish) \
+      --zsh <($out/bin/onefetch --generate zsh)
+  '';
+
   meta = with lib; {
     description = "Git repository summary on your terminal";
     homepage = "https://github.com/o2sh/onefetch";
diff --git a/pkgs/tools/misc/renameutils/default.nix b/pkgs/tools/misc/renameutils/default.nix
index 2dff399cc9a47..1b6c70a2773d2 100644
--- a/pkgs/tools/misc/renameutils/default.nix
+++ b/pkgs/tools/misc/renameutils/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, readline}:
+{lib, stdenv, fetchurl, readline, coreutils }:
 
 stdenv.mkDerivation rec {
   pname = "renameutils";
@@ -11,8 +11,23 @@ stdenv.mkDerivation rec {
 
   patches = [ ./install-exec.patch ];
 
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/apply.c \
+      --replace "command = \"mv\"" "command = \"${coreutils}/bin/mv\"" \
+      --replace "command = \"cp\"" "command = \"${coreutils}/bin/cp\""
+    substituteInPlace src/icmd.c \
+      --replace "#define MV_COMMAND \"mv\"" "#define MV_COMMAND \"${coreutils}/bin/mv\"" \
+      --replace "#define CP_COMMAND \"cp\"" "#define CP_COMMAND \"${coreutils}/bin/cp\""
+    substituteInPlace src/qcmd.c \
+      --replace "ls_program = xstrdup(\"ls\")" "ls_program = xstrdup(\"${coreutils}/bin/ls\")"
+  '';
+
   nativeBuildInputs = [ readline ];
 
+  preConfigure = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
+    export ac_cv_func_lstat64=no
+  '';
+
   meta = {
     homepage = "https://www.nongnu.org/renameutils/";
     description = "A set of programs to make renaming of files faster";
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 0602f9d19d83d..73837f0ef644f 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -8,6 +8,7 @@
 , pkg-config
 , withSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isStatic, systemd
 , utf8proc
+, withUtempter ? stdenv.isLinux && !stdenv.hostPlatform.isMusl, libutempter
 }:
 
 let
@@ -44,12 +45,14 @@ stdenv.mkDerivation rec {
     ncurses
     libevent
   ] ++ lib.optionals withSystemd [ systemd ]
-  ++ lib.optionals stdenv.isDarwin [ utf8proc ];
+  ++ lib.optionals stdenv.isDarwin [ utf8proc ]
+  ++ lib.optionals withUtempter [ libutempter ];
 
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
   ] ++ lib.optionals withSystemd [ "--enable-systemd" ]
+  ++ lib.optionals withUtempter [ "--enable-utempter" ]
   ++ lib.optionals stdenv.isDarwin [ "--enable-utf8proc" ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/misc/tremor-rs/ls.nix b/pkgs/tools/misc/tremor-rs/ls.nix
new file mode 100644
index 0000000000000..90fe5686f8145
--- /dev/null
+++ b/pkgs/tools/misc/tremor-rs/ls.nix
@@ -0,0 +1,29 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, llvmPackages
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "tremor-language-server";
+  version = "0.12.4";
+
+  src = fetchFromGitHub {
+    owner = "tremor-rs";
+    repo = "tremor-language-server";
+    rev = "v${version}";
+    sha256 = "sha256-odYhpb3FkbIF1dc2DSpz3Lg+r39lhDKml9KGmbqJAtA=";
+  };
+
+  LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
+
+  cargoSha256 = "sha256-/RKwmslhMm30QxviVV7HthDHSmTmaGZn1hdt6bNF3d4=";
+
+  meta = with lib; {
+    description = "Tremor Language Server (Trill)";
+    homepage = "https://www.tremor.rs/docs/next/getting-started/tooling";
+    license = licenses.asl20;
+    platforms = platforms.x86_64;
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/tools/networking/bore-cli/default.nix b/pkgs/tools/networking/bore-cli/default.nix
index ae39bfb6204fd..9dfab71710bf9 100644
--- a/pkgs/tools/networking/bore-cli/default.nix
+++ b/pkgs/tools/networking/bore-cli/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bore-cli";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "ekzhang";
     repo = "bore";
     rev = "v${version}";
-    hash = "sha256-ywdJH39OYLaM4st/DIcvvtIUzExpbAucMMpqouJL1yI=";
+    hash = "sha256-h5Xwsr61h52zb5HNPySKVjfYW96Fff7nwZUAL6vK9ko=";
   };
 
-  cargoSha256 = "sha256-ZnEVTFiPo3AFyo1BoV88X2nCqYzRK6PkcbawiR+QnV0=";
+  cargoSha256 = "sha256-QyaQM8z5v0LgskkmZ/8ekZwxNrt8sq91BbnjvIqa2nI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     Security
diff --git a/pkgs/tools/networking/checkip/default.nix b/pkgs/tools/networking/checkip/default.nix
index 6ebfa55d7f4e7..dff7dee6d445e 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.42.1";
+  version = "0.43.0";
 
   src = fetchFromGitHub {
     owner = "jreisinger";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gsb7Ah+WYD1voWYLyCqPZq0K8/6gXHaOqJlRloKlNy8=";
+    sha256 = "sha256-KeHITGUf0/sSYwMmwIxh9195KZiMVLb8IXI7SxeOz6A=";
   };
 
   vendorSha256 = "sha256-bFhSMjm9rqUUbCV9keeXm+yhzQMKrYKs1DbCt53J8aM=";
diff --git a/pkgs/tools/networking/inadyn/default.nix b/pkgs/tools/networking/inadyn/default.nix
index 3d5a54c41f5c1..c0bcb5fd0a2d5 100644
--- a/pkgs/tools/networking/inadyn/default.nix
+++ b/pkgs/tools/networking/inadyn/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "inadyn";
-  version = "2.9.1";
+  version = "2.10.0";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "inadyn";
     rev = "v${version}";
-    sha256 = "sha256-mHqy/cBw+pwJwzMzAmqIQcLkpc87dtYD11TMRXeWdUg=";
+    sha256 = "sha256-PgG9ElIbJCr607ZrQcmuUcOwr8FSQW+cDytvaNLALnQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/networking/ipcalc/default.nix b/pkgs/tools/networking/ipcalc/default.nix
index a29c426b2893b..fa3070eb31e51 100644
--- a/pkgs/tools/networking/ipcalc/default.nix
+++ b/pkgs/tools/networking/ipcalc/default.nix
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
     hash = "sha256-UQq5TqK83I44ANU0yXD8YUTQWvBFLiAxmLSRtKUJ5WE=";
   };
 
+  patches = [
+    # disable tests which fail in NixOS sandbox (trying to access the network)
+    ./sandbox_tests.patch
+  ];
+
   # technically not needed as we do not support the paid maxmind databases, but
   # keep it around if someone wants to add support and /usr/share/GeoIP is
   # broken anyway
diff --git a/pkgs/tools/networking/ipcalc/sandbox_tests.patch b/pkgs/tools/networking/ipcalc/sandbox_tests.patch
new file mode 100644
index 0000000000000..d0a246843589f
--- /dev/null
+++ b/pkgs/tools/networking/ipcalc/sandbox_tests.patch
@@ -0,0 +1,59 @@
+diff --git a/tests/meson.build b/tests/meson.build
+index 536c169..0ce23f1 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -64,54 +64,6 @@ test('RandomIPv6Explicit',
+ 		ipcalc.full_path() + ' -6 -r 24' + '|grep Address'
+ 	]
+ )
+-test('HostnameIPv6Localhost',
+-	testrunner,
+-	args : [
+-		'--test-outfile',
+-		ipcalc.full_path() + ' -6 -o localhost',
+-		files('hostname-localhost-ipv6')
+-	]
+-)
+-test('HostnameIPv4Localhost',
+-	testrunner,
+-	args : [
+-		'--test-outfile',
+-		ipcalc.full_path() + ' -4 -o localhost',
+-		files('hostname-localhost-ipv4')
+-	]
+-)
+-test('HostnameIPv4LocalhostJson',
+-	testrunner,
+-	args : [
+-		'--test-outfile',
+-		ipcalc.full_path() + ' -j -4 -o localhost',
+-		files('hostname-localhost-ipv4-json')
+-	]
+-)
+-test('IPIPv6Localhost',
+-	testrunner,
+-	args : [
+-		'--test-outfile',
+-		ipcalc.full_path() + ' -h ::1',
+-		files('ip-localhost-ipv6')
+-	]
+-)
+-test('IPIPv4Localhost',
+-	testrunner,
+-	args : [
+-		'--test-outfile',
+-		ipcalc.full_path() + ' -h 127.0.0.1',
+-		files('ip-localhost-ipv4')
+-	]
+-)
+-test('IPIPv4LocalhostJson',
+-	testrunner,
+-	args : [
+-		'--test-outfile',
+-		ipcalc.full_path() + ' -j -h 127.0.0.1',
+-		files('ip-localhost-ipv4-json')
+-	]
+-)
+ # --class-prefix tests
+ test('AssignClassPrefix12',
+ 	testrunner,
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index bea16b809d198..45ef93462aeed 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
   patches = [
     ./ssh_path.patch
     ./mosh-client_path.patch
-    ./utempter_path.patch
     # Fix build with bash-completion 2.10
     ./bash_completion_datadir.patch
   ];
diff --git a/pkgs/tools/networking/mosh/utempter_path.patch b/pkgs/tools/networking/mosh/utempter_path.patch
deleted file mode 100644
index a981708ffadf2..0000000000000
--- a/pkgs/tools/networking/mosh/utempter_path.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ur mosh-1.3.2/src/frontend/mosh-server.cc mosh-1.3.2.patched/src/frontend/mosh-server.cc
---- mosh-1.3.2/src/frontend/mosh-server.cc	2017-07-22 23:14:53.000000000 +0200
-+++ mosh-1.3.2.patched/src/frontend/mosh-server.cc	2018-06-06 10:45:50.725352804 +0200
-@@ -351,6 +351,10 @@
-     }
-   }
- 
-+#ifdef HAVE_UTEMPTER
-+    utempter_set_helper( "utempter" );
-+#endif
-+
-   try {
-     return run_server( desired_ip, desired_port, command_path, command_argv, colors, verbose, with_motd );
-   } catch ( const Network::NetworkException &e ) {
diff --git a/pkgs/tools/networking/netbird/default.nix b/pkgs/tools/networking/netbird/default.nix
index a9a56f2911e35..7cc169173004f 100644
--- a/pkgs/tools/networking/netbird/default.nix
+++ b/pkgs/tools/networking/netbird/default.nix
@@ -14,16 +14,16 @@ let
 in
 buildGoModule rec {
   pname = "netbird";
-  version = "0.10.7";
+  version = "0.10.9";
 
   src = fetchFromGitHub {
     owner = "netbirdio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KxayfMtLRLJfeSU8MXigOA02jBKBP6COFDI2iZeOrA8=";
+    sha256 = "sha256-i9vbzb/FKaT8Aqqqb8Nlb24Mdu8epPprOiGlt1ER39I=";
   };
 
-  vendorSha256 = "sha256-owksab5MgRomiBp5p48VILJj+CmgCLDkB1sOHRNA3uQ=";
+  vendorSha256 = "sha256-c4LyIEyFNseFuHIGZanzIYSBkDtV0XtEvohAkRCBDbo=";
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;
 
diff --git a/pkgs/tools/networking/pritunl-client/default.nix b/pkgs/tools/networking/pritunl-client/default.nix
index bd9431bc0f701..9e183814572b6 100644
--- a/pkgs/tools/networking/pritunl-client/default.nix
+++ b/pkgs/tools/networking/pritunl-client/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pritunl-client";
-  version = "1.3.3329.81";
+  version = "1.3.3343.50";
 
   src = fetchFromGitHub {
     owner = "pritunl";
     repo = "pritunl-client-electron";
     rev = version;
-    sha256 = "sha256-1V3mWnA418duWDBYqr8QqigWVvx1oNw0NAn+gFaxpsE=";
+    sha256 = "sha256-xooTPJFtCIIQG8cibfqxGDTIzF2vjvmo8zteVNiHsGQ=";
   };
 
   modRoot = "cli";
diff --git a/pkgs/tools/networking/redli/default.nix b/pkgs/tools/networking/redli/default.nix
index 449f15fb1eb9e..48df540616422 100644
--- a/pkgs/tools/networking/redli/default.nix
+++ b/pkgs/tools/networking/redli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "redli";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "IBM-Cloud";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nLauKt3OnFZFnFjw0s2kTFdvdYjFkeA6eQwZEhT4n/s=";
+    sha256 = "sha256-AeIGlRsUWK6q0GJJFmvJwpuGy312VPsMhkxMqDDzay4=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
index 1cf81ab8263f8..88c87eabe195b 100644
--- a/pkgs/tools/networking/subfinder/default.nix
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "subfinder";
-  version = "2.5.4";
+  version = "2.5.5";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-I8VC/fwcDXqdT7U1WrptqVWufCLbk+3Zc2iXsBj6Fno=";
+    sha256 = "sha256-Wc/cm3vePIXBCcInsLZ3n/QV/3qHmGGrPr6coUqJPpE=";
   };
 
-  vendorSha256 = "sha256-3K2jZRJksY/rzRiFjgU06fkXpySkJI0JTTGvvEDwS6s=";
+  vendorSha256 = "sha256-uynfhwCR13UZR/Bk/oPwMuifLGn33qVPEyrpOSgeafY=";
 
   modRoot = "./v2";
 
diff --git a/pkgs/tools/networking/xdp-tools/default.nix b/pkgs/tools/networking/xdp-tools/default.nix
index 4861347e38fe7..e126cfc7a778f 100644
--- a/pkgs/tools/networking/xdp-tools/default.nix
+++ b/pkgs/tools/networking/xdp-tools/default.nix
@@ -15,25 +15,17 @@
 }:
 stdenv.mkDerivation rec {
   pname = "xdp-tools";
-  version = "1.2.6";
+  version = "1.2.8";
 
   src = fetchFromGitHub {
     owner = "xdp-project";
     repo = "xdp-tools";
     rev = "v${version}";
-    sha256 = "xKxR20Jz+pGKzazFoZe0i0pv7AuaxdL8Yt3IE4JAje8=";
+    sha256 = "7QYlC0YBQsXH2VxjgBbmTgEvp83lXloTLCHY2fTrZuQ=";
   };
 
   outputs = [ "out" "lib" ];
 
-  patches = [
-    (fetchpatch {
-      # Compat with libbpf 1.0: https://github.com/xdp-project/xdp-tools/pull/221
-      url = "https://github.com/xdp-project/xdp-tools/commit/f8592d0609807f5b2b73d27eb3bd623da4bd1997.diff";
-      sha256 = "+NpR0d5YE1TMFeyidBuXCDkcBTa2W0094nqYiEWKpY4=";
-    })
-  ];
-
   buildInputs = [
     libbpf
     elfutils
@@ -74,7 +66,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/xdp-project/xdp-tools";
     description = "Library and utilities for use with XDP";
     license = with licenses; [ gpl2 lgpl21 bsd2 ];
-    maintainers = with maintainers; [ tirex vcunat ];
+    maintainers = with maintainers; [ tirex vcunat vifino ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index 11a192bbd3183..c38f32fc997c1 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "2.22.0";
+  version = "2.22.1";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Qb4jzn1UM/0B4ryk3cPVuhqVtJML+Vv5KtebBjirSuI=";
+    sha256 = "sha256-BdPY1DzF2zunhEp7Z13X3jOxhTPHHUejAe7HZSoexYk=";
   };
 
   vendorSha256 = "sha256-fvSA0BQQKhXxyNu0/ilNcMmTBtLm/piA4rJu6p5+8GU=";
diff --git a/pkgs/tools/security/cariddi/default.nix b/pkgs/tools/security/cariddi/default.nix
index cbfcb598f8aad..4936b23af3cc4 100644
--- a/pkgs/tools/security/cariddi/default.nix
+++ b/pkgs/tools/security/cariddi/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "cariddi";
-  version = "1.1.9";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "edoardottt";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OW6AdT2sF85WrICHiYMBLRT1lUQSgNNsXvCCs4xQceE=";
+    sha256 = "sha256-8Z2iswjl85rsIhHMAGD3kYJanBWToWBVidglWMg7omw=";
   };
 
   vendorSha256 = "sha256-mXzI3NF1afMvQ4STPpbehoarfOT35P01IotXPVYNnio=";
diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix
index b8d0baf5a55dc..761c91ed46e12 100644
--- a/pkgs/tools/security/ccid/default.nix
+++ b/pkgs/tools/security/ccid/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ccid";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchurl {
     url = "https://ccid.apdu.fr/files/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-gVSbNCJGnVA5ltA6Ou0u8TdbNZFn8Q1mvp44ROcpMi4=";
+    sha256 = "sha256-56eMOY7A1hek+YuscNW2T3hokoTdCuh9RpLihX8Rc3c=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/commix/default.nix b/pkgs/tools/security/commix/default.nix
index 452279883baca..b2632c2d42ed2 100644
--- a/pkgs/tools/security/commix/default.nix
+++ b/pkgs/tools/security/commix/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "commix";
-  version = "3.5";
+  version = "3.6";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "commixproject";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3UCHTgIW7ArXQD0Kj5XwE1I5VszsueXDJ68QWdQrAho=";
+    hash = "sha256-QdhJp7oUqOY8Z36haIrHgP4hVGaFXlOxNVg1ams7uhg=";
   };
 
   # Project has no tests
diff --git a/pkgs/tools/security/doppler/default.nix b/pkgs/tools/security/doppler/default.nix
index 0389ad3c52b09..630983842a46d 100644
--- a/pkgs/tools/security/doppler/default.nix
+++ b/pkgs/tools/security/doppler/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.45.0";
+  version = "3.52.1";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-kQio3l50gjPfywUpeTEt4Xon1p07XpgStNSmICPboXQ=";
+    sha256 = "sha256-ppgFUO5WxraG83zX8tHahT/ixSJjrTmmiIrJPpbkZVs=";
   };
 
-  vendorSha256 = "sha256-evG1M0ZHfn9hsMsSncwxF5Hr/VJ7y6Ir0D2gHJaunBo=";
+  vendorSha256 = "sha256-TwcEH+LD0E/JcptMCYb3UycO3HhZX3igzSlBW4hS784=";
 
   ldflags = [
     "-s -w"
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 74ba577a6dc58..cd1b1acccad9b 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -1,18 +1,18 @@
 { lib
 , stdenv
-, fetchFromGitHub
+, fetchFromGitLab
 , makeWrapper
 }:
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2022-10-18";
+  version = "2022-11-12";
 
-  src = fetchFromGitHub {
-    owner = "offensive-security";
+  src = fetchFromGitLab {
+    owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qyRAwy4rGaV7fiU0gwvnf6yT4ZAAXYTtZubh+GtsJU8=";
+    hash = "sha256-0k9q+xwzIdmhVe5zL1qoE6QzzGV3gm6RL97c7zi3Rg8=";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/offensive-security/exploitdb";
+    homepage = "https://gitlab.com/exploit-database/exploitdb";
     description = "Archive of public exploits and corresponding vulnerable software";
     license = with licenses; [ gpl2Plus gpl3Plus mit ];
     maintainers = with maintainers; [ applePrincess fab ];
diff --git a/pkgs/tools/security/ghidra/build.nix b/pkgs/tools/security/ghidra/build.nix
index 9f97e3ece3159..2857019612d50 100644
--- a/pkgs/tools/security/ghidra/build.nix
+++ b/pkgs/tools/security/ghidra/build.nix
@@ -19,13 +19,13 @@
 let
   pkg_path = "$out/lib/ghidra";
   pname = "ghidra";
-  version = "10.2.1";
+  version = "10.2.2";
 
   src = fetchFromGitHub {
     owner = "NationalSecurityAgency";
     repo = "Ghidra";
     rev = "Ghidra_${version}_build";
-    sha256 = "sha256-xK6rSvI3L5wVcTBxJJndAVQMxjpsA5jMq0GeWNmCodI=";
+    sha256 = "sha256-AiyY6mGM+jHu9n39t/cYj+I5CE+a3vA4P0THNEFoZrk=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/tools/security/ghidra/default.nix b/pkgs/tools/security/ghidra/default.nix
index 66b3fb267214b..82809d03f305d 100644
--- a/pkgs/tools/security/ghidra/default.nix
+++ b/pkgs/tools/security/ghidra/default.nix
@@ -24,12 +24,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "ghidra";
-  version = "10.2.1";
-  versiondate = "20221110";
+  version = "10.2.2";
+  versiondate = "20221115";
 
   src = fetchzip {
     url = "https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_${version}_build/ghidra_${version}_PUBLIC_${versiondate}.zip";
-    sha256 = "sha256-04EZQnSuYtcseamlNBjpm8+9wD5r1WsBseix6yr057k=";
+    sha256 = "sha256-0OcSdCN8vWUgTgFdgNtiI0OfHmfa/WD9IoaJUl+llqI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/jwx/default.nix b/pkgs/tools/security/jwx/default.nix
index 0b8447e6e4885..d124c504039ab 100644
--- a/pkgs/tools/security/jwx/default.nix
+++ b/pkgs/tools/security/jwx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "jwx";
-  version = "2.0.6";
+  version = "2.0.7";
 
   src = fetchFromGitHub {
     owner = "lestrrat-go";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-7X+UeguaWk7+IQ2/PgoFZR7OKpOTzgT/mo8k4eSl53A=";
+    hash = "sha256-rnzRl7pvX/qBteEbgXrFCzAvtP9Izy6YAZJhy/4nXl4=";
   };
 
-  vendorSha256 = "sha256-XZk/cwbfg05RkUFMs+AHTfEZiEvqYYoPoSVZVFM967g=";
+  vendorSha256 = "sha256-96Vxl84+xjRGxudBOaMX8LpRxfYqC2c+hVsipT0NLwE=";
 
   sourceRoot = "source/cmd/jwx";
 
diff --git a/pkgs/tools/security/krunner-pass/default.nix b/pkgs/tools/security/krunner-pass/default.nix
index a9f2c241d21c5..032840b7d33c0 100644
--- a/pkgs/tools/security/krunner-pass/default.nix
+++ b/pkgs/tools/security/krunner-pass/default.nix
@@ -42,8 +42,12 @@ mkDerivation rec {
     ''-DNIXPKGS_PASS=\"${lib.getBin pass}/bin/pass\"''
   ];
 
-  # there are *lots* of pointless warnings in v1.3.0
-  cmakeFlags = [ "-Wno-dev" ];
+  cmakeFlags = [
+    # there are *lots* of pointless warnings in v1.3.0
+    "-Wno-dev"
+    # required for kf5auth to work correctly
+    "-DCMAKE_POLICY_DEFAULT_CMP0012=NEW"
+  ];
 
   meta = with lib; {
     description = "Integrates krunner with pass the unix standard password manager (https://www.passwordstore.org/)";
diff --git a/pkgs/tools/security/kubeaudit/default.nix b/pkgs/tools/security/kubeaudit/default.nix
index d9091add090aa..dab0586e72988 100644
--- a/pkgs/tools/security/kubeaudit/default.nix
+++ b/pkgs/tools/security/kubeaudit/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "kubeaudit";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-fdvlVORRREEwhBrOEAnspLJw7OPj3xymJEoJMdhN5n8=";
+    hash = "sha256-+aHJMCwV4en30BufqzSK0yBaJCzLBfOXWTkJCsBCfVA=";
   };
 
   vendorSha256 = "sha256-DVXevOOQQjMhZ+9HLlQpKA1mD4FkIkGtq+Ur8uKTcwU=";
diff --git a/pkgs/tools/security/melt/default.nix b/pkgs/tools/security/melt/default.nix
index 065a5fd4d696c..6a1d6379f2b45 100644
--- a/pkgs/tools/security/melt/default.nix
+++ b/pkgs/tools/security/melt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "melt";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "melt";
     rev = "v${version}";
-    sha256 = "sha256-C5bvlgyHU4lfmaAjNddnVyB2B41Wq7yO/RmARAeaORw=";
+    sha256 = "sha256-ZDUvwBxPFE0RBgNGoZlU+LkyIXINZITqBnKDFnr59+Q=";
   };
 
-  vendorSha256 = "sha256-9LTR7CrTBGAh7TPMQenY4vZQ7KMYv02fDsY51pkJZSo=";
+  vendorSha256 = "sha256-vTSLyRdv4rAYvy/2S7NnQNs144wyJOLzFkyBBW0TRmo=";
 
   ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 7959e18698d29..68cd26e5cc345 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.2.26"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.27"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index d635a12315803..2fef911c967a7 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: ef8b26c32cbcf48e9ba6a4d6c01d587a1d45f6cc
-  ref: refs/tags/6.2.26
+  revision: 1847611817b4dbea38ac13c83ac2c4abd92d7bc2
+  ref: refs/tags/6.2.27
   specs:
-    metasploit-framework (6.2.26)
+    metasploit-framework (6.2.27)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -32,7 +32,7 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 2.0.99)
+      metasploit-payloads (= 2.0.101)
       metasploit_data_models
       metasploit_payloads-mettle (= 1.0.20)
       mqtt
@@ -129,13 +129,13 @@ GEM
     arel-helpers (2.14.0)
       activerecord (>= 3.1.0, < 8)
     aws-eventstream (1.2.0)
-    aws-partitions (1.659.0)
-    aws-sdk-core (3.167.0)
+    aws-partitions (1.664.0)
+    aws-sdk-core (3.168.1)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.651.0)
       aws-sigv4 (~> 1.5)
       jmespath (~> 1, >= 1.6.1)
-    aws-sdk-ec2 (1.349.0)
+    aws-sdk-ec2 (1.351.0)
       aws-sdk-core (~> 3, >= 3.165.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.73.0)
@@ -176,10 +176,10 @@ GEM
     eventmachine (1.2.7)
     faker (3.0.0)
       i18n (>= 1.8.11, < 2)
-    faraday (2.6.0)
+    faraday (2.7.1)
       faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
-    faraday-net_http (3.0.1)
+    faraday-net_http (3.0.2)
     faraday-retry (2.0.0)
       faraday (~> 2.0)
     faye-websocket (0.11.1)
@@ -204,7 +204,7 @@ GEM
     i18n (1.12.0)
       concurrent-ruby (~> 1.0)
     io-console (0.5.11)
-    irb (1.4.2)
+    irb (1.4.3)
       reline (>= 0.3.0)
     jmespath (1.6.1)
     jsobfu (0.4.2)
@@ -236,7 +236,7 @@ GEM
       activemodel (~> 6.0)
       activesupport (~> 6.0)
       railties (~> 6.0)
-    metasploit-payloads (2.0.99)
+    metasploit-payloads (2.0.101)
     metasploit_data_models (5.0.6)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -286,13 +286,13 @@ GEM
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
-    pg (1.4.4)
+    pg (1.4.5)
     public_suffix (5.0.0)
     puma (6.0.0)
       nio4r (~> 2.0)
     racc (1.6.0)
     rack (2.2.4)
-    rack-protection (3.0.2)
+    rack-protection (3.0.3)
       rack
     rack-test (2.0.2)
       rack (>= 1.3)
@@ -367,7 +367,7 @@ GEM
     ruby-macho (3.0.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (3.2.0)
+    ruby_smb (3.2.1)
       bindata
       openssl-ccm
       openssl-cmac
@@ -380,12 +380,12 @@ GEM
       faraday (>= 0.17.3, < 3)
     simpleidn (0.2.1)
       unf (~> 0.1.4)
-    sinatra (3.0.2)
+    sinatra (3.0.3)
       mustermann (~> 3.0)
       rack (~> 2.2, >= 2.2.4)
-      rack-protection (= 3.0.2)
+      rack-protection (= 3.0.3)
       tilt (~> 2.0)
-    sqlite3 (1.5.3)
+    sqlite3 (1.5.4)
       mini_portile2 (~> 2.8.0)
     sshkey (2.0.0)
     swagger-blocks (3.0.0)
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index cae6648f5ef98..8acd5d35d5108 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.2.26";
+  version = "6.2.27";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-qPhN+N0AFSrkdxtUPZwJMicDafKpuwaQg+sDA6ssHow=";
+    sha256 = "sha256-0wovO6Dt65vA5C2/XNfHf4fsc3GvWp4mnh9gsY3O8Is=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 8e9709c984e3f..38f9f23b3344d 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -104,30 +104,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iwkwvx56rivfrqgsjap7bkn0zd9d5m712fx0b1mgcfalm6xjcpl";
+      sha256 = "1h69kvk5nrjfznms3dy9xk552xzv4kbq7ks9wgj1fdbxzc3rszng";
       type = "gem";
     };
-    version = "1.659.0";
+    version = "1.664.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "095nj7sf8914y60m1grnpy7cm6ybnw4ywnc0j84gz2vgv1m8awfk";
+      sha256 = "1vnnv9gk3dapng8siaqdimqkr4a99lfavx7lkwx2jiyy1p6c50rb";
       type = "gem";
     };
-    version = "3.167.0";
+    version = "3.168.1";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xk33r0q44ngsy9d6nh4isw9aa9rz31ajb69apk4b2wmc2gi1mcw";
+      sha256 = "0fcisnrj46idp0gmzjba39w5ay7phs0q8lai5mdwgn790n3cxkqr";
       type = "gem";
     };
-    version = "1.349.0";
+    version = "1.351.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -344,20 +344,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mqv17hfmph4ylmb2bqyccy64gsgpmzapq5yrmf5yjsqkvw9rxbv";
+      sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.1";
   };
   faraday-net_http = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13b717ddw90iaf4vijy06srmkvrfbzsnyjap93yll0nibad4dbxq";
+      sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.2";
   };
   faraday-retry = {
     groups = ["default"];
@@ -504,10 +504,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g2xhrjjgbix2acss59kwzfzgcwf450j91paz7vqa578g95i32my";
+      sha256 = "0s28igrsspxmhwmwalv9c7g6ld2glzns2vhlfqmc3jnvnr68yhf1";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.4.3";
   };
   jmespath = {
     groups = ["default"];
@@ -604,12 +604,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "ef8b26c32cbcf48e9ba6a4d6c01d587a1d45f6cc";
-      sha256 = "130y5jmh60zbhf80dfx9y9lh69rj16f3sm0vfzj2l580vpw4vy58";
+      rev = "1847611817b4dbea38ac13c83ac2c4abd92d7bc2";
+      sha256 = "12zhrs6v2q0zkqk9wnmgf5ryr1vzqzbmrgrdwk09pszdl0xjy2nk";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.2.26";
+    version = "6.2.27";
   };
   metasploit-model = {
     groups = ["default"];
@@ -626,10 +626,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rfnxkg31ksylg1rjk05d9kk4af4rbw66ipwl3q0vl3qvnbymfm8";
+      sha256 = "0m9w4yy5iwpbbjycpxyhfql2b4dnm4wgcn039aw43igjgfdrkmkz";
       type = "gem";
     };
-    version = "2.0.99";
+    version = "2.0.101";
   };
   metasploit_data_models = {
     groups = ["default"];
@@ -907,10 +907,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09a5z9qhxnybahx162q2q1cygdhxfp6cihdivvzh32jlwc37z1x3";
+      sha256 = "1wd6nl81nbdwck04hccsm7wf23ghpi8yddd9j4rbwyvyj0sbsff1";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.4.5";
   };
   public_suffix = {
     groups = ["default"];
@@ -957,10 +957,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jmixih0qrsdz60dhznkk29v50ks55cqq51jjf0yn3amqghh4bhk";
+      sha256 = "1sfk4i52yijcggkzkwj3z6k2iv9fdacmcgcid1c8xjcldh93fhpg";
       type = "gem";
     };
-    version = "3.0.2";
+    version = "3.0.3";
   };
   rack-test = {
     groups = ["default"];
@@ -1287,10 +1287,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iyp4j0j2bd0barp7057mr7280921c05ij2ygr1715lj1p9j4h5x";
+      sha256 = "0rsxb9bi3x4kxhhsaa4araxfz0zk573v0j4xv64d3p176kii6cmm";
       type = "gem";
     };
-    version = "3.2.0";
+    version = "3.2.1";
   };
   rubyntlm = {
     groups = ["default"];
@@ -1337,10 +1337,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c2vmy0j5amy9fihs2gz2ssm4bdpqqh4llyjfl6qqqry7f87c6xz";
+      sha256 = "0znx4qhvgah5k696crv954xkrh8z4gick2fx04xl67wng7nnwrrc";
       type = "gem";
     };
-    version = "3.0.2";
+    version = "3.0.3";
   };
   sqlite3 = {
     dependencies = ["mini_portile2"];
@@ -1348,10 +1348,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i95rgfxdj2rhxifps27dz7fjfdih5iyl7b01di9gdmh9m04ylk6";
+      sha256 = "009124l2yw7csrq3mvzffjflgpqi3y30flazjqf6aad64gnnnksx";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.5.4";
   };
   sshkey = {
     groups = ["default"];
diff --git a/pkgs/tools/security/pass2csv/default.nix b/pkgs/tools/security/pass2csv/default.nix
index 2e48f541ca84e..95649695bfffb 100644
--- a/pkgs/tools/security/pass2csv/default.nix
+++ b/pkgs/tools/security/pass2csv/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonApplication rec {
   pname = "pass2csv";
-  version = "0.3.2";
+  version = "1.0.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03a11bd0b0905737f4adb21d87aa1653d84cc1d9b5dcfdfb8a29092245d65db8";
+    sha256 = "sha256-a/PQl/nqdj9xOM2hfAIiLuGy5F4KmEWFJihZ4gilaJw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/sn0int/default.nix b/pkgs/tools/security/sn0int/default.nix
index 8e3a806d871c8..15c0d662ce2cb 100644
--- a/pkgs/tools/security/sn0int/default.nix
+++ b/pkgs/tools/security/sn0int/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sn0int";
-  version = "0.24.2";
+  version = "0.24.3";
 
   src = fetchFromGitHub {
     owner = "kpcyrd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WcCNNLNvOtYiSWVvXA8mnlXOV2T/yIXFzZky5y3tYJ4=";
+    sha256 = "sha256-KREYWM5WOdPzLbOlrATiCCfFwE951KEo03yWNfyG8Bw=";
   };
 
-  cargoSha256 = "sha256-5pVxOkm9OLSX5Lxe3DSM0mVSMhlHfFBCiMMR37WrZbI=";
+  cargoSha256 = "sha256-Ul53/hDUFRb4xmILoMXXk2t465Vv+MQP4iLNn1twwnc=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/ssh-to-age/default.nix b/pkgs/tools/security/ssh-to-age/default.nix
index d6a26dc957f5e..fc966655faac5 100644
--- a/pkgs/tools/security/ssh-to-age/default.nix
+++ b/pkgs/tools/security/ssh-to-age/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ssh-to-age";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "ssh-to-age";
     rev = version;
-    sha256 = "sha256-sjiOmIoFyl1Kr4RKg1TqXJNIq2/HF91oxDLtRDa+eWw=";
+    sha256 = "sha256-tasR0p+8Y315zngWbDPUmn4O/SaIw+gKGPLT5FGymuo=";
   };
 
-  vendorSha256 = "sha256-Xi5aJAYgbtrDq7KBAfZR1LT5/jbslwEa70qaFqW4vcQ=";
+  vendorSha256 = "sha256-1iDFM6KNsvvwOTg05TAJZvHVTv+Gc0nG0STzNdk0NB4=";
 
   checkPhase = ''
     runHook preCheck
diff --git a/pkgs/tools/security/terrascan/default.nix b/pkgs/tools/security/terrascan/default.nix
index 21abae88c7afe..56f5d676a8b80 100644
--- a/pkgs/tools/security/terrascan/default.nix
+++ b/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.16.0";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J54x3t3tgo5CUnYEhduOGw23MhAiqq/XudGmSQ3ENbs=";
+    sha256 = "sha256-I7tA6FRsG3miIXibmBAFvanIyI8jgThrInQEzUCxvAs=";
   };
 
-  vendorSha256 = "sha256-0ZwTE2FrBung7HAlklGIJlX76eRWa0ALNWjZpZijkzA=";
+  vendorSha256 = "sha256-ahj67MoS+VXNlh5dRA722tq27JRQGaC7TejOVIAH8ms=";
 
   # Tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/pkgs/tools/system/automatic-timezoned/default.nix b/pkgs/tools/system/automatic-timezoned/default.nix
new file mode 100644
index 0000000000000..f4788aba5b686
--- /dev/null
+++ b/pkgs/tools/system/automatic-timezoned/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "automatic-timezoned";
+  version = "1.0.41";
+
+  src = fetchFromGitHub {
+    owner = "maxbrunet";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-KT1mVP2pMn6M8BPBdBgK94iLuAuoUwGo24L5IT5fVAQ=";
+  };
+
+  cargoSha256 = "sha256-hfhSbpNVJm6OE/wL3aPNRV+kJGIZnpoTh8e/trRG21c=";
+
+  meta = with lib; {
+    description = "Automatically update system timezone based on location";
+    homepage = "https://github.com/maxbrunet/automatic-timezoned";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ maxbrunet ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/system/efivar/default.nix b/pkgs/tools/system/efivar/default.nix
index f08a70e2b07a1..06d5fb0fa00ef 100644
--- a/pkgs/tools/system/efivar/default.nix
+++ b/pkgs/tools/system/efivar/default.nix
@@ -34,8 +34,8 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    inherit (src.meta) homepage;
     description = "Tools and library to manipulate EFI variables";
+    homepage = "https://github.com/rhboot/efivar";
     platforms = platforms.linux;
     license = licenses.lgpl21Only;
   };
diff --git a/pkgs/tools/system/hw-probe/default.nix b/pkgs/tools/system/hw-probe/default.nix
index 0f2ccca157b42..d483bdad221b6 100644
--- a/pkgs/tools/system/hw-probe/default.nix
+++ b/pkgs/tools/system/hw-probe/default.nix
@@ -47,7 +47,7 @@
 , xinput
 , libva-utils
 , inxi
-, vulkan-utils
+, vulkan-tools
 , i2c-tools
 , opensc
 
@@ -104,7 +104,7 @@ stdenv.mkDerivation rec {
         xinput
         libva-utils # (vainfo)
         inxi
-        vulkan-utils
+        vulkan-tools
         i2c-tools
         opensc
       ]
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index 6020f1658e6a7..9293951d74681 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -1,58 +1,28 @@
-{ stdenv, lib, fetchurl, openssl, fetchpatch, static ? stdenv.hostPlatform.isStatic }:
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, openssl, readline }:
 
 stdenv.mkDerivation rec {
   pname = "ipmitool";
-  version = "1.8.18";
+  version = "1.8.19";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0kfh8ny35rvwxwah4yv91a05qwpx74b5slq2lhrh71wz572va93m";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "IPMITOOL_${lib.replaceStrings ["."] ["_"] version}";
+    hash = "sha256-VVYvuldRIHhaIUibed9cLX8Avfy760fdBLNO8MoUKCk=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://sources.debian.org/data/main/i/ipmitool/1.8.18-6/debian/patches/0120-openssl1.1.patch";
-      sha256 = "1xvsjxb782lzy72bnqqnsk3r5h4zl3na95s4pqn2qg7cic2mnbfk";
-    })
-    # Fix build on non-linux systems
-    (fetchpatch {
-      url = "https://github.com/ipmitool/ipmitool/commit/5db314f694f75c575cd7c9ffe9ee57aaf3a88866.patch";
-      sha256 = "01niwrgajhrdhl441gzmw6v1r1yc3i8kn98db4b6smfn5fwdp1pa";
-    })
-    (fetchpatch {
-      name = "CVE-2020-5208.patch";
-      url = "https://github.com/ipmitool/ipmitool/commit/e824c23316ae50beb7f7488f2055ac65e8b341f2.patch";
-      sha256 = "sha256-X7MnoX2fzByRpRY4p33xetT+V2aehlQ/qU+aeaqtTUY=";
-    })
-    # Pull upstream patch to support upstream gcc-10:
-    #   https://github.com/ipmitool/ipmitool/pull/180
-    (fetchpatch {
-      name = "fno-common.patch";
-      url = "https://github.com/ipmitool/ipmitool/commit/51c7e0822f531469cf860dfa5d010c87b284b747.patch";
-      sha256 = "sha256-5UszUdVw3s2S5RCm5Exq4mqDqiYcN62in1O5+TZu9YA=";
-    })
-  ];
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ openssl readline ];
 
-  buildInputs = [ openssl ];
-
-  configureFlags = [
-    "--infodir=${placeholder "out"}/share/info"
-    "--mandir=${placeholder "out"}/share/man"
-  ] ++ lib.optionals static [
-    "LDFLAGS=-static"
-    "--enable-static"
-    "--disable-shared"
-  ] ++ lib.optionals (!static) [
-    "--enable-shared"
-  ];
-
-  makeFlags = lib.optional static "AM_LDFLAGS=-all-static";
-  dontDisableStatic = static;
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace 'AC_MSG_WARN([** Neither wget nor curl could be found.])' 'AM_CONDITIONAL([DOWNLOAD], [false])'
+  '';
 
   meta = with lib; {
     description = "Command-line interface to IPMI-enabled devices";
     license = licenses.bsd3;
-    homepage = "https://sourceforge.net/projects/ipmitool/";
+    homepage = "https://github.com/ipmitool/ipmitool";
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
   };
diff --git a/pkgs/tools/system/nvtop/default.nix b/pkgs/tools/system/nvtop/default.nix
index 053437dc3e957..44ecbd39d4714 100644
--- a/pkgs/tools/system/nvtop/default.nix
+++ b/pkgs/tools/system/nvtop/default.nix
@@ -6,16 +6,18 @@
 , cudatoolkit
 , libdrm
 , ncurses
+, nvtop
+, testers
+, udev
 , addOpenGLRunpath
 , amd ? true
 , nvidia ? true
-, udev
 }:
 
 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 ];
+  libPath = lib.makeLibraryPath [ libdrm ncurses udev ];
   amd-postFixup = ''
     patchelf \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
@@ -37,6 +39,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = with lib; [
     "-DCMAKE_BUILD_TYPE=Release"
     "-DBUILD_TESTING=ON"
+    "-DUSE_LIBUDEV_OVER_LIBSYSTEMD=ON"
   ] ++ 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"
@@ -54,6 +57,14 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru = {
+    tests.version = testers.testVersion {
+      inherit version;
+      package = nvtop;
+      command = "nvtop --version";
+    };
+  };
+
   meta = with lib; {
     description = "A (h)top like task monitor for AMD, Intel and NVIDIA GPUs";
     longDescription = ''
diff --git a/pkgs/tools/text/chroma/default.nix b/pkgs/tools/text/chroma/default.nix
index ef990a5b99d62..fd2462d52284d 100644
--- a/pkgs/tools/text/chroma/default.nix
+++ b/pkgs/tools/text/chroma/default.nix
@@ -6,7 +6,7 @@ in
 
 buildGoModule rec {
   pname = "chroma";
-  version = "2.2.0";
+  version = "2.4.0";
 
   # To update:
   # nix-prefetch-git --rev v${version} https://github.com/alecthomas/chroma.git > src.json
@@ -17,7 +17,7 @@ buildGoModule rec {
     inherit (srcInfo) sha256;
   };
 
-  vendorSha256 = "1f5pv32vg0ci71kj5bbg24ymmm12yi6r07n8blj47qz8203l5yab";
+  vendorSha256 = "02malb9qilixhdjrdd8bf0yml1c2rkvfvdmr25b4xdv0vwvgb9gg";
 
   modRoot = "./cmd/chroma";
 
diff --git a/pkgs/tools/text/chroma/src.json b/pkgs/tools/text/chroma/src.json
index ed8d0b6c0e4fb..a7b2e841243c5 100644
--- a/pkgs/tools/text/chroma/src.json
+++ b/pkgs/tools/text/chroma/src.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/alecthomas/chroma.git",
-  "rev": "d18e8a46f25ce0eb40f276410ab6cb3f2def9b7e",
-  "date": "2022-06-14T21:17:50+10:00",
-  "path": "/nix/store/mzph49sgiv5xfmpn6d6znlq483k4hyca-chroma",
-  "sha256": "0rxsi4kdf363p6ysvxvgndbvcb0a5zgm0iaxkkqllj3m8nfwmzlk",
+  "rev": "aecedef97da5c01d46cd3c8b427df5aae92b3089",
+  "date": "2022-11-15T18:57:46+11:00",
+  "path": "/nix/store/fnwldb1pkdws3rqj7y4cs1rk93ar6kqr-chroma",
+  "sha256": "0l5x256d6v1089ww8cxhd6bwav58rbwj76av2x1vld3n3w4j3148",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix
index 475bba31069ed..e2573861f300f 100644
--- a/pkgs/tools/text/crowdin-cli/default.nix
+++ b/pkgs/tools/text/crowdin-cli/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "crowdin-cli";
-  version = "3.9.0";
+  version = "3.9.1";
 
   src = fetchurl {
     url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip";
-    sha256 = "sha256-6km0hJKnSHyIkMZ0LznzzmK6KZ4kZBpI94XE5SZ4xxs=";
+    sha256 = "sha256-n5eDe29+HhH4YHNLzRhIpx2ceH1pw0TaXdTtVZYNT48=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper unzip ];
diff --git a/pkgs/tools/text/ruplacer/default.nix b/pkgs/tools/text/ruplacer/default.nix
index 147d6c2c85227..f85b3d6275823 100644
--- a/pkgs/tools/text/ruplacer/default.nix
+++ b/pkgs/tools/text/ruplacer/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruplacer";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "TankerHQ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1uukn1juFZB7lLZwGBmTc78h1p1GYhZxWMJqvpvIWpA=";
+    sha256 = "sha256-7qVjJLw90SUtXkfp40u/X84trnJzgCV6mp7b/yNmcPk=";
   };
 
-  cargoSha256 = "sha256-SeQ0E/8m6Rxg7oOHbNliVoc+Vh5Yb1E9/n8TJO2rY80=";
+  cargoSha256 = "sha256-AV6wxD2KZN53rlJofsDISL6p2dfgw+5F+GiP5u9/2/w=";
 
   buildInputs = (lib.optional stdenv.isDarwin Security);
 
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix
index 92baf044d3cc1..9cc4941853d58 100644
--- a/pkgs/tools/typesetting/sile/default.nix
+++ b/pkgs/tools/typesetting/sile/default.nix
@@ -43,11 +43,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sile";
-  version = "0.14.4";
+  version = "0.14.5";
 
   src = fetchurl {
     url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "091sy3k29q15ksqr650qmf9lz8j9lqbabfph4cf63plg4dnf9m98";
+    sha256 = "01wf0rihksk2ldxgci5vzl3j575vnp6wgk12yd28mwzxkss6n39g";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/typesetting/soupault/default.nix b/pkgs/tools/typesetting/soupault/default.nix
index bad0313a37276..e6cd6de9e6791 100644
--- a/pkgs/tools/typesetting/soupault/default.nix
+++ b/pkgs/tools/typesetting/soupault/default.nix
@@ -7,7 +7,7 @@
 
 ocamlPackages.buildDunePackage rec {
   pname = "soupault";
-  version = "4.3.0";
+  version = "4.3.1";
 
   minimalOCamlVersion = "4.08";
 
@@ -16,7 +16,7 @@ ocamlPackages.buildDunePackage rec {
     owner = "PataphysicalSociety";
     repo = pname;
     rev = version;
-    sha256 = "sha256-K5JlMf9hCUI3BTDRP6wIgNYu+MM3tanHAgnAYw4oXag=";
+    sha256 = "sha256-P8PGSJ7TOlnMoTcE5ZXqc7pJe4l+zRhBh0A/2iIJLQI=";
   };
 
   buildInputs = with ocamlPackages; [
diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix
index 5e438d8872117..4b5f335938bbe 100644
--- a/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/pkgs/tools/virtualization/cloud-init/default.nix
@@ -14,14 +14,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cloud-init";
-  version = "22.3.4";
+  version = "22.4";
   namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "cloud-init";
     rev = "refs/tags/${version}";
-    hash = "sha256-agffkTEaURjw/Ro8znYRQLKhDP2Ey0LimuzqbW5xb28=";
+    hash = "sha256-MsT5t2da79Eb9FlTLPr2893JcF0ujNnToJTCQRT1QEo=";
   };
 
   patches = [ ./0001-add-nixos-support.patch ];
diff --git a/pkgs/tools/virtualization/rootlesskit/default.nix b/pkgs/tools/virtualization/rootlesskit/default.nix
index 4f9129cb7269e..62b2c26e6d8e8 100644
--- a/pkgs/tools/virtualization/rootlesskit/default.nix
+++ b/pkgs/tools/virtualization/rootlesskit/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "rootlesskit";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "rootlesskit";
     rev = "v${version}";
-    hash = "sha256-wdg3pYsWHAEzQHy5LZYp0q9sOn7dmtcwOn94/0wYDa0=";
+    hash = "sha256-pIxjesfkHWc7kz4knHxLnzopxO26dBAd/3+wVQ19oiI=";
   };
 
-  vendorSha256 = "sha256-OKqF9EutZP+6CFtANpNt21hGsz6GxuXcoaEqPKnoqeo=";
+  vendorSha256 = "sha256-ILGUJsfG60qVu1RWoe8gwjVDfhPoAVZck0CVORgN2y0=";
 
   passthru = {
     updateScript = nix-update-script { attrPath = pname; };
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 5086a129337a2..a1a21ac97e2a4 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -437,7 +437,9 @@ mapAliases ({
   finger_bsd = bsd-finger;
   fingerd_bsd = bsd-fingerd;
   firefox-esr-68 = throw "Firefox 68 ESR was removed because it reached end of life with its final release 68.12esr on 2020-08-25";
+  firefox-esr-wayland = firefox-esr; # Added 2022-11-15
   firefox-esr-wrapper = throw "'firefox-esr-wrapper' has been renamed to/replaced by 'firefox-esr'"; # Converted to throw 2022-02-22
+  firefox-wayland = firefox; # Added 2022-11-15
   firefoxWrapper = throw "'firefoxWrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22
   firefox-wrapper = throw "'firefox-wrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22
   firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09
@@ -580,6 +582,7 @@ mapAliases ({
   gr-rds = gnuradio3_7.pkgs.rds; # Added 2019-05-27, changed 2020-10-16
   grv = throw "grv has been dropped due to the lack of maintanence from upstream since 2019"; # Added 2022-06-01
   gsettings_desktop_schemas = throw "'gsettings_desktop_schemas' has been renamed to/replaced by 'gsettings-desktop-schemas'"; # Converted to throw 2022-02-22
+  gsl_1 = throw "'gsl_1' has been renamed to/replaced by 'gsl'"; # Added 2022-11-19
   gtk_doc = throw "'gtk_doc' has been renamed to/replaced by 'gtk-doc'"; # Converted to throw 2022-02-22
   gtklick = throw "gtklick has been removed from nixpkgs as the project is stuck on python2"; # Added 2022-01-01
   gtmess = throw "gtmess has been removed, because it was a MSN client."; # add 2021-12-15
@@ -754,6 +757,7 @@ mapAliases ({
   libgpgerror = libgpg-error; # Added 2021-09-04
   libgroove = throw "libgroove has been removed, because it depends on an outdated and insecure version of ffmpeg"; # Added 2022-01-21
   libgumbo = throw "'libgumbo' has been renamed to/replaced by 'gumbo'"; # Converted to throw 2022-02-22
+  libheimdal = heimdal; # Added 2022-11-18
   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
@@ -775,6 +779,7 @@ mapAliases ({
   libressl_3_2 = throw "'libressl_3_2' has reached end-of-life "; # Added 2022-03-19
   librevisa = throw "librevisa has been removed because its website and source have disappeared upstream"; # Added 2022-09-23
   librsync_0_9 = throw "librsync_0_9 has been removed"; # Added 2021-07-24
+  librewolf-wayland = librewolf; # Added 2022-11-15
   libseat = seatd; # Added 2021-06-24
   libspotify = throw "libspotify has been removed because Spotify stopped supporting it"; # added 2022-05-29
   libstdcxxHook = throw "libstdcxx hook has been removed because cc-wrapper is now directly aware of the c++ standard library intended to be used"; # Added 2020-06-22
@@ -1463,6 +1468,7 @@ mapAliases ({
   tftp_hpa = throw "'tftp_hpa' has been renamed to/replaced by 'tftp-hpa'"; # Converted to throw 2022-02-22
   thunderbird-68 = throw "Thunderbird 68 reached end of life with its final release 68.12.0 on 2020-08-25";
   thunderbird-bin-68 = thunderbird-68;
+  thunderbird-wayland = thunderbird; # Added 2022-11-15
   timescale-prometheus = promscale; # Added 2020-09-29
   timedoctor = throw "'timedoctor' has been removed from nixpkgs"; # Added 2022-10-09
   timetable = throw "timetable has been removed, as the upstream project has been abandoned"; # Added 2021-09-05
@@ -1564,6 +1570,7 @@ mapAliases ({
   wireguard = throw "'wireguard' has been renamed to/replaced by 'wireguard-tools'"; # Converted to throw 2022-02-22
   wormhole-rs = magic-wormhole-rs; # Added 2022-05-30. preserve, reason: Arch package name, main binary name
   wmii_hg = wmii;
+  wmc-mpris = throw "wmc-mpris has been abandoned by upstream due to its redundancy"; # Added 2022-11-13
   ws = throw "ws has been dropped due to the lack of maintenance from upstream since 2018"; # Added 2022-06-03
   wxGTK = throw "wxGTK28 has been removed from nixpkgs as it has reached end of life"; # Added 2022-11-04
   wxGTK28 = throw "wxGTK28 has been removed from nixpkgs as it has reached end of life"; # Added 2022-11-04
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index cfadb8c693fb0..d1ccb4d98efd4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -262,6 +262,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
 
+  automatic-timezoned = callPackage ../tools/system/automatic-timezoned { };
+
   cve = with python3Packages; toPythonApplication cvelib;
 
   fiche = callPackage ../servers/fiche { };
@@ -788,6 +790,7 @@ with pkgs;
   mysql-shell = callPackage ../development/tools/mysql-shell {
     inherit (darwin) cctools developer_cmds DarwinTools;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
+    antlr = antlr4_10;
     boost = boost177; # Configure checks for specific version.
     protobuf = protobuf3_19;
     icu =  icu69;
@@ -1551,7 +1554,7 @@ with pkgs;
 
   dosbox-staging = callPackage ../applications/emulators/dosbox-staging { };
 
-  duckstation = libsForQt5.callPackage ../applications/emulators/duckstation {};
+  duckstation = qt6Packages.callPackage ../applications/emulators/duckstation {};
 
   dynamips = callPackage ../applications/emulators/dynamips { };
 
@@ -1606,7 +1609,9 @@ with pkgs;
 
   libmirage = callPackage ../applications/emulators/cdemu/libmirage.nix { };
 
-  ludusavi = callPackage ../applications/backup/ludusavi { };
+  ludusavi = callPackage ../applications/backup/ludusavi {
+    inherit (plasma5Packages) kdialog;
+  };
 
   maiko = callPackage ../applications/emulators/maiko { };
 
@@ -4584,6 +4589,8 @@ with pkgs;
 
   mmctl = callPackage ../tools/misc/mmctl { };
 
+  moar = callPackage ../tools/misc/moar { };
+
   molly-brown = callPackage ../servers/gemini/molly-brown { };
 
   monetdb = callPackage ../servers/sql/monetdb { };
@@ -4764,9 +4771,7 @@ with pkgs;
 
   pn = callPackage ../tools/text/pn { };
 
-  pocket-casts = callPackage ../applications/audio/pocket-casts {
-    electron = electron_14;
-  };
+  pocket-casts = callPackage ../applications/audio/pocket-casts { };
 
   pouf = callPackage ../tools/misc/pouf { };
 
@@ -5780,15 +5785,7 @@ with pkgs;
 
   davfs2 = callPackage ../tools/filesystems/davfs2 { };
 
-  dbeaver = callPackage ../applications/misc/dbeaver {
-    jdk = jdk11; # AlgorithmId.md5WithRSAEncryption_oid was removed in jdk15
-
-    # TODO: remove once maven uses JDK 11
-    # error: org/eclipse/tycho/core/p2/P2ArtifactRepositoryLayout has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
-    maven = maven.override {
-      jdk = jdk11;
-    };
-  };
+  dbeaver = callPackage ../applications/misc/dbeaver { };
 
   dbench = callPackage ../development/tools/misc/dbench { };
 
@@ -6464,7 +6461,6 @@ with pkgs;
 
   exempi = callPackage ../development/libraries/exempi {
     stdenv = if stdenv.isDarwin then stdenv
-             else if stdenv.isi686 then gcc6Stdenv
              else gcc9Stdenv;
     boost  = if stdenv.isDarwin then boost else boost15x;
   };
@@ -7077,6 +7073,10 @@ with pkgs;
 
   git-credential-1password = callPackage ../applications/version-management/git-and-tools/git-credential-1password { };
 
+  git-credential-keepassxc = callPackage ../applications/version-management/git-and-tools/git-credential-keepassxc {
+    inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation;
+  };
+
   git-crecord = callPackage ../applications/version-management/git-crecord { };
 
   git-crypt = callPackage ../applications/version-management/git-and-tools/git-crypt { };
@@ -7199,7 +7199,9 @@ with pkgs;
 
   github-backup = callPackage ../tools/misc/github-backup { };
 
-  github-runner = callPackage ../development/tools/continuous-integration/github-runner { };
+  github-runner = callPackage ../development/tools/continuous-integration/github-runner {
+     inherit (darwin) autoSignDarwinBinariesHook;
+  };
 
   gitkraken = callPackage ../applications/version-management/gitkraken { };
 
@@ -11311,6 +11313,10 @@ with pkgs;
 
   sftpman = callPackage ../tools/filesystems/sftpman { };
 
+  sftpgo = callPackage ../servers/sftpgo {
+    buildGoModule = buildGo119Module;
+  };
+
   screenfetch = callPackage ../tools/misc/screenfetch { };
 
   sg3_utils = callPackage ../tools/system/sg3_utils { };
@@ -12713,6 +12719,8 @@ with pkgs;
     openssl = openssl_1_1;
   };
 
+  tremor-language-server = callPackage ../tools/misc/tremor-rs/ls.nix { };
+
   truecrack = callPackage ../tools/security/truecrack { };
   truecrack-cuda = truecrack.override { cudaSupport = true; };
 
@@ -12959,8 +12967,6 @@ with pkgs;
 
   wml = callPackage ../development/web/wml { };
 
-  wmc-mpris = callPackage ../applications/misc/web-media-controller { };
-
   wol = callPackage ../tools/networking/wol { };
 
   wolf-shaper = callPackage ../applications/audio/wolf-shaper { };
@@ -15247,6 +15253,7 @@ with pkgs;
   };
   rustup-toolchain-install-master = callPackage ../development/tools/rust/rustup-toolchain-install-master {
     inherit (darwin.apple_sdk.frameworks) Security;
+    openssl = openssl_1_1;
   };
   rusty-man = callPackage ../development/tools/rust/rusty-man { };
 
@@ -15781,6 +15788,16 @@ with pkgs;
   phpExtensions = php.extensions;
   phpPackages = php.packages;
 
+  # Import PHP82 interpreter, extensions and packages
+  php82 = callPackage ../development/interpreters/php/8.2.nix {
+    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+    pcre2 = pcre2.override {
+      withJitSealloc = !stdenv.isDarwin;
+    };
+  };
+  php82Extensions = recurseIntoAttrs php82.extensions;
+  php82Packages = recurseIntoAttrs php82.packages;
+
   # Import PHP81 interpreter, extensions and packages
   php81 = callPackage ../development/interpreters/php/8.1.nix {
     stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
@@ -16238,6 +16255,8 @@ with pkgs;
 
   anybadge = with python3Packages; toPythonApplication anybadge;
 
+  apgdiff = callPackage ../development/tools/database/apgdiff { };
+
   apkg = callPackage ../tools/package-management/apkg { };
 
   augeas = callPackage ../tools/system/augeas { };
@@ -16817,10 +16836,6 @@ with pkgs;
 
   libsigrokdecode = callPackage ../development/tools/libsigrokdecode { };
 
-  # special forks used for dsview
-  libsigrok4dsl = callPackage ../applications/science/electronics/dsview/libsigrok4dsl.nix { };
-  libsigrokdecode4dsl = callPackage ../applications/science/electronics/dsview/libsigrokdecode4dsl.nix { };
-
   sigrok-firmware-fx2lafw = callPackage ../development/tools/sigrok-firmware-fx2lafw { };
 
   cli11 = callPackage ../development/tools/misc/cli11 { };
@@ -17574,6 +17589,8 @@ with pkgs;
 
   privacyidea = callPackage ../applications/misc/privacyidea { };
 
+  process-compose = callPackage ../applications/misc/process-compose { };
+
   process-viewer = callPackage ../applications/misc/process-viewer {
     inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation IOKit;
   };
@@ -18577,7 +18594,7 @@ with pkgs;
   cypress = callPackage ../development/web/cypress { };
 
   cyrus_sasl = callPackage ../development/libraries/cyrus-sasl {
-    libkrb5 = if stdenv.isFreeBSD then libheimdal else libkrb5;
+    libkrb5 = if stdenv.isFreeBSD then heimdal else libkrb5;
     openssl = openssl_1_1;
   };
 
@@ -19317,8 +19334,6 @@ with pkgs;
 
   gsl = callPackage ../development/libraries/gsl { };
 
-  gsl_1 = callPackage ../development/libraries/gsl/gsl-1_16.nix { };
-
   gsl-lite = callPackage ../development/libraries/gsl-lite { };
 
   gsm = callPackage ../development/libraries/gsm {};
@@ -19496,7 +19511,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
     autoreconfHook = buildPackages.autoreconfHook269;
   };
-  libheimdal = heimdal;
 
   harfbuzz = callPackage ../development/libraries/harfbuzz {
     inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreText;
@@ -20397,6 +20411,10 @@ with pkgs;
 
   libhugetlbfs = callPackage ../development/libraries/libhugetlbfs { };
 
+  libhv = callPackage ../development/libraries/libhv {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   libhwy = callPackage ../development/libraries/libhwy { };
 
   libHX = callPackage ../development/libraries/libHX { };
@@ -22915,7 +22933,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
   };
   vulkan-tools-lunarg = callPackage ../tools/graphics/vulkan-tools-lunarg { };
-  vulkan-utils = haskell.lib.compose.justStaticExecutables haskellPackages.vulkan-utils;
   vulkan-validation-layers = callPackage ../development/tools/vulkan-validation-layers { };
 
   vxl = callPackage ../development/libraries/vxl { };
@@ -23486,7 +23503,7 @@ with pkgs;
 
   inherit (callPackages ../servers/asterisk { })
     asterisk asterisk-stable asterisk-lts
-    asterisk_16 asterisk_18 asterisk_19;
+    asterisk_16 asterisk_18 asterisk_19 asterisk_20;
 
   asterisk-module-sccp = callPackage ../servers/asterisk/sccp { };
 
@@ -23700,9 +23717,8 @@ with pkgs;
 
   hasura-cli = callPackage ../servers/hasura/cli.nix { };
 
-  inherit (callPackage ../servers/hbase {}) hbase_1_7 hbase_2_4 hbase_3_0;
-  hbase1 = hbase_1_7;
-  hbase2 = hbase_2_4;
+  inherit (callPackage ../servers/hbase {}) hbase_2_4 hbase_2_5 hbase_3_0;
+  hbase2 = hbase_2_5;
   hbase3 = hbase_3_0;
   hbase = hbase2; # when updating, point to the latest stable release
 
@@ -24528,6 +24544,10 @@ with pkgs;
 
   storm = callPackage ../servers/computing/storm { };
 
+  surrealdb = callPackage ../servers/nosql/surrealdb {
+    inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
+  };
+
   switcheroo-control = callPackage ../os-specific/linux/switcheroo-control { };
 
   slurm = callPackage ../servers/computing/slurm { };
@@ -27008,6 +27028,7 @@ with pkgs;
 
   tela-circle-icon-theme = callPackage ../data/icons/tela-circle-icon-theme {
     inherit (gnome) adwaita-icon-theme;
+    inherit (plasma5Packages) breeze-icons;
   };
 
   tela-icon-theme = callPackage ../data/icons/tela-icon-theme { };
@@ -28693,11 +28714,9 @@ with pkgs;
   firefox-esr-unwrapped = firefoxPackages.firefox-esr-102;
 
   firefox = wrapFirefox firefox-unwrapped { };
-  firefox-wayland = wrapFirefox firefox-unwrapped { forceWayland = true; };
 
   firefox-esr = firefox-esr-102;
   firefox-esr-102 = wrapFirefox firefox-esr-102-unwrapped { };
-  firefox-esr-wayland = wrapFirefox firefox-esr-102-unwrapped { forceWayland = true; };
 
   firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
     inherit (gnome) adwaita-icon-theme;
@@ -28739,10 +28758,6 @@ with pkgs;
     libName = "librewolf";
   };
 
-  librewolf-wayland = librewolf.override {
-    forceWayland = true;
-  };
-
   firefox_decrypt = python3Packages.callPackage ../tools/security/firefox_decrypt { };
 
   fmtoy = callPackage ../tools/audio/fmtoy { };
@@ -29967,7 +29982,7 @@ with pkgs;
 
   kupfer = callPackage ../applications/misc/kupfer { };
 
-  kvirc = libsForQt514.callPackage ../applications/networking/irc/kvirc { };
+  kvirc = libsForQt515.callPackage ../applications/networking/irc/kvirc { };
 
   lame = callPackage ../development/libraries/lame { };
 
@@ -30782,7 +30797,7 @@ with pkgs;
 
   yambar = callPackage ../applications/misc/yambar { };
 
-  polyphone = libsForQt514.callPackage ../applications/audio/polyphone { };
+  polyphone = libsForQt5.callPackage ../applications/audio/polyphone { };
 
   portfolio = callPackage ../applications/office/portfolio {
     jre = openjdk11;
@@ -30823,7 +30838,7 @@ with pkgs;
 
   smplayer = libsForQt5.callPackage ../applications/video/smplayer { };
 
-  smtube = libsForQt514.callPackage ../applications/video/smtube {};
+  smtube = libsForQt5.callPackage ../applications/video/smtube {};
 
   softmaker-office = callPackage ../applications/office/softmaker/softmaker_office.nix {};
 
@@ -31063,10 +31078,7 @@ with pkgs;
 
   openscad = libsForQt5.callPackage ../applications/graphics/openscad {};
 
-  open-stage-control = callPackage ../applications/audio/open-stage-control {
-    electron = electron_15;
-    nodejs = nodejs-16_x;
-  };
+  open-stage-control = callPackage ../applications/audio/open-stage-control { };
 
   opentimestamps-client = python3Packages.callPackage ../tools/misc/opentimestamps-client {};
 
@@ -31760,6 +31772,10 @@ with pkgs;
     inherit (gnome) zenity;
   };
 
+  rymdport = callPackage ../applications/networking/rymdport {
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
+  };
+
   uade = callPackage ../applications/audio/uade {};
 
   udevil = callPackage ../applications/misc/udevil {};
@@ -32345,7 +32361,6 @@ with pkgs;
 
   thunderbird-unwrapped = thunderbirdPackages.thunderbird;
   thunderbird = wrapThunderbird thunderbird-unwrapped { };
-  thunderbird-wayland = wrapThunderbird thunderbird-unwrapped { forceWayland = true; };
 
   thunderbird-bin = wrapThunderbird thunderbird-bin-unwrapped {
     applicationName = "thunderbird";
@@ -34391,16 +34406,12 @@ with pkgs;
 
   methane = callPackage ../games/methane { };
 
-  mindustry = callPackage ../games/mindustry {
-    jdk = adoptopenjdk-hotspot-bin-15;
-  };
+  mindustry = callPackage ../games/mindustry { };
   mindustry-wayland = callPackage ../games/mindustry {
-    jdk = adoptopenjdk-hotspot-bin-15;
     glew = glew-egl;
   };
 
   mindustry-server = callPackage ../games/mindustry {
-    jdk = adoptopenjdk-hotspot-bin-15;
     enableClient = false;
     enableServer = true;
   };
@@ -38008,9 +38019,7 @@ with pkgs;
   };
   inherit (jami) jami-daemon jami-client-qt;
 
-  jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron {
-    electron = electron_17;
-  };
+  jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron { };
 
   zenstates = callPackage ../os-specific/linux/zenstates {};
 
diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix
index 8a419a6a0960e..dd2f70d7529f6 100644
--- a/pkgs/top-level/java-packages.nix
+++ b/pkgs/top-level/java-packages.nix
@@ -44,7 +44,7 @@ in {
 
     mkBootstrap = adoptopenjdk: path: args:
       /* adoptopenjdk not available for i686, so fall back to our old builds for bootstrapping */
-      if   adoptopenjdk.jdk-hotspot.meta.available
+      if   !stdenv.hostPlatform.isi686
       then
         # only linux has the gtkSupport option
         if stdenv.isLinux
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 0a218ef11d9d6..95abd5d3d68c6 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -411,6 +411,12 @@ let
 
     ethernet = callPackage ../development/ocaml-modules/ethernet { };
 
+    extlib = extlib-1-7-9;
+
+    extlib-1-7-9 = callPackage ../development/ocaml-modules/extlib { };
+
+    extlib-1-7-7 = callPackage ../development/ocaml-modules/extlib/1.7.7.nix { };
+
     ezjsonm = callPackage ../development/ocaml-modules/ezjsonm { };
 
     ezxmlm = callPackage ../development/ocaml-modules/ezxmlm { };
@@ -561,9 +567,7 @@ let
 
     iter = callPackage ../development/ocaml-modules/iter { };
 
-    javalib = callPackage ../development/ocaml-modules/javalib {
-      extlib = ocaml_extlib;
-    };
+    javalib = callPackage ../development/ocaml-modules/javalib { };
 
     dypgen = callPackage ../development/ocaml-modules/dypgen { };
 
@@ -1260,12 +1264,6 @@ let
 
     ocaml-protoc = callPackage ../development/ocaml-modules/ocaml-protoc { };
 
-    ocaml_extlib = ocaml_extlib-1-7-8;
-
-    ocaml_extlib-1-7-8 = callPackage ../development/ocaml-modules/extlib { };
-
-    ocaml_extlib-1-7-7 = callPackage ../development/ocaml-modules/extlib/1.7.7.nix { };
-
     ocb-stubblr = callPackage ../development/ocaml-modules/ocb-stubblr { };
 
     ocurl = callPackage ../development/ocaml-modules/ocurl { };
@@ -1621,10 +1619,7 @@ let
 
     omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { };
 
-    google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse {
-      # needs Base64 module
-      ocaml_extlib = ocaml_extlib.override { minimal = false; };
-    };
+    google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { };
 
     hol_light = callPackage ../applications/science/logic/hol_light { };
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index a64963af285c1..edbe364f79990 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -11998,10 +11998,10 @@ let
 
   IOAsync = buildPerlModule {
     pname = "IO-Async";
-    version = "0.801";
+    version = "0.802";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.801.tar.gz";
-      hash = "sha256-ieRZuhe3alcrsbS7EgMBVB6MyTJCQXFmI2tsbbDhybk=";
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.802.tar.gz";
+      hash = "sha256-5YJzFXd2fEfqxDXvKQRmPUp1Cw5oAqSmGJo38Mswhzg";
     };
     preCheck = "rm t/50resolver.t"; # this test fails with "Temporary failure in name resolution" in sandbox
     propagatedBuildInputs = [ Future StructDumb ];
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index b9d3fc1835e9f..fd1f7cb50bf95 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -77,6 +77,7 @@ mapAliases ({
   face_recognition_models = face-recognition-models; # added 2022-10-15
   fake_factory = throw "fake_factory has been removed because it is unused and deprecated by upstream since 2016."; # added 2022-05-30
   faulthandler = throw "faulthandler is built into ${python.executable}"; # added 2021-07-12
+  filemagic = throw "inactive since 2014, so use python-magic instead"; # added 2022-11-19
   flask_login = flask-login; # added 2022-10-17
   flask_sqlalchemy = flask-sqlalchemy; # added 2022-07-20
   flask_testing = flask-testing; # added 2022-04-25
@@ -179,7 +180,7 @@ mapAliases ({
   qasm2image = throw "qasm2image is no longer maintained (since November 2018), and is not compatible with the latest pythonPackages.qiskit versions."; # added 2020-12-09
   qiskit-aqua = throw "qiskit-aqua has been removed due to deprecation, with its functionality moved to different qiskit packages";
   rdflib-jsonld = throw "rdflib-jsonld is not compatible with rdflib 6"; # added 2021-11-05
-  repeated_test = throw "repeated_test is no longer maintained"; # added 2022-01-11
+  repeated_test = repeated-test; # added 2022-11-15
   requests_oauthlib = requests-oauthlib; # added 2022-02-12
   requests_toolbelt = requests-toolbelt; # added 2017-09-26
   roboschool = throw "roboschool is deprecated in favor of PyBullet and has been removed"; # added 2022-01-15
@@ -208,6 +209,7 @@ mapAliases ({
   tvnamer = throw "tvnamer was moved to pkgs.tvnamer"; # added 2021-07-05
   types-cryptography = throw "types-cryptography has been removed because it is obsolete since cryptography version 3.4.4."; # added 2022-05-30
   types-paramiko = throw "types-paramiko has been removed because it was unused."; # added 2022-05-30
+  Wand = wand; # added 2022-11-13
   WazeRouteCalculator = wazeroutecalculator; # added 2021-09-29
   webapp2 = throw "webapp2 is unmaintained since 2012"; # added 2022-05-29
   websocket_client = websocket-client; # added 2021-06-15
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 7f5d9228d4dac..e53cc1f64213c 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -799,6 +799,8 @@ self: super: with self; {
 
   avro-python3 = callPackage ../development/python-modules/avro-python3 { };
 
+  awacs = callPackage ../development/python-modules/awacs { };
+
   awesome-slugify = callPackage ../development/python-modules/awesome-slugify { };
 
   awesomeversion = callPackage ../development/python-modules/awesomeversion { };
@@ -1580,8 +1582,6 @@ self: super: with self; {
 
   coqpit = callPackage ../development/python-modules/coqpit { };
 
-  coqui-trainer = callPackage ../development/python-modules/coqui-trainer {};
-
   cepa = callPackage ../development/python-modules/cepa { };
 
   cerberus = callPackage ../development/python-modules/cerberus { };
@@ -1738,6 +1738,8 @@ self: super: with self; {
 
   clf = callPackage ../development/python-modules/clf { };
 
+  clip = callPackage ../development/python-modules/clip { };
+
   cock = callPackage ../development/python-modules/cock { };
 
   click = callPackage ../development/python-modules/click { };
@@ -3228,8 +3230,6 @@ self: super: with self; {
 
   filelock = callPackage ../development/python-modules/filelock { };
 
-  filemagic = callPackage ../development/python-modules/filemagic { };
-
   filetype = callPackage ../development/python-modules/filetype { };
 
   filterpy = callPackage ../development/python-modules/filterpy { };
@@ -3562,6 +3562,8 @@ self: super: with self; {
 
   fx2 = callPackage ../development/python-modules/fx2 { };
 
+  g2pkk = callPackage ../development/python-modules/g2pkk { };
+
   galario = toPythonModule (pkgs.galario.override {
     enablePython = true;
     pythonPackages = self;
@@ -4653,6 +4655,8 @@ self: super: with self; {
 
   jaeger-client = callPackage ../development/python-modules/jaeger-client { };
 
+  jamo = callPackage ../development/python-modules/jamo { };
+
   janus = callPackage ../development/python-modules/janus { };
 
   jaraco_classes = callPackage ../development/python-modules/jaraco_classes { };
@@ -5055,6 +5059,8 @@ self: super: with self; {
 
   latexcodec = callPackage ../development/python-modules/latexcodec { };
 
+  latexify-py = callPackage ../development/python-modules/latexify-py { };
+
   launchpadlib = callPackage ../development/python-modules/launchpadlib { };
 
   laundrify-aio = callPackage ../development/python-modules/laundrify-aio { };
@@ -6965,6 +6971,8 @@ self: super: with self; {
 
   ppdeep = callPackage ../development/python-modules/ppdeep { };
 
+  prodict = callPackage ../development/python-modules/prodict { };
+
   proxy_tools = callPackage ../development/python-modules/proxy_tools { };
 
   py-nextbusnext = callPackage ../development/python-modules/py-nextbusnext { };
@@ -7139,6 +7147,8 @@ self: super: with self; {
 
   plone-testing = callPackage ../development/python-modules/plone-testing { };
 
+  plotext = callPackage ../development/python-modules/plotext { };
+
   plotly = callPackage ../development/python-modules/plotly { };
 
   plotnine = callPackage ../development/python-modules/plotnine { };
@@ -9646,6 +9656,8 @@ self: super: with self; {
 
   reparser = callPackage ../development/python-modules/reparser { };
 
+  repeated-test = callPackage ../development/python-modules/repeated-test { };
+
   repocheck = callPackage ../development/python-modules/repocheck { };
 
   reportengine = callPackage ../development/python-modules/reportengine { };
@@ -10981,6 +10993,8 @@ self: super: with self; {
 
   termcolor = callPackage ../development/python-modules/termcolor { };
 
+  termgraph = callPackage ../development/python-modules/termgraph { };
+
   terminado = callPackage ../development/python-modules/terminado { };
 
   terminaltables = callPackage ../development/python-modules/terminaltables { };
@@ -11244,6 +11258,8 @@ self: super: with self; {
 
   trackpy = callPackage ../development/python-modules/trackpy { };
 
+  trainer = callPackage ../development/python-modules/trainer {};
+
   traitlets = callPackage ../development/python-modules/traitlets { };
 
   traits = callPackage ../development/python-modules/traits { };
@@ -11296,6 +11312,8 @@ self: super: with self; {
 
   trio-websocket = callPackage ../development/python-modules/trio-websocket { };
 
+  troposphere = callPackage ../development/python-modules/troposphere { };
+
   trueskill = callPackage ../development/python-modules/trueskill { };
 
   trustme = callPackage ../development/python-modules/trustme { };
@@ -11786,7 +11804,7 @@ self: super: with self; {
 
   wallbox = callPackage ../development/python-modules/wallbox { };
 
-  Wand = callPackage ../development/python-modules/Wand { };
+  wand = callPackage ../development/python-modules/wand { };
 
   wandb = callPackage ../development/python-modules/wandb { };
 
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index efef4c7694356..5f18d36f29f03 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -205,7 +205,7 @@ let
         hlint
         hpack
         # hyper-haskell  # depends on electron-10.4.7 which is marked as insecure
-        hyper-haskell-server-with-packages
+        # hyper-haskell-server-with-packages # hyper-haskell-server is broken
         icepeak
         idris
         ihaskell
diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix
index 459baaca2e636..2bf15252f9ada 100644
--- a/pkgs/top-level/splice.nix
+++ b/pkgs/top-level/splice.nix
@@ -8,16 +8,9 @@
 # The solution is to splice the package sets together as we do below, so every
 # `callPackage`d expression in fact gets both versions. Each# derivation (and
 # each derivation's outputs) consists of the run-time version, augmented with a
-# `nativeDrv` field for the build-time version, and `crossDrv` field for the
+# `__spliced.buildHost` field for the build-time version, and `__spliced.hostTarget` field for the
 # run-time version.
 #
-# We could have used any names we want for the disambiguated versions, but
-# `crossDrv` and `nativeDrv` were somewhat similarly used for the old
-# cross-compiling infrastructure. The names are mostly invisible as
-# `mkDerivation` knows how to pull out the right ones for `buildDepends` and
-# friends, but a few packages use them directly, so it seemed efficient (to
-# @Ericson2314) to reuse those names, at least initially, to minimize breakage.
-#
 # For performance reasons, rather than uniformally splice in all cases, we only
 # do so when `pkgs` and `buildPackages` are distinct. The `actuallySplice`
 # parameter there the boolean value of that equality check.
@@ -46,14 +39,16 @@ let
         valueHostTarget = pkgsHostTarget.${name} or {};
         valueTargetTarget = pkgsTargetTarget.${name} or {};
         augmentedValue = defaultValue
-          # TODO(@Ericson2314): Stop using old names after transition period
-          // (lib.optionalAttrs (pkgsBuildHost ? ${name}) { nativeDrv = valueBuildHost; })
-          // (lib.optionalAttrs (pkgsHostTarget ? ${name}) { crossDrv = valueHostTarget; })
+          # TODO(@Artturin): remove before release 23.05 and only have __spliced.
+          // (lib.optionalAttrs (pkgsBuildHost ? ${name}) { nativeDrv = lib.warn "use ${name}.__spliced.buildHost instead of ${name}.nativeDrv" valueBuildHost; })
+          // (lib.optionalAttrs (pkgsHostTarget ? ${name}) { crossDrv = lib.warn "use ${name}.__spliced.hostTarget instead of ${name}.crossDrv" valueHostTarget; })
           // {
             __spliced =
                  (lib.optionalAttrs (pkgsBuildBuild ? ${name}) { buildBuild = valueBuildBuild; })
+              // (lib.optionalAttrs (pkgsBuildHost ? ${name}) { buildHost = valueBuildHost; })
               // (lib.optionalAttrs (pkgsBuildTarget ? ${name}) { buildTarget = valueBuildTarget; })
               // (lib.optionalAttrs (pkgsHostHost ? ${name}) { hostHost = valueHostHost; })
+              // (lib.optionalAttrs (pkgsHostTarget ? ${name}) { hostTarget = valueHostTarget; })
               // (lib.optionalAttrs (pkgsTargetTarget ? ${name}) { targetTarget = valueTargetTarget;
           });
         };