about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/accessibility/squeekboard/default.nix2
-rw-r--r--pkgs/applications/audio/callaudiod/default.nix2
-rw-r--r--pkgs/applications/audio/psst/default.nix6
-rw-r--r--pkgs/applications/audio/psst/make-build-reproducible.patch2
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix1
-rw-r--r--pkgs/applications/audio/waylyrics/default.nix6
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix4
-rw-r--r--pkgs/applications/editors/netbeans/default.nix4
-rw-r--r--pkgs/applications/editors/rstudio/default.nix2
-rw-r--r--pkgs/applications/editors/sublime/4/packages.nix6
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix12
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names1
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix19
-rw-r--r--pkgs/applications/editors/yi/wrapper.nix37
-rw-r--r--pkgs/applications/emulators/retroarch/default.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix8
-rw-r--r--pkgs/applications/graphics/vengi-tools/default.nix4
-rw-r--r--pkgs/applications/misc/bitwarden-menu/default.nix21
-rw-r--r--pkgs/applications/misc/feedbackd/default.nix2
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/notesnook/default.nix19
-rw-r--r--pkgs/applications/misc/nwg-look/default.nix27
-rw-r--r--pkgs/applications/misc/nwg-look/fix-paths.patch35
-rw-r--r--pkgs/applications/misc/nwg-look/go.mod6
-rw-r--r--pkgs/applications/misc/phoc/default.nix2
-rw-r--r--pkgs/applications/misc/pytrainer/default.nix1
-rw-r--r--pkgs/applications/misc/tui-journal/default.nix6
-rw-r--r--pkgs/applications/misc/zathura/cb/default.nix31
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix72
-rw-r--r--pkgs/applications/misc/zathura/default.nix13
-rw-r--r--pkgs/applications/misc/zathura/djvu/default.nix31
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/default.nix50
-rw-r--r--pkgs/applications/misc/zathura/pdf-poppler/default.nix26
-rw-r--r--pkgs/applications/misc/zathura/ps/default.nix31
-rw-r--r--pkgs/applications/misc/zathura/wrapper.nix54
-rw-r--r--pkgs/applications/networking/browsers/ladybird/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/ladybird/nixos-font-path.patch12
-rw-r--r--pkgs/applications/networking/calls/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/krane/Gemfile.lock6
-rw-r--r--pkgs/applications/networking/cluster/krane/gemset.nix12
-rw-r--r--pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/flexget/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-commander/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/frostwire/default.nix99
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/scaleft/default.nix6
-rw-r--r--pkgs/applications/networking/sync/storj-uplink/default.nix6
-rw-r--r--pkgs/applications/office/planify/default.nix4
-rw-r--r--pkgs/applications/office/roam-research/common.nix8
-rw-r--r--pkgs/applications/plasma-mobile/plasma-settings.nix1
-rw-r--r--pkgs/applications/science/logic/petrinizer/default.nix31
-rw-r--r--pkgs/applications/terminal-emulators/rio/default.nix6
-rw-r--r--pkgs/applications/terminal-emulators/terminator/default.nix6
-rw-r--r--pkgs/applications/version-management/git-mit/default.nix6
-rw-r--r--pkgs/applications/version-management/gitnuro/default.nix9
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix21
-rw-r--r--pkgs/applications/video/simplescreenrecorder/fix-paths.patch35
-rw-r--r--pkgs/applications/virtualization/tart/default.nix2
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix13
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix2
-rw-r--r--pkgs/applications/window-managers/lemonbar/default.nix4
-rw-r--r--pkgs/applications/window-managers/phosh/default.nix2
-rw-r--r--pkgs/build-support/emacs/melpa.nix32
-rw-r--r--pkgs/by-name/an/ananicy-rules-cachyos/package.nix6
-rw-r--r--pkgs/by-name/au/audiness/package.nix4
-rw-r--r--pkgs/by-name/au/autosuspend/package.nix1
-rw-r--r--pkgs/by-name/bi/bicep/package.nix15
-rw-r--r--pkgs/by-name/cc/ccache/package.nix186
-rw-r--r--pkgs/by-name/cd/cdecl-blocks/cdecl-2.5-lex.patch (renamed from pkgs/by-name/cd/cdecl/cdecl-2.5-lex.patch)0
-rw-r--r--pkgs/by-name/cd/cdecl-blocks/package.nix82
-rw-r--r--pkgs/by-name/cd/cdecl-blocks/test_remove_interactive_line.patch (renamed from pkgs/by-name/cd/cdecl/test_remove_interactive_line.patch)0
-rw-r--r--pkgs/by-name/cd/cdecl/package.nix48
-rw-r--r--pkgs/by-name/cl/cloudlogoffline/package.nix31
-rw-r--r--pkgs/by-name/dg/dgoss/package.nix31
-rw-r--r--pkgs/by-name/fa/fastfetch/package.nix4
-rw-r--r--pkgs/by-name/gm/gmic-qt/package.nix4
-rw-r--r--pkgs/by-name/go/gosmee/package.nix4
-rw-r--r--pkgs/by-name/go/goss/package.nix10
-rw-r--r--pkgs/by-name/gr/grafana-kiosk/package.nix6
-rw-r--r--pkgs/by-name/gu/gungnir/package.nix4
-rw-r--r--pkgs/by-name/ha/harmonia/package.nix (renamed from pkgs/tools/package-management/harmonia/default.nix)8
-rw-r--r--pkgs/by-name/he/hermitcli/package.nix6
-rw-r--r--pkgs/by-name/ho/home-manager/package.nix6
-rw-r--r--pkgs/by-name/hu/hugo/package.nix4
-rw-r--r--pkgs/by-name/iw/iw/package.nix (renamed from pkgs/os-specific/linux/iw/default.nix)34
-rw-r--r--pkgs/by-name/li/libfmvoice/package.nix6
-rw-r--r--pkgs/by-name/li/liboqs/fix-openssl-detection.patch (renamed from pkgs/development/libraries/liboqs/fix-openssl-detection.patch)0
-rw-r--r--pkgs/by-name/li/liboqs/package.nix (renamed from pkgs/development/libraries/liboqs/default.nix)26
-rw-r--r--pkgs/by-name/li/limine/package.nix4
-rw-r--r--pkgs/by-name/lu/lunacy/package.nix16
-rw-r--r--pkgs/by-name/ma/marked-man/package-lock.json387
-rw-r--r--pkgs/by-name/ma/marked-man/package.nix35
-rw-r--r--pkgs/by-name/ma/matugen/package.nix6
-rw-r--r--pkgs/by-name/me/mealie/mealie-frontend.nix2
-rw-r--r--pkgs/by-name/me/mealie/mealie-logs-to-stdout.patch103
-rw-r--r--pkgs/by-name/me/mealie/package.nix44
-rw-r--r--pkgs/by-name/me/mercure/package.nix6
-rw-r--r--pkgs/by-name/me/meson/package.nix7
-rw-r--r--pkgs/by-name/ne/neovide/package.nix8
-rw-r--r--pkgs/by-name/ne/newsraft/package.nix4
-rw-r--r--pkgs/by-name/nr/nrr/package.nix6
-rw-r--r--pkgs/by-name/nu/numbat/package.nix6
-rw-r--r--pkgs/by-name/oe/oelint-adv/package.nix4
-rw-r--r--pkgs/by-name/oh/oh-my-posh/package.nix6
-rw-r--r--pkgs/by-name/oo/oo7/Cargo.lock1980
-rw-r--r--pkgs/by-name/oo/oo7/package.nix60
-rw-r--r--pkgs/by-name/op/openfga/package.nix6
-rw-r--r--pkgs/by-name/po/powerpipe/package.nix6
-rw-r--r--pkgs/by-name/pr/proto/package.nix6
-rw-r--r--pkgs/by-name/pw/pwalarmd/package.nix37
-rw-r--r--pkgs/by-name/ra/rasm/package.nix4
-rw-r--r--pkgs/by-name/ri/ricochet-refresh/package.nix4
-rw-r--r--pkgs/by-name/sa/satty/package.nix6
-rw-r--r--pkgs/by-name/sn/snippetexpander/package.nix1
-rw-r--r--pkgs/by-name/sn/snippetexpandergui/package.nix1
-rw-r--r--pkgs/by-name/sn/snippetexpanderx/package.nix1
-rw-r--r--pkgs/by-name/st/stalwart-mail/package.nix7
-rw-r--r--pkgs/by-name/tr/tracexec/package.nix6
-rw-r--r--pkgs/by-name/tr/tradingview/package.nix6
-rw-r--r--pkgs/by-name/up/updatecli/package.nix6
-rw-r--r--pkgs/by-name/uv/uv/Cargo.lock66
-rw-r--r--pkgs/by-name/uv/uv/package.nix4
-rw-r--r--pkgs/by-name/ux/uxn/package.nix6
-rw-r--r--pkgs/by-name/wi/wireguard-vanity-keygen/package.nix4
-rw-r--r--pkgs/by-name/wi/wit-bindgen/package.nix6
-rw-r--r--pkgs/by-name/wl/wlinhibit/package.nix42
-rw-r--r--pkgs/by-name/wl/wlr-layout-ui/package.nix4
-rw-r--r--pkgs/by-name/yg/yggdrasil/package.nix6
-rw-r--r--pkgs/by-name/ze/zed-editor/Cargo.lock3
-rw-r--r--pkgs/by-name/ze/zed-editor/package.nix4
-rw-r--r--pkgs/by-name/zi/zig-shell-completions/package.nix (renamed from pkgs/development/compilers/zig/shell-completions.nix)11
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix180
-rw-r--r--pkgs/data/fonts/joypixels/default.nix34
-rw-r--r--pkgs/data/icons/flat-remix-icon-theme/default.nix7
-rw-r--r--pkgs/data/themes/orchis-theme/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix32
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell-extensions/fix_gtop.patch25
-rw-r--r--pkgs/desktops/gnome/extensions/buildGnomeExtension.nix2
-rw-r--r--pkgs/desktops/gnome/extensions/collisions.json417
-rw-r--r--pkgs/desktops/gnome/extensions/extensionRenames.nix106
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json270
-rwxr-xr-xpkgs/desktops/gnome/extensions/update-extensions.py24
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix8
-rw-r--r--pkgs/development/compilers/zig/0.10.nix43
-rw-r--r--pkgs/development/compilers/zig/0.10/001-0.10-macho-fixes.patch (renamed from pkgs/development/compilers/zig/002-0.10-macho-fixes.patch)0
-rw-r--r--pkgs/development/compilers/zig/0.10/default.nix109
-rw-r--r--pkgs/development/compilers/zig/0.10/hook.nix47
-rw-r--r--pkgs/development/compilers/zig/0.10/setup-hook.sh70
-rw-r--r--pkgs/development/compilers/zig/0.11.nix37
-rw-r--r--pkgs/development/compilers/zig/0.11/default.nix103
-rw-r--r--pkgs/development/compilers/zig/0.11/hook.nix47
-rw-r--r--pkgs/development/compilers/zig/0.11/setup-hook.sh70
-rw-r--r--pkgs/development/compilers/zig/0.12.nix37
-rw-r--r--pkgs/development/compilers/zig/0.12/default.nix103
-rw-r--r--pkgs/development/compilers/zig/0.12/hook.nix47
-rw-r--r--pkgs/development/compilers/zig/0.12/setup-hook.sh70
-rw-r--r--pkgs/development/compilers/zig/0.9.nix47
-rw-r--r--pkgs/development/compilers/zig/0.9/000-0.9-read-dynstr-at-rpath-offset.patch (renamed from pkgs/development/compilers/zig/000-0.9-read-dynstr-at-rpath-offset.patch)0
-rw-r--r--pkgs/development/compilers/zig/0.9/001-0.9-bump-macos-supported-version.patch (renamed from pkgs/development/compilers/zig/001-0.9-bump-macos-supported-version.patch)0
-rw-r--r--pkgs/development/compilers/zig/0.9/default.nix111
-rw-r--r--pkgs/development/compilers/zig/0.9/hook.nix47
-rw-r--r--pkgs/development/compilers/zig/0.9/setup-hook.sh70
-rw-r--r--pkgs/development/coq-modules/compcert/default.nix2
-rw-r--r--pkgs/development/coq-modules/mathcomp-word/default.nix6
-rw-r--r--pkgs/development/idris-modules/default.nix3
-rw-r--r--pkgs/development/idris-modules/sdl.nix30
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/default.nix1
-rw-r--r--pkgs/development/interpreters/micropython/default.nix4
-rw-r--r--pkgs/development/julia-modules/depot.nix5
-rw-r--r--pkgs/development/julia-modules/tests/julia-top-n/app/Main.hs6
-rw-r--r--pkgs/development/julia-modules/tests/julia-top-n/julia-top-n.cabal1
-rw-r--r--pkgs/development/julia-modules/tests/julia-top-n/package.yaml1
-rw-r--r--pkgs/development/libraries/gamin/default.nix4
-rw-r--r--pkgs/development/libraries/gtk-sharp/2.0.nix4
-rw-r--r--pkgs/development/libraries/imgui/default.nix2
-rw-r--r--pkgs/development/libraries/imtui/default.nix7
-rw-r--r--pkgs/development/libraries/json-fortran/default.nix4
-rw-r--r--pkgs/development/libraries/libgeotiff/default.nix4
-rw-r--r--pkgs/development/libraries/libphonenumber/default.nix46
-rw-r--r--pkgs/development/libraries/mpich/default.nix8
-rw-r--r--pkgs/development/libraries/pe-parse/default.nix4
-rw-r--r--pkgs/development/libraries/simdjson/default.nix4
-rw-r--r--pkgs/development/libraries/spdk/0001-fix-setuptools-installation.patch29
-rw-r--r--pkgs/development/libraries/spdk/default.nix20
-rw-r--r--pkgs/development/libraries/spdk/setuptools.patch25
-rw-r--r--pkgs/development/libraries/toml-f/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/data-encoding/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/menhir/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/menhir/sdk.nix2
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix7
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp-apispec/default.nix2
-rw-r--r--pkgs/development/python-modules/aiozoneinfo/default.nix49
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix6
-rw-r--r--pkgs/development/python-modules/epitran/default.nix1
-rw-r--r--pkgs/development/python-modules/fyta-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/grafanalib/default.nix1
-rw-r--r--pkgs/development/python-modules/httpauth/default.nix4
-rw-r--r--pkgs/development/python-modules/inkex/default.nix1
-rw-r--r--pkgs/development/python-modules/islpy/default.nix6
-rw-r--r--pkgs/development/python-modules/langsmith/default.nix4
-rw-r--r--pkgs/development/python-modules/mapbox-earcut/default.nix1
-rw-r--r--pkgs/development/python-modules/marimo/default.nix4
-rw-r--r--pkgs/development/python-modules/meeko/default.nix4
-rw-r--r--pkgs/development/python-modules/nanobind/default.nix23
-rw-r--r--pkgs/development/python-modules/opower/default.nix14
-rw-r--r--pkgs/development/python-modules/osc/default.nix4
-rw-r--r--pkgs/development/python-modules/pyathena/default.nix4
-rw-r--r--pkgs/development/python-modules/pylink-square/default.nix1
-rw-r--r--pkgs/development/python-modules/pysaml2/default.nix1
-rw-r--r--pkgs/development/python-modules/python-musicpd/default.nix5
-rw-r--r--pkgs/development/python-modules/pytun/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/qutip/default.nix18
-rw-r--r--pkgs/development/python-modules/rapidfuzz/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinxawesome-theme/default.nix36
-rw-r--r--pkgs/development/python-modules/stringly/default.nix5
-rw-r--r--pkgs/development/python-modules/svg2tikz/default.nix19
-rw-r--r--pkgs/development/python-modules/testcontainers/default.nix8
-rw-r--r--pkgs/development/python-modules/transformers/default.nix4
-rw-r--r--pkgs/development/python-modules/treelog/default.nix5
-rw-r--r--pkgs/development/tools/air/default.nix4
-rw-r--r--pkgs/development/tools/analysis/stylelint/default.nix6
-rw-r--r--pkgs/development/tools/backblaze-b2/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix6
-rw-r--r--pkgs/development/tools/cmake-format/default.nix1
-rw-r--r--pkgs/development/tools/doctl/default.nix4
-rw-r--r--pkgs/development/tools/go-minimock/default.nix4
-rw-r--r--pkgs/development/tools/language-servers/jq-lsp/default.nix6
-rw-r--r--pkgs/development/tools/misc/premake/5.nix9
-rw-r--r--pkgs/development/tools/misc/seer/default.nix12
-rw-r--r--pkgs/development/tools/misc/texinfo/4.13a.nix6
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--pkgs/development/tools/squawk/default.nix6
-rw-r--r--pkgs/development/web/edge-runtime/default.nix4
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix2
-rw-r--r--pkgs/games/adom/default.nix60
-rw-r--r--pkgs/kde/default.nix1
-rw-r--r--pkgs/kde/generated/sources/plasma.json6
-rw-r--r--pkgs/kde/misc/marknote/default.nix29
-rw-r--r--pkgs/os-specific/bsd/freebsd/pkgs/libcxxrt.nix11
-rw-r--r--pkgs/os-specific/bsd/netbsd/pkgs/make-rules.nix1
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h129
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix86
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix118
-rw-r--r--pkgs/os-specific/linux/kernel/htmldocs.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/kernels-org.json8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix4
-rw-r--r--pkgs/servers/dns/pdns/default.nix4
-rw-r--r--pkgs/servers/gemini/stargazer/default.nix6
-rw-r--r--pkgs/servers/home-assistant/default.nix10
-rw-r--r--pkgs/servers/home-automation/evcc/default.nix4
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/http/nginx/stable.nix4
-rw-r--r--pkgs/servers/http/pomerium/0001-envoy-allow-specification-of-external-binary.patch (renamed from pkgs/servers/http/pomerium/external-envoy.diff)27
-rw-r--r--pkgs/servers/http/pomerium/default.nix11
-rw-r--r--pkgs/servers/http/pomerium/package.json10
-rw-r--r--pkgs/servers/http/pomerium/yarn-hash2
-rw-r--r--pkgs/servers/mail/smtprelay/default.nix4
-rw-r--r--pkgs/servers/mastodon/default.nix3
-rw-r--r--pkgs/servers/mastodon/gemset.nix35
-rw-r--r--pkgs/servers/mastodon/source.nix4
-rw-r--r--pkgs/servers/matrix-synapse/plugins/rendezvous.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/nginx-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/sabnzbd-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/thanos/default.nix6
-rw-r--r--pkgs/servers/redpanda/default.nix4
-rw-r--r--pkgs/servers/roadrunner/default.nix6
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix1
-rw-r--r--pkgs/servers/sqlpage/default.nix18
-rw-r--r--pkgs/shells/dgsh/default.nix48
-rw-r--r--pkgs/shells/dgsh/glibc-2.26.patch12
-rw-r--r--pkgs/stdenv/generic/check-meta.nix8
-rw-r--r--pkgs/test/check-by-name/README.md2
-rw-r--r--pkgs/tools/admin/ejson2env/default.nix6
-rw-r--r--pkgs/tools/admin/lego/default.nix8
-rw-r--r--pkgs/tools/admin/qovery-cli/default.nix4
-rw-r--r--pkgs/tools/audio/spotdl/default.nix1
-rw-r--r--pkgs/tools/filesystems/httm/Cargo.lock1239
-rw-r--r--pkgs/tools/filesystems/httm/default.nix18
-rw-r--r--pkgs/tools/misc/pandoc-include/default.nix3
-rw-r--r--pkgs/tools/misc/phrase-cli/default.nix6
-rw-r--r--pkgs/tools/misc/pistol/default.nix6
-rw-r--r--pkgs/tools/misc/scdl/default.nix10
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/Cargo.lock907
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/default.nix24
-rw-r--r--pkgs/tools/networking/aardvark-dns/default.nix6
-rw-r--r--pkgs/tools/networking/grpc_cli/default.nix4
-rw-r--r--pkgs/tools/networking/netbird/default.nix6
-rw-r--r--pkgs/tools/networking/ockam/default.nix6
-rw-r--r--pkgs/tools/networking/yrd/default.nix37
-rw-r--r--pkgs/tools/security/beyond-identity/default.nix7
-rw-r--r--pkgs/tools/security/schleuder/Gemfile1
-rw-r--r--pkgs/tools/security/schleuder/Gemfile.lock67
-rw-r--r--pkgs/tools/security/schleuder/cli/Gemfile2
-rw-r--r--pkgs/tools/security/schleuder/cli/Gemfile.lock12
-rw-r--r--pkgs/tools/security/schleuder/cli/gemset.nix10
-rw-r--r--pkgs/tools/security/schleuder/gemset.nix112
-rw-r--r--pkgs/tools/security/scorecard/default.nix13
-rw-r--r--pkgs/tools/wayland/wluma/default.nix23
-rw-r--r--pkgs/top-level/aliases.nix6
-rw-r--r--pkgs/top-level/all-packages.nix38
-rw-r--r--pkgs/top-level/darwin-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix4
316 files changed, 7086 insertions, 3357 deletions
diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix
index 494988a39b2f3..185bb2746a4e7 100644
--- a/pkgs/applications/accessibility/squeekboard/default.nix
+++ b/pkgs/applications/accessibility/squeekboard/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
     description = "A virtual keyboard supporting Wayland";
     homepage = "https://gitlab.gnome.org/World/Phosh/squeekboard";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ artturin tomfitzhenry ];
+    maintainers = with maintainers; [ artturin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/callaudiod/default.nix b/pkgs/applications/audio/callaudiod/default.nix
index 0723bfe7a0f42..2a64a18326c16 100644
--- a/pkgs/applications/audio/callaudiod/default.nix
+++ b/pkgs/applications/audio/callaudiod/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     description = "Daemon for dealing with audio routing during phone calls";
     homepage = "https://gitlab.com/mobian1/callaudiod";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ pacman99 tomfitzhenry ];
+    maintainers = with maintainers; [ pacman99 ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/psst/default.nix b/pkgs/applications/audio/psst/default.nix
index 4d81f3f212bbb..2bd8573ab5807 100644
--- a/pkgs/applications/audio/psst/default.nix
+++ b/pkgs/applications/audio/psst/default.nix
@@ -16,13 +16,13 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "psst";
-  version = "unstable-2024-04-01";
+  version = "unstable-2024-05-26";
 
   src = fetchFromGitHub {
     owner = "jpochyla";
     repo = pname;
-    rev = "37d8da11774c6eff3d1c2902ac883dace178e832";
-    hash = "sha256-BGIbf7jtrspFqURyy2AIYKSSkcirLgj0oUBq0CHl+2s=";
+    rev = "6c9cd3f91653764b832ea5136cda04c9e0f8fe50";
+    hash = "sha256-bttF+yX1BT4t1TUmJBs0OZuPD+6uPxHlb8YzRIVNKTQ=";
   };
 
   cargoLock = {
diff --git a/pkgs/applications/audio/psst/make-build-reproducible.patch b/pkgs/applications/audio/psst/make-build-reproducible.patch
index 5598c443b3c6b..17a93ef76caed 100644
--- a/pkgs/applications/audio/psst/make-build-reproducible.patch
+++ b/pkgs/applications/audio/psst/make-build-reproducible.patch
@@ -51,7 +51,7 @@ index fcbd491..2d71ee3 100644
 -pub const GIT_VERSION: &str = git_version!();
 -pub const BUILD_TIME: &str = include!(concat!(env!("OUT_DIR"), "/build-time.txt"));
 -pub const REMOTE_URL: &str = include!(concat!(env!("OUT_DIR"), "/remote-url.txt"));
-+pub const GIT_VERSION: &str = "37d8da11774c6eff3d1c2902ac883dace178e832";
++pub const GIT_VERSION: &str = "6c9cd3f91653764b832ea5136cda04c9e0f8fe50";
 +pub const BUILD_TIME: &str = "1970-01-01 00:00:00";
 +pub const REMOTE_URL: &str = "https://github.com/jpochyla/psst";
  
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index 0ef2bd5a6c40e..2623799cd5fc6 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -4,7 +4,6 @@
 , pkg-config
 , meson
 , ninja
-, fetchFromGitLab
 , python3
 , vala
 , glib
diff --git a/pkgs/applications/audio/waylyrics/default.nix b/pkgs/applications/audio/waylyrics/default.nix
index 5d209e5a61ef0..2fb67fdda38bd 100644
--- a/pkgs/applications/audio/waylyrics/default.nix
+++ b/pkgs/applications/audio/waylyrics/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "waylyrics";
-  version = "0.3.9";
+  version = "0.3.10";
 
   src = fetchFromGitHub {
     owner = "waylyrics";
     repo = "waylyrics";
     rev = "v${version}";
-    hash = "sha256-RLqBjN5haZKjbTK8U2Y62IY+D9lR3NaHK3erAcauhzE=";
+    hash = "sha256-JqCnVkqua/qOZjE+XKj3PyrGwqk7IToYOhLN78fKdq0=";
   };
 
-  cargoHash = "sha256-yEoYPG362rloCXVO23/qR8vbmxHv2hot3AhYgJknrOY=";
+  cargoHash = "sha256-fVwY+lkfg/O1sPM0C7NOdb8/pln96vBcmCAWh0pEPHI=";
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook4 ];
   buildInputs = [ openssl dbus ];
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix
index 017c1c1eb0ce3..d9e2b850588c8 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix
@@ -1,8 +1,4 @@
 { lib
-, pkgs
-, symlinkJoin
-, fetchzip
-, melpaBuild
 , stdenv
 , writeText
 , melpaStablePackages
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index b61d88450148f..54169113aba26 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "21";
+  version = "22";
   desktopItem = makeDesktopItem {
     name = "netbeans";
     exec = "netbeans";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetchurl {
     url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
-    hash = "sha256-enGpaDxSaoR8H/Q7yUA9XAHFC3OePFFw/v+yqn+69/0=";
+    hash = "sha256-uuzC2iiTSn3czWod3aBbNh8mVM5bCvmjKUl0ptNdm3M=";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index 72c9ef5a2730c..0ab4481385a63 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -28,8 +28,6 @@
 , soci
 , postgresql
 , nodejs
-, mkYarnModules
-, fetchYarnDeps
 , qmake
 , server ? false # build server version
 , sqlite
diff --git a/pkgs/applications/editors/sublime/4/packages.nix b/pkgs/applications/editors/sublime/4/packages.nix
index d77a6205fc208..9bfbbd1c1d695 100644
--- a/pkgs/applications/editors/sublime/4/packages.nix
+++ b/pkgs/applications/editors/sublime/4/packages.nix
@@ -11,9 +11,9 @@ in
   } { };
 
   sublime4-dev = common {
-    buildVersion = "4173";
+    buildVersion = "4175";
     dev = true;
-    x64sha256 = "JEf974X+m0XaZ5x2g4o5XYkdo2A0cIZNjFLCrIgFzEA=";
-    aarch64sha256 = "+aVV7o59ZFwSOyV0DDNUpaq3q21bXslE+Oz/i33X+4Y=";
+    x64sha256 = "xncyxAaFJLLMko/iF6fhnpkOEHzD3nzWWGQCRK9srq4=";
+    aarch64sha256 = "oqz1HASwmv0B1T3ZQBdIOZD9wYcHbni8tovW7jGp3KM=";
   } { };
 }
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 8d86fafcd24b9..e0a62c0b63c3c 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -17370,5 +17370,17 @@ final: prev:
     meta.homepage = "https://github.com/jhradilek/vim-snippets/";
   };
 
+  faster-nvim = buildVimPlugin {
+    pname = "faster-nvim";
+    version = "2024-04-11";
+    src = fetchFromGitHub {
+      owner = "pteroctopus";
+      repo = "faster.nvim";
+      rev = "e85c5bdff0cd1e17cbee855ae23c25e7b8e597cb";
+      sha256 = "sha256-oruxdxoMq46F9lf1JxkbrqdzR0JwDE1y/cVCaTD4SBg=";
+    };
+    meta.homepage = "https://github.com/pteroctopus/faster.nvim";
+  };
+
 
 }
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index af1e99b87d154..7c6479d415538 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -298,6 +298,7 @@ https://github.com/google/executor.nvim/,HEAD,
 https://github.com/jinh0/eyeliner.nvim/,HEAD,
 https://github.com/fenetikm/falcon/,,
 https://github.com/brooth/far.vim/,,
+https://github.com/pteroctopus/faster.nvim/,HEAD,
 https://github.com/konfekt/fastfold/,,
 https://github.com/lilydjwg/fcitx.vim/,fcitx5,
 https://github.com/freddiehaddad/feline.nvim/,,
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 3eeb461261c89..a70ebb882f9a4 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -406,8 +406,8 @@ let
         mktplcRef = {
           name = "vscode-neovim";
           publisher = "asvetliakov";
-          version = "1.11.4";
-          hash = "sha256-dAovrYfA5muPNhFIHycxuO0CIWPT4T9hsEzri1JDOUI=";
+          version = "1.14.1";
+          hash = "sha256-taO9jxNC4mvli08Gbl8oO70T+RkfZkztoVZYWeVY4Bs=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/asvetliakov.vscode-neovim/changelog";
@@ -1030,6 +1030,21 @@ let
         };
       };
 
+      danielgavin.ols = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "DanielGavin";
+          name = "ols";
+          version = "0.1.28";
+          hash = "sha256-yVXltjvtLc+zqela/Jyg+g66PU61+YTMX1hWPW8fIkk=";
+        };
+        meta = {
+          description = "A Visual Studio Code extension for Odin language";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=DanielGavin.ols";
+          homepage = "https://github.com/DanielGavin/ols";
+          license = lib.licenses.mit;
+        };
+      };
+
       daohong-emilio.yash = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "daohong-emilio";
diff --git a/pkgs/applications/editors/yi/wrapper.nix b/pkgs/applications/editors/yi/wrapper.nix
deleted file mode 100644
index 356a04b36e96a..0000000000000
--- a/pkgs/applications/editors/yi/wrapper.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-# To use this for hacking of your Yi config file, drop into a shell
-# with env attribute.
-{ lib, stdenv, makeWrapper
-, haskellPackages
-, extraPackages ? (s: [])
-}:
-let
-  yiEnv = haskellPackages.ghcWithPackages
-    (self: [ self.yi ] ++ extraPackages self);
-in
-stdenv.mkDerivation {
-  pname = "yi-custom";
-  version = "0.0.0.1";
-  dontUnpack = true;
-  nativeBuildInputs = [ makeWrapper ];
-
-  buildCommand = ''
-    mkdir -p $out/bin
-    makeWrapper ${haskellPackages.yi}/bin/yi $out/bin/yi \
-      --set NIX_GHC ${yiEnv}/bin/ghc
-  '';
-
-  # For hacking purposes
-  passthru.env = yiEnv;
-
-  meta = with lib; {
-    description = "Allows Yi to find libraries and the compiler easily";
-    # This wrapper and wrapper only is under PD
-    license = licenses.publicDomain;
-    maintainers = with maintainers; [ ];
-
-    # dependency yi-language no longer builds
-    hydraPlatforms = lib.platforms.none;
-    broken = true;
-  };
-
-}
diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix
index 0e86d182f3e22..79fa7648fbe75 100644
--- a/pkgs/applications/emulators/retroarch/default.nix
+++ b/pkgs/applications/emulators/retroarch/default.nix
@@ -47,12 +47,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "retroarch-bare";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "RetroArch";
-    hash = "sha256-uOnFkLrLQlBbUlIFA8wrOkQdVIvO7Np7fvi+sPJPtHE=";
+    hash = "sha256-xn6lFknL5y9WozGZtqiZVyVzOuNheGhwxWlfFOYVFzU=";
     rev = "v${version}";
   };
 
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 007f855d805db..b6d6007226a61 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -14,24 +14,24 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "24.4.0";
+  version = "24.4.8";
 
   src = fetchFromGitHub {
     owner = "jgraph";
     repo = "drawio-desktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-x+9e0DPvYuxFqZAuCuzndz2E1iKdsmtN9WGUQPc9/uM=";
+    hash = "sha256-dtkRi7oisdgMAbaltPcz5umxcd6/F1WOjKQpJUAFFY0=";
   };
 
   # `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead
   postPatch = ''
-    sed -i -e 's/resetAdHocDarwinSignature:.*/resetAdHocDarwinSignature: false,/' build/fuses.js
+    sed -i -e 's/resetAdHocDarwinSignature:.*/resetAdHocDarwinSignature: false,/' build/fuses.cjs
   '';
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-OL4AcV8Fy25liRn4oVTLjUKyIuDKBsXHyN5RG3qexu4=";
+    hash = "sha256-JbDIaO5jgPAoSD3hkMaKp3vLU5Avt+G5h427bvWJ08k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/vengi-tools/default.nix b/pkgs/applications/graphics/vengi-tools/default.nix
index 402d820843ddc..21a0389949046 100644
--- a/pkgs/applications/graphics/vengi-tools/default.nix
+++ b/pkgs/applications/graphics/vengi-tools/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "vengi-tools";
-  version = "0.0.31";
+  version = "0.0.32";
 
   src = fetchFromGitHub {
     owner = "mgerhardy";
     repo = "vengi";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-0ta7rBWc4qUqsKDU/KSzx2x+fF2GVw77lQvRgt4bkpI=";
+    hash = "sha256-3oL+hRFATdJmBmZK55Ui2blj8LTqt/zJWJ85kSUFCY4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/bitwarden-menu/default.nix b/pkgs/applications/misc/bitwarden-menu/default.nix
index 5e067ac807d94..4c6eb0f1686bd 100644
--- a/pkgs/applications/misc/bitwarden-menu/default.nix
+++ b/pkgs/applications/misc/bitwarden-menu/default.nix
@@ -1,23 +1,30 @@
 { lib
 , buildPythonApplication
+, python3Packages
 , fetchPypi
 , pynput
-, xdg
+, xdg-base-dirs
 }:
 
 buildPythonApplication rec {
   pname = "bitwarden-menu";
-  version = "0.4.1";
-  format = "setuptools";
+  version = "0.4.3";
+  format = "pyproject";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-OC+MHEiUU6bDT2wSSDtu0KnwDwBpbLTBta0xjfuzlOI=";
+    pname = "bitwarden_menu";
+    inherit version;
+    hash = "sha256-tuIolWvQ/vKSJr6oUTL7ZLPgdkYsIZods5yQNNfWbWY=";
   };
 
+  nativeBuildInputs = with python3Packages; [
+    hatch-vcs
+    hatchling
+  ];
+
   propagatedBuildInputs = [
     pynput
-    xdg
+    xdg-base-dirs
   ];
 
   doCheck = false;
@@ -28,6 +35,6 @@ buildPythonApplication rec {
     mainProgram = "bwm";
     homepage = "https://github.com/firecat53/bitwarden-menu";
     license = licenses.mit;
-    maintainers = [ ];
+    maintainers = with maintainers; [ aman9das ];
   };
 }
diff --git a/pkgs/applications/misc/feedbackd/default.nix b/pkgs/applications/misc/feedbackd/default.nix
index 2c7320fdd9ef2..94962dd7f4e87 100644
--- a/pkgs/applications/misc/feedbackd/default.nix
+++ b/pkgs/applications/misc/feedbackd/default.nix
@@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
     description = "A daemon to provide haptic (and later more) feedback on events";
     homepage = "https://source.puri.sm/Librem5/feedbackd";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ pacman99 tomfitzhenry ];
+    maintainers = with maintainers; [ pacman99 ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index b6e6067875328..8ff55fda8e2b5 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -18,13 +18,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gpxsee";
-  version = "13.20";
+  version = "13.21";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = finalAttrs.version;
-    hash = "sha256-zZjE1mXZPPda4CjkOeKtLvFZO31ta4kucpzsriR2+Nw=";
+    hash = "sha256-rg4czTni8toAwzppgNdi/lfUDudKkEqZUZziiIiyJm0=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/notesnook/default.nix b/pkgs/applications/misc/notesnook/default.nix
index 7742a54c6c0c5..a3423dcdb5a1c 100644
--- a/pkgs/applications/misc/notesnook/default.nix
+++ b/pkgs/applications/misc/notesnook/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, appimageTools, fetchurl, undmg }:
+{ lib, stdenv, appimageTools, fetchurl, _7zz }:
 
 let
   pname = "notesnook";
-  version = "2.6.1";
+  version = "3.0.6";
 
   inherit (stdenv.hostPlatform) system;
   throwSystem = throw "Unsupported system: ${system}";
@@ -16,9 +16,9 @@ let
   src = fetchurl {
     url = "https://github.com/streetwriters/notesnook/releases/download/v${version}/notesnook_${suffix}";
     hash = {
-      x86_64-linux = "sha256-PLHP1Q4+xcHyr0323K4BD+oH57SspsrAcxRe/C6RFDU=";
-      x86_64-darwin = "sha256-gOUL3qLSM+/pr519Gc0baUtbmhA40lG6XzuCRyGILkc=";
-      aarch64-darwin = "sha256-d1nXdCv1mK4+4Gef1upIkHS3J2d9qzTLXbBWabsJwpw=";
+      x86_64-linux = "sha256-606+8euLnZdIPUwi+wilJgvnNQNwBCj6AGZFmp9HOWs=";
+      x86_64-darwin = "sha256-A0Rbm6boYI2B3Ne+FczAM3qmtM2KwNWD+C2N0sgWRtg=";
+      aarch64-darwin = "sha256-Jm7rZWEsMspjKrMODGPBGJP0I5fF3aj+WXdBNsmv4jw=";
     }.${system} or throwSystem;
   };
 
@@ -36,7 +36,7 @@ let
     '';
     homepage = "https://notesnook.com";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ j0lol ];
+    maintainers = with maintainers; [ cig0 j0lol ];
     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
     mainProgram = "notesnook";
   };
@@ -59,10 +59,15 @@ let
   darwin = stdenv.mkDerivation {
     inherit pname version src meta;
 
-    nativeBuildInputs = [ undmg ];
+    nativeBuildInputs = [ _7zz ];
 
     sourceRoot = "Notesnook.app";
 
+    # 7zz did not unpack in setup hook for some reason, done manually here
+    unpackPhase = ''
+      7zz x $src
+    '';
+
     installPhase = ''
       mkdir -p $out/Applications/Notesnook.app
       cp -R . $out/Applications/Notesnook.app
diff --git a/pkgs/applications/misc/nwg-look/default.nix b/pkgs/applications/misc/nwg-look/default.nix
index 5ce8ad87ba37d..11f7cda2da168 100644
--- a/pkgs/applications/misc/nwg-look/default.nix
+++ b/pkgs/applications/misc/nwg-look/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, substituteAll
+, wrapGAppsHook3
 , buildGoModule
 , go
 , glib
@@ -15,32 +15,26 @@
 
 buildGoModule rec {
   pname = "nwg-look";
-  version = "0.2.6";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-look";
     rev = "v${version}";
-    hash = "sha256-kOoYhJKt7/BsQ0/RuVhj0bWnX9GU8ET3MSq6NMCOw5E=";
+    hash = "sha256-qUNTJkNHWoJisLH0SU23UQuamEL27MMRnxw0kBxzWLk=";
   };
 
-  vendorHash = "sha256-V0KXK6jxBYI+tixBLq24pJJcnu4gDF6nfyns2IBTss4=";
-
-  # Replace /usr/ directories with the packages output location
-  # This means it references the correct path
-  patches = [ ./fix-paths.patch ];
-
-  postPatch = ''
-    substituteInPlace main.go tools.go --replace '@out@' $out
-  '';
+  vendorHash = "sha256-qHWy9OCxENrrWk00YoRveSjqYWIy/fe4Fyc8tc4n34E=";
 
   ldflags = [ "-s" "-w" ];
 
   nativeBuildInputs = [
     pkg-config
+    wrapGAppsHook3
   ];
 
   buildInputs = [
+    glib
     cairo
     xcur2png
     libX11.dev
@@ -55,12 +49,21 @@ buildGoModule rec {
     mkdir -p $out/share/nwg-look/langs
     mkdir -p $out/share/applications
     mkdir -p $out/share/pixmaps
+    mkdir -p $out/share/icons
     cp stuff/main.glade $out/share/nwg-look/
     cp langs/* $out/share/nwg-look/langs
     cp stuff/nwg-look.desktop $out/share/applications
     cp stuff/nwg-look.svg $out/share/pixmaps
   '';
 
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : "${glib.bin}/bin"
+      --prefix PATH : "${xcur2png}/bin"
+      --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}"
+    )
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/nwg-piotr/nwg-look";
     description = "Nwg-look is a GTK3 settings editor, designed to work properly in wlroots-based Wayland environment.";
diff --git a/pkgs/applications/misc/nwg-look/fix-paths.patch b/pkgs/applications/misc/nwg-look/fix-paths.patch
deleted file mode 100644
index 3b56e00522137..0000000000000
--- a/pkgs/applications/misc/nwg-look/fix-paths.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/main.go b/main.go
-index 23c4756..c52e9c3 100644
---- a/main.go
-+++ b/main.go
-@@ -335,7 +335,7 @@ func main() {
-
- 	gtkSettings, _ = gtk.SettingsGetDefault()
-
--	builder, _ := gtk.BuilderNewFromFile("/usr/share/nwg-look/main.glade")
-+	builder, _ := gtk.BuilderNewFromFile("@out@/share/nwg-look/main.glade")
- 	win, _ := getWindow(builder, "window")
-
- 	win.Connect("destroy", func() {
-diff --git a/tools.go b/tools.go
-index e6e7665..59d6f35 100644
---- a/tools.go
-+++ b/tools.go
-@@ -1034,7 +1034,7 @@ func getDataDirs() []string {
- 	if os.Getenv("XDG_DATA_DIRS") != "" {
- 		xdgDataDirs = os.Getenv("XDG_DATA_DIRS")
- 	} else {
--		xdgDataDirs = "/usr/local/share/:/usr/share/"
-+		xdgDataDirs = "@out@/local/share/:@out@/share/"
- 	}
-
- 	for _, d := range strings.Split(xdgDataDirs, ":") {
-@@ -1280,7 +1280,7 @@ func detectLang() string {
- }
-
- func loadVocabulary(lang string) map[string]string {
--	langsDir := "/usr/share/nwg-look/langs/"
-+	langsDir := "@out@/share/nwg-look/langs/"
- 	enUSFile := filepath.Join(langsDir, "en_US.json")
- 	if pathExists(enUSFile) {
- 		log.Infof(">>> Loading basic lang from '%s'", enUSFile)
diff --git a/pkgs/applications/misc/nwg-look/go.mod b/pkgs/applications/misc/nwg-look/go.mod
index 0446058e56c22..1f40d0a94fbd0 100644
--- a/pkgs/applications/misc/nwg-look/go.mod
+++ b/pkgs/applications/misc/nwg-look/go.mod
@@ -1,10 +1,10 @@
 module github.com/nwg-piotr/nwg-look
 
-go 1.20
+go 1.22
 
 require (
-	github.com/gotk3/gotk3 v0.6.2
+	github.com/gotk3/gotk3 v0.6.3
 	github.com/sirupsen/logrus v1.9.3
 )
 
-require golang.org/x/sys v0.6.0 // indirect
+require golang.org/x/sys v0.17.0 // indirect
diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix
index 7f75f856e7fdb..9d76649687570 100644
--- a/pkgs/applications/misc/phoc/default.nix
+++ b/pkgs/applications/misc/phoc/default.nix
@@ -87,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
     mainProgram = "phoc";
     homepage = "https://gitlab.gnome.org/World/Phosh/phoc";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ masipcat tomfitzhenry zhaofengli ];
+    maintainers = with maintainers; [ masipcat zhaofengli ];
     platforms = platforms.linux;
   };
 })
diff --git a/pkgs/applications/misc/pytrainer/default.nix b/pkgs/applications/misc/pytrainer/default.nix
index 49be94cc2baba..57d5ae394381f 100644
--- a/pkgs/applications/misc/pytrainer/default.nix
+++ b/pkgs/applications/misc/pytrainer/default.nix
@@ -1,6 +1,5 @@
 { lib
 , python310
-, fetchPypi
 , fetchFromGitHub
 , gdk-pixbuf
 , gnome
diff --git a/pkgs/applications/misc/tui-journal/default.nix b/pkgs/applications/misc/tui-journal/default.nix
index 102b9ad354df5..4af9f8e2559a2 100644
--- a/pkgs/applications/misc/tui-journal/default.nix
+++ b/pkgs/applications/misc/tui-journal/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tui-journal";
-  version = "0.8.4";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "AmmarAbouZor";
     repo = "tui-journal";
     rev = "v${version}";
-    hash = "sha256-SgpIR7gLfmX6mCtuqRonqzX07Eblp9Mq80y71b05FZY=";
+    hash = "sha256-FAN0F54cCEfqoSr1La+X+et5MGTzB2Wb466Xr8eyeiI=";
   };
 
-  cargoHash = "sha256-SetNhIengAiLRMHoYBRxHR1LgzYywRC7L6hmRF9COik=";
+  cargoHash = "sha256-y6gAv4Xf0yxpbOAdYhp3nDBH8skiyAI10+Ylz/uxf7w=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/misc/zathura/cb/default.nix b/pkgs/applications/misc/zathura/cb/default.nix
index ea2c74fda3701..f8e29a65a3a6c 100644
--- a/pkgs/applications/misc/zathura/cb/default.nix
+++ b/pkgs/applications/misc/zathura/cb/default.nix
@@ -1,5 +1,15 @@
-{ stdenv, lib, fetchurl, meson, ninja, pkg-config, zathura_core
-, girara, gettext, libarchive }:
+{
+  stdenv,
+  lib,
+  fetchurl,
+  meson,
+  ninja,
+  pkg-config,
+  zathura_core,
+  girara,
+  gettext,
+  libarchive,
+}:
 
 stdenv.mkDerivation rec {
   pname = "zathura-cb";
@@ -7,11 +17,20 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
-    sha256 = "1j5v32f9ki35v1jc7a067anhlgqplzrp4fqvznlixfhcm0bwmc49";
+    hash = "sha256-ibDKF6gMuh6p/Rs7cvOnFz8KrToGqMNk2GXEmZwYu8g=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config gettext ];
-  buildInputs = [ libarchive zathura_core girara ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+  ];
+  buildInputs = [
+    libarchive
+    zathura_core
+    girara
+  ];
 
   PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
 
@@ -20,7 +39,7 @@ stdenv.mkDerivation rec {
     description = "A zathura CB plugin";
     longDescription = ''
       The zathura-cb plugin adds comic book support to zathura.
-      '';
+    '';
     license = licenses.zlib;
     platforms = platforms.unix;
     maintainers = with maintainers; [ jlesquembre ];
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index 8b452c7f1a40c..9b8193a52bd8f 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -1,24 +1,48 @@
-{ lib, stdenv, fetchFromGitLab, meson, ninja, wrapGAppsHook3, pkg-config, gitUpdater
-, appstream-glib, json-glib, desktop-file-utils, python3
-, gtk, girara, gettext, libxml2, check
-, sqlite, glib, texlive, libintl, libseccomp
-, file, librsvg
-, gtk-mac-integration
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  meson,
+  ninja,
+  wrapGAppsHook3,
+  pkg-config,
+  gitUpdater,
+  appstream-glib,
+  json-glib,
+  desktop-file-utils,
+  python3,
+  gtk,
+  girara,
+  gettext,
+  libxml2,
+  check,
+  sqlite,
+  glib,
+  texlive,
+  libintl,
+  libseccomp,
+  file,
+  librsvg,
+  gtk-mac-integration,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "zathura";
-  version = "0.5.5";
+  version = "0.5.6";
 
-  src = fetchFromGitLab {
-    domain = "git.pwmt.org";
+  src = fetchFromGitHub {
     owner = "pwmt";
     repo = "zathura";
     rev = finalAttrs.version;
-    hash = "sha256-mHEYqgBB55p8nykFtvYtP5bWexp/IqFbeLs7gZmXCeE=";
+    hash = "sha256-lTEBIZ3lkzjJ+L1qecrcL8iseo8AvSIo3Wh65/ikwac=";
   };
 
-  outputs = [ "bin" "man" "dev" "out" ];
+  outputs = [
+    "bin"
+    "man"
+    "dev"
+    "out"
+  ];
 
   # Flag list:
   # https://github.com/pwmt/zathura/blob/master/meson_options.txt
@@ -33,22 +57,36 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   nativeBuildInputs = [
-    meson ninja pkg-config desktop-file-utils python3.pythonOnBuildForHost.pkgs.sphinx
-    gettext wrapGAppsHook3 libxml2 appstream-glib
+    meson
+    ninja
+    pkg-config
+    desktop-file-utils
+    python3.pythonOnBuildForHost.pkgs.sphinx
+    gettext
+    wrapGAppsHook3
+    libxml2
+    appstream-glib
   ];
 
   buildInputs = [
-    gtk girara libintl sqlite glib file librsvg check json-glib
+    gtk
+    girara
+    libintl
+    sqlite
+    glib
+    file
+    librsvg
+    check
+    json-glib
     texlive.bin.core
-  ] ++ lib.optional stdenv.isLinux libseccomp
-    ++ lib.optional stdenv.isDarwin gtk-mac-integration;
+  ] ++ lib.optional stdenv.isLinux libseccomp ++ lib.optional stdenv.isDarwin gtk-mac-integration;
 
   doCheck = !stdenv.isDarwin;
 
   passthru.updateScript = gitUpdater { };
 
   meta = with lib; {
-    homepage = "https://git.pwmt.org/pwmt/zathura";
+    homepage = "https://pwmt.org/projects/zathura";
     description = "A core component for zathura PDF viewer";
     license = licenses.zlib;
     platforms = platforms.unix;
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index 67fe3032d05ce..23b5ce0198e19 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -1,6 +1,9 @@
-{ config, pkgs
-# zathura_pdf_mupdf fails to load _opj_create_decompress at runtime on Darwin (https://github.com/NixOS/nixpkgs/pull/61295#issue-277982980)
-, useMupdf ? config.zathura.useMupdf or (!pkgs.stdenv.isDarwin) }:
+{
+  config,
+  pkgs,
+  # zathura_pdf_mupdf fails to load _opj_create_decompress at runtime on Darwin (https://github.com/NixOS/nixpkgs/pull/61295#issue-277982980)
+  useMupdf ? config.zathura.useMupdf or (!pkgs.stdenv.isDarwin),
+}:
 
 let
   callPackage = pkgs.newScope self;
@@ -29,5 +32,5 @@ let
       ];
     };
   };
-
-in self
+in
+self
diff --git a/pkgs/applications/misc/zathura/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix
index f0fe09486324d..9805f19c46936 100644
--- a/pkgs/applications/misc/zathura/djvu/default.nix
+++ b/pkgs/applications/misc/zathura/djvu/default.nix
@@ -1,4 +1,16 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gtk, zathura_core, girara, djvulibre, gettext }:
+{
+  lib,
+  stdenv,
+  fetchurl,
+  meson,
+  ninja,
+  pkg-config,
+  gtk,
+  zathura_core,
+  girara,
+  djvulibre,
+  gettext,
+}:
 
 stdenv.mkDerivation rec {
   pname = "zathura-djvu";
@@ -6,11 +18,21 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
-    sha256 = "0062n236414db7q7pnn3ccg5111ghxj3407pn9ri08skxskgirln";
+    hash = "sha256-lub4pu5TIxBzsvcAMmSHL4RQHmPD2nvwWY0EYoawwgA=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
-  buildInputs = [ djvulibre gettext zathura_core gtk girara ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+  buildInputs = [
+    djvulibre
+    gettext
+    zathura_core
+    gtk
+    girara
+  ];
 
   PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
 
@@ -26,4 +48,3 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ ];
   };
 }
-
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index f6eb5cfd45e1a..66376746cf8ce 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -1,29 +1,39 @@
-{ stdenv, lib, meson, ninja, fetchurl, cairo
-, girara
-, gtk-mac-integration
-, gumbo
-, jbig2dec
-, libjpeg
-, mupdf
-, openjpeg
-, pkg-config
-, zathura_core
-, tesseract
-, leptonica
-, mujs
-, gitUpdater
+{
+  stdenv,
+  lib,
+  meson,
+  ninja,
+  fetchurl,
+  cairo,
+  girara,
+  gtk-mac-integration,
+  gumbo,
+  jbig2dec,
+  libjpeg,
+  mupdf,
+  openjpeg,
+  pkg-config,
+  zathura_core,
+  tesseract,
+  leptonica,
+  mujs,
+  gitUpdater,
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.1";
+  version = "0.4.2";
   pname = "zathura-pdf-mupdf";
 
   src = fetchurl {
     url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
-    hash = "sha256-+YKgHWUj+iVmk4EYTAamJe2/15YcvbBxHcz9ucQCrC8=";
+    hash = "sha256-fFC+z9mJX9ccExsV336Ut+zJJa8UdfUz/qVp9YgcnhM=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
 
   buildInputs = [
     cairo
@@ -39,15 +49,13 @@ stdenv.mkDerivation rec {
     mujs
   ] ++ lib.optional stdenv.isDarwin gtk-mac-integration;
 
-  PKG_CONFIG_ZATHURA_PLUGINDIR= "lib/zathura";
+  PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
 
   postPatch = ''
     sed -i -e '/^mupdfthird =/d' -e 's/, mupdfthird//g' meson.build
   '';
 
-  passthru.updateScript = gitUpdater {
-    url = "https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git";
-  };
+  passthru.updateScript = gitUpdater { url = "https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git"; };
 
   meta = with lib; {
     homepage = "https://pwmt.org/projects/zathura-pdf-mupdf/";
diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
index 5246705bbd8b1..4d216b9c0c63c 100644
--- a/pkgs/applications/misc/zathura/pdf-poppler/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
@@ -1,4 +1,14 @@
-{ stdenv, lib, fetchurl, meson, ninja, pkg-config, zathura_core, girara, poppler }:
+{
+  stdenv,
+  lib,
+  fetchurl,
+  meson,
+  ninja,
+  pkg-config,
+  zathura_core,
+  girara,
+  poppler,
+}:
 
 stdenv.mkDerivation rec {
   pname = "zathura-pdf-poppler";
@@ -6,11 +16,19 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
-    sha256 = "049h8m9swxni7ar6fsbm0hb3fg4ffmjc3m6vyg78ilfi3kayxavi";
+    hash = "sha256-cavu1RzR0YjO89vUwWR1jjw3FgR1aWeyOtF2rlNFMBE=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config zathura_core ];
-  buildInputs = [ poppler girara ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    zathura_core
+  ];
+  buildInputs = [
+    poppler
+    girara
+  ];
 
   PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
 
diff --git a/pkgs/applications/misc/zathura/ps/default.nix b/pkgs/applications/misc/zathura/ps/default.nix
index 180001b52aeb4..10db97aa8b344 100644
--- a/pkgs/applications/misc/zathura/ps/default.nix
+++ b/pkgs/applications/misc/zathura/ps/default.nix
@@ -1,4 +1,15 @@
-{ stdenv, lib, fetchurl, meson, ninja, pkg-config, zathura_core, girara, libspectre, gettext }:
+{
+  stdenv,
+  lib,
+  fetchurl,
+  meson,
+  ninja,
+  pkg-config,
+  zathura_core,
+  girara,
+  libspectre,
+  gettext,
+}:
 
 stdenv.mkDerivation rec {
   pname = "zathura-ps";
@@ -6,11 +17,20 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
-    sha256 = "0ilf63wxn1yzis9m3qs8mxbk316yxdzwxrrv86wpiygm9hhgk5sq";
+    hash = "sha256-WJf5IEz1+Xi5QTvnzn/r3oQxV69I41GTjt8H2/kwjkY=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config gettext ];
-  buildInputs = [ libspectre zathura_core girara ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+  ];
+  buildInputs = [
+    libspectre
+    zathura_core
+    girara
+  ];
 
   PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
 
@@ -20,10 +40,9 @@ stdenv.mkDerivation rec {
     longDescription = ''
       The zathura-ps plugin adds PS support to zathura by using the
       libspectre library.
-      '';
+    '';
     license = licenses.zlib;
     platforms = platforms.unix;
     maintainers = with maintainers; [ ];
   };
 }
-
diff --git a/pkgs/applications/misc/zathura/wrapper.nix b/pkgs/applications/misc/zathura/wrapper.nix
index 60ff0bd688546..0294d0efadf9e 100644
--- a/pkgs/applications/misc/zathura/wrapper.nix
+++ b/pkgs/applications/misc/zathura/wrapper.nix
@@ -1,28 +1,44 @@
-{ symlinkJoin, lib, makeWrapper, zathura_core, file, plugins ? [] }:
+{
+  symlinkJoin,
+  lib,
+  makeWrapper,
+  zathura_core,
+  file,
+  plugins ? [ ],
+}:
 symlinkJoin {
   name = "zathura-with-plugins-${zathura_core.version}";
 
-  paths = with zathura_core; [ man dev out ] ++ plugins;
+  paths =
+    with zathura_core;
+    [
+      man
+      dev
+      out
+    ]
+    ++ plugins;
 
   nativeBuildInputs = [ makeWrapper ];
 
-  postBuild = let
-    fishCompletion = "share/fish/vendor_completions.d/zathura.fish";
-  in ''
-    makeWrapper ${zathura_core.bin}/bin/zathura $out/bin/zathura \
-      --prefix PATH ":" "${lib.makeBinPath [ file ]}" \
-      --prefix ZATHURA_PLUGINS_PATH : "$out/lib/zathura"
+  postBuild =
+    let
+      fishCompletion = "share/fish/vendor_completions.d/zathura.fish";
+    in
+    ''
+      makeWrapper ${zathura_core.bin}/bin/zathura $out/bin/zathura \
+        --prefix PATH ":" "${lib.makeBinPath [ file ]}" \
+        --prefix ZATHURA_PLUGINS_PATH : "$out/lib/zathura"
 
-    # zathura fish completion references the zathura_core derivation to
-    # check for supported plugins which live in the wrapper derivation,
-    # so we need to fix the path to reference $out instead.
-    rm "$out/${fishCompletion}"
-    substitute "${zathura_core.out}/${fishCompletion}" "$out/${fishCompletion}" \
-      --replace "${zathura_core.out}" "$out"
-  '';
+      # zathura fish completion references the zathura_core derivation to
+      # check for supported plugins which live in the wrapper derivation,
+      # so we need to fix the path to reference $out instead.
+      rm "$out/${fishCompletion}"
+      substitute "${zathura_core.out}/${fishCompletion}" "$out/${fishCompletion}" \
+        --replace "${zathura_core.out}" "$out"
+    '';
 
   meta = with lib; {
-    homepage = "https://git.pwmt.org/pwmt/zathura/";
+    homepage = "https://pwmt.org/projects/zathura/";
     description = "A highly customizable and functional PDF viewer";
     longDescription = ''
       Zathura is a highly customizable and functional PDF viewer based on the
@@ -32,7 +48,11 @@ symlinkJoin {
     '';
     license = licenses.zlib;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ smironov globin TethysSvensson ];
+    maintainers = with maintainers; [
+      smironov
+      globin
+      TethysSvensson
+    ];
     mainProgram = "zathura";
   };
 }
diff --git a/pkgs/applications/networking/browsers/ladybird/default.nix b/pkgs/applications/networking/browsers/ladybird/default.nix
index 80beebd5bb7c5..db00c8754791e 100644
--- a/pkgs/applications/networking/browsers/ladybird/default.nix
+++ b/pkgs/applications/networking/browsers/ladybird/default.nix
@@ -59,18 +59,22 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-+g/1F/v8nTVbvtSrtyvQbeYacjTlfRpg+Htu0lRlkcU=";
   };
 
-  sourceRoot = "${finalAttrs.src.name}/Ladybird";
+  patches = [
+    ./nixos-font-path.patch
+  ];
 
   postPatch = ''
     sed -i '/iconutil/d' CMakeLists.txt
 
     # Don't set absolute paths in RPATH
-    substituteInPlace ../Meta/CMake/lagom_install_options.cmake \
+    substituteInPlace Meta/CMake/lagom_install_options.cmake \
       --replace-fail "\''${CMAKE_INSTALL_BINDIR}" "bin" \
       --replace-fail "\''${CMAKE_INSTALL_LIBDIR}" "lib"
   '';
 
   preConfigure = ''
+    cd Ladybird
+
     # Setup caches for LibLocale, LibUnicode, LibTimezone, LibTLS and LibGfx
     # Note that the versions of the input data packages must match the
     # expected version in the package's CMake.
diff --git a/pkgs/applications/networking/browsers/ladybird/nixos-font-path.patch b/pkgs/applications/networking/browsers/ladybird/nixos-font-path.patch
new file mode 100644
index 0000000000000..468eb10b2c313
--- /dev/null
+++ b/pkgs/applications/networking/browsers/ladybird/nixos-font-path.patch
@@ -0,0 +1,12 @@
+diff --git a/Userland/Libraries/LibCore/StandardPaths.cpp b/Userland/Libraries/LibCore/StandardPaths.cpp
+index 77ddbeb9..76481497 100644
+--- a/Userland/Libraries/LibCore/StandardPaths.cpp
++++ b/Userland/Libraries/LibCore/StandardPaths.cpp
+@@ -205,6 +205,7 @@ ErrorOr<Vector<String>> StandardPaths::font_directories()
+         "/Library/Fonts"_string,
+         TRY(String::formatted("{}/Library/Fonts"sv, home_directory())),
+ #    else
++        "/run/current-system/sw/share/X11/fonts"_string,
+         "/usr/share/fonts"_string,
+         "/usr/local/share/fonts"_string,
+         TRY(String::formatted("{}/.local/share/fonts"sv, home_directory())),
diff --git a/pkgs/applications/networking/calls/default.nix b/pkgs/applications/networking/calls/default.nix
index 92c9978b4a143..c3eadae5048e4 100644
--- a/pkgs/applications/networking/calls/default.nix
+++ b/pkgs/applications/networking/calls/default.nix
@@ -110,7 +110,7 @@ stdenv.mkDerivation rec {
     longDescription = "GNOME Calls is a phone dialer and call handler. Setting NixOS option `programs.calls.enable = true` is recommended.";
     homepage = "https://gitlab.gnome.org/GNOME/calls";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ craigem lheckemann tomfitzhenry ];
+    maintainers = with maintainers; [ craigem lheckemann ];
     platforms = platforms.linux;
     mainProgram = "gnome-calls";
   };
diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock
index ef009399785a4..748de3d620c8b 100644
--- a/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (7.1.3.2)
+    activesupport (7.1.3.3)
       base64
       bigdecimal
       concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -54,7 +54,7 @@ GEM
       multi_json
     jwt (2.8.1)
       base64
-    krane (3.5.3)
+    krane (3.6.0)
       activesupport (>= 5.0)
       colorize (~> 0.8)
       concurrent-ruby (~> 1.1)
@@ -76,7 +76,7 @@ GEM
     mime-types (3.5.2)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2024.0507)
-    minitest (5.22.3)
+    minitest (5.23.1)
     multi_json (1.15.0)
     mutex_m (0.2.0)
     net-http (0.4.1)
diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix
index 5b296b320c4ef..b3e79d317efb0 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 = "0blbbf2x7dn7ar4g9aij403582zb6zscbj48bz63lvaamsvlb15d";
+      sha256 = "0z8kygxmz99krz9pwp947znkzf0jr64sml28df0vf1gzxlg7y57i";
       type = "gem";
     };
-    version = "7.1.3.2";
+    version = "7.1.3.3";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -247,10 +247,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11jj5fpfsb1sfwgc356xv1vxl8yq65wbbshmawpagk555y0pzbpb";
+      sha256 = "08dkvcmxa869pk6qdpsvljy16lb1kj94cgr4w9bhg93gx3m642v6";
       type = "gem";
     };
-    version = "3.5.3";
+    version = "3.6.0";
   };
   kubeclient = {
     dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@@ -300,10 +300,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a";
+      sha256 = "1gkslxvkhh44s21rbjvka3zsvfxxrf5pcl6f75rv2vyrzzbgis7i";
       type = "gem";
     };
-    version = "5.22.3";
+    version = "5.23.1";
   };
   multi_json = {
     groups = ["default"];
diff --git a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
index 866775702521e..ecc353a178ef1 100644
--- a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
+++ b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
@@ -5,7 +5,7 @@
 
 buildGoPackage rec {
   pname = "ssm-session-manager-plugin";
-  version = "1.2.553.0";
+  version = "1.2.633.0";
 
   goPackagePath = "github.com/aws/session-manager-plugin";
 
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner = "aws";
     repo = "session-manager-plugin";
     rev = version;
-    hash = "sha256-jyCHhD3KyHob7z200tEkAUR9ALJVsGsRQ7Wx4B6jBnQ=";
+    hash = "sha256-dwNCTJOxpothAcJSfch2jkxdgXg6xDd/fDQCQo2Xd+8=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index cc1347d0f4d0d..10b952569b1b7 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "2.1.0";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    hash = "sha256-Qur3TzFkHbPICHiJLUSp1i1uGCBIft5sp92voLR8Ics=";
+    hash = "sha256-nodWxHLVg5bSuixQirAsVfQZ1g38IgZJEl/3O/b3NIE=";
   };
 
-  vendorHash = "sha256-kpW72OnK5YybW5YuW2eTleso0fgyDfgbJRK4QSP8ocQ=";
+  vendorHash = "sha256-mAA5S9t+mHMxSV8l7H9XxJ80k4pJRWDDZ0BSJrmQO1I=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 8f65d33b429fe..d0bd8747d93a1 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -1,6 +1,5 @@
 { lib
 , python3
-, fetchPypi
 , fetchFromGitHub
 }:
 
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 765e03425aaf1..4ccef1e1d4dc2 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, fetchFromGitLab, gettext, wrapGAppsHook3
+{ lib, fetchurl, gettext, wrapGAppsHook3
 
 # Native dependencies
 , python3, gtk3, gobject-introspection, gnome
diff --git a/pkgs/applications/networking/instant-messengers/jami/default.nix b/pkgs/applications/networking/instant-messengers/jami/default.nix
index 6a6925d66627e..91a0b539d3d77 100644
--- a/pkgs/applications/networking/instant-messengers/jami/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jami/default.nix
@@ -64,14 +64,14 @@
 
 stdenv.mkDerivation rec {
   pname = "jami";
-  version = "20240430.0";
+  version = "20240529.0";
 
   src = fetchFromGitLab {
     domain = "git.jami.net";
     owner = "savoirfairelinux";
     repo = "jami-client-qt";
     rev = "stable/${version}";
-    hash = "sha256-v7558m2h3RqvLLhf3BdYO9LKCFKuMTtPIXgH6OXiiY4=";
+    hash = "sha256-v2GFvgHHJ2EMoayZ+//OZ0U+P1fh5Mgp5fAoqtZts7U=";
     fetchSubmodules = true;
   };
 
@@ -128,14 +128,14 @@ stdenv.mkDerivation rec {
 
   dhtnet = stdenv.mkDerivation {
     pname = "dhtnet";
-    version = "unstable-2022-04-26";
+    version = "unstable-2024-05-17";
 
     src = fetchFromGitLab {
       domain = "git.jami.net";
       owner = "savoirfairelinux";
       repo = "dhtnet";
-      rev = "d7976982d24867c6faaf8103504ec8a10d932fa0";
-      hash = "sha256-vazFDMIu/3AWeOz0LZhZD9NFO8cd5AK41zBpqpQrqnc=";
+      rev = "77331098ff663a5ac54fae7d0bedafe076c575a1";
+      hash = "sha256-55LEnI1YgVujCtv1dGOFtJdvnzB2SKqwEptaHasZB7I=";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix b/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix
index 54c485525d7ea..6d39ab785cfa8 100644
--- a/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix
+++ b/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix
@@ -17,13 +17,13 @@
 
 buildPythonApplication rec {
   pname = "matrix-commander";
-  version = "7.2.0";
+  version = "7.6.2";
 
   src = fetchFromGitHub {
     owner = "8go";
     repo = "matrix-commander";
     rev = "v${version}";
-    hash = "sha256-qL6ARkAWu0FEuYK2e9Z9hMSfK4TW0kGgoIFUfJ8Dgwk=";
+    hash = "sha256-BiQShJHCTvEdkhp21uxxCTxBZ1eezuWE6btMc/wkPlc=";
   };
 
   format = "pyproject";
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index f40ae2be3b8df..14b593f13a441 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20240528-1";
+  version = "20240530";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    hash = "sha256-kKSCP5CYc7G6fifm3T+v9tnH4MofL7xvVw6V2mqvdPU=";
+    hash = "sha256-bZFeIEILO1P56c1fXP7yaZ5IJYH2+T/YWYgX+b2XvhQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
index 935e11103b828..f663d6f637a3e 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/default.nix
@@ -64,14 +64,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "telegram-desktop";
-  version = "5.0.2";
+  version = "5.0.6";
 
   src = fetchFromGitHub {
     owner = "telegramdesktop";
     repo = "tdesktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-RaIUk+49uNc+TycC/oV+02o5EpkbP4tSSv7DsLn+WHM=";
+    hash = "sha256-n3WeyGQCw9fbA/1hZ85mqdm5xuBLjy9qHMcVRb4cmAg=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 87f7dc4f655ff..2f4ed4ba2decd 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -36,14 +36,14 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "4.3.0";
+      version = "4.3.1";
       pname = "weechat";
 
       hardeningEnable = [ "pie" ];
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.xz";
-        hash = "sha256-Nvn5C/L2n3ejTR4NWPBsoI8PIPgmOrlAtjfnq/eWhi0=";
+        hash = "sha256-FX4ioX3MMDxmVzljGgRHDXhkdOgF/r7S7S1bYlDRhlM=";
       };
 
       # Why is this needed? https://github.com/weechat/weechat/issues/2031
diff --git a/pkgs/applications/networking/p2p/frostwire/default.nix b/pkgs/applications/networking/p2p/frostwire/default.nix
deleted file mode 100644
index 9f4261e07c810..0000000000000
--- a/pkgs/applications/networking/p2p/frostwire/default.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, gradle_6, perl, jre, makeWrapper, makeDesktopItem, mplayer }:
-
-let
-  version = "6.6.7-build-529";
-
-  src = fetchFromGitHub {
-    owner = "frostwire";
-    repo = "frostwire";
-    rev = "frostwire-desktop-${version}";
-    sha256 = "03wdj2kr8akzx8m1scvg98132zbaxh81qjdsxn2645b3gahjwz0m";
-  };
-
-  desktopItem = makeDesktopItem {
-    name = "frostwire";
-    desktopName = "FrostWire";
-    genericName = "P2P Bittorrent client";
-    exec = "frostwire";
-    icon = "frostwire";
-    comment = "Search and explore all kinds of files on the Bittorrent network";
-    categories = [ "Network" "FileTransfer" "P2P" ];
-  };
-
-  # fake build to pre-download deps into fixed-output derivation
-  deps = stdenv.mkDerivation {
-    pname = "frostwire-desktop-deps";
-    inherit version src;
-    buildInputs = [ gradle_6 perl ];
-    buildPhase = ''
-      export GRADLE_USER_HOME=$(mktemp -d)
-      ( cd desktop
-        gradle --no-daemon build
-      )
-    '';
-    # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
-    installPhase = ''
-      find $GRADLE_USER_HOME -type f -regex '.*\.\(jar\|pom\)' \
-        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
-        | sh
-    '';
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "sha256-r6YSrbSJbM3063JrX4tCVKFrJxTaLN4Trc+33jzpwcE=";
-  };
-
-in stdenv.mkDerivation {
-  pname = "frostwire-desktop";
-  inherit version src;
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ gradle_6 ];
-
-  buildPhase = ''
-    export GRADLE_USER_HOME=$(mktemp -d)
-    ( cd desktop
-
-      # disable auto-update (anyway it won't update frostwire installed in nix store)
-      substituteInPlace src/com/frostwire/gui/updates/UpdateManager.java \
-        --replace 'um.checkForUpdates' '// um.checkForUpdates'
-
-      # fix path to mplayer
-      substituteInPlace src/com/frostwire/gui/player/MediaPlayerLinux.java \
-        --replace /usr/bin/mplayer ${mplayer}/bin/mplayer
-
-      substituteInPlace build.gradle \
-        --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }'
-      gradle --offline --no-daemon build
-    )
-  '';
-
-  installPhase = ''
-    mkdir -p $out/lib $out/share/java
-
-    cp desktop/build/libs/frostwire.jar $out/share/java/frostwire.jar
-
-    cp ${ { x86_64-darwin = "desktop/lib/native/*.dylib";
-            x86_64-linux  = "desktop/lib/native/lib{jlibtorrent,SystemUtilities}.so";
-            i686-linux    = "desktop/lib/native/lib{jlibtorrent,SystemUtilities}X86.so";
-          }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")
-        } $out/lib
-
-    cp -dpR ${desktopItem}/share $out
-
-    makeWrapper ${jre}/bin/java $out/bin/frostwire \
-      --add-flags "-Djava.library.path=$out/lib -jar $out/share/java/frostwire.jar"
-  '';
-
-  meta = with lib; {
-    homepage = "https://www.frostwire.com/";
-    description = "BitTorrent Client and Cloud File Downloader";
-    sourceProvenance = with sourceTypes; [
-      fromSource
-      binaryBytecode  # deps
-    ];
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ gavin ];
-    platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" ];
-    broken = true; # at 2022-09-30, errors with changing hash.
-  };
-}
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 07c4ca3392f97..1ec2cbac9ce45 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -30,13 +30,13 @@ stdenv.mkDerivation rec {
   pname = "qbittorrent"
     + lib.optionalString (guiSupport && qtVersion == "5") "-qt5"
     + lib.optionalString (!guiSupport) "-nox";
-  version = "4.6.4";
+  version = "4.6.5";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qBittorrent";
     rev = "release-${version}";
-    hash = "sha256-98iE+VM32eq56eB4B0KNrj8+DbmRSsyAb7eMlprSsjs=";
+    hash = "sha256-umJObvPv4VjdAZdQEuhqFCRvi1eZQViu1IO88oeTTq8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/scaleft/default.nix b/pkgs/applications/networking/scaleft/default.nix
index bcfde9f1a0057..8a500c5e162f0 100644
--- a/pkgs/applications/networking/scaleft/default.nix
+++ b/pkgs/applications/networking/scaleft/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "scaleft";
-  version = "1.67.4";
+  version = "1.80.1";
 
   src =
     fetchurl {
-      url = "http://pkg.scaleft.com/rpm/scaleft-client-tools-${version}-1.x86_64.rpm";
-      sha256 = "kRCShTMKf5qKFth/8H8XHLj12YIVQ9G5f2MvVJRtyDs=";
+      url = "https://dist.scaleft.com/repos/rpm/stable/centos/9/x86_64/1.80.1/scaleft-client-tools-${version}-1.x86_64.rpm";
+      sha256 = "sha256-QrkqAgkplFF6Tp6FWKb2TJaqeOw8ec4zd9pymDP2IyY=";
     };
 
   nativeBuildInputs = [ patchelf rpmextract ];
diff --git a/pkgs/applications/networking/sync/storj-uplink/default.nix b/pkgs/applications/networking/sync/storj-uplink/default.nix
index 8f10fa112e1fc..5c5625d8dd710 100644
--- a/pkgs/applications/networking/sync/storj-uplink/default.nix
+++ b/pkgs/applications/networking/sync/storj-uplink/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "storj-uplink";
-  version = "1.104.5";
+  version = "1.105.2";
 
   src = fetchFromGitHub {
     owner = "storj";
     repo = "storj";
     rev = "v${version}";
-    hash = "sha256-tzAArj813Hn/iH3LEsz1bytoOr2GfI5kyKZdXNgYwSE=";
+    hash = "sha256-uoMjV0ab/H8WXWawWM9CB/mGTh9odrfmKehRz6A9/Xo=";
   };
 
   subPackages = [ "cmd/uplink" ];
 
-  vendorHash = "sha256-Eo6JHcTcfC8zmKZh9sXrZ90RhIgdEBgTldIUnvNm8ms=";
+  vendorHash = "sha256-HlnnWmjYL/j5RvRKFtEE4ib477erA94aQ+HSF+sCiuA=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/applications/office/planify/default.nix b/pkgs/applications/office/planify/default.nix
index 6188ffa767416..8702cfb5379a8 100644
--- a/pkgs/applications/office/planify/default.nix
+++ b/pkgs/applications/office/planify/default.nix
@@ -7,7 +7,7 @@
 , pkg-config
 , vala
 , wrapGAppsHook4
-, evolution-data-server
+, evolution-data-server-gtk4
 , glib
 , glib-networking
 , gst_all_1
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    evolution-data-server
+    evolution-data-server-gtk4
     glib
     glib-networking
     # Needed for GtkMediaStream creation with success.ogg, see #311295.
diff --git a/pkgs/applications/office/roam-research/common.nix b/pkgs/applications/office/roam-research/common.nix
index 8e63b111ad2af..19e51e7b0eae3 100644
--- a/pkgs/applications/office/roam-research/common.nix
+++ b/pkgs/applications/office/roam-research/common.nix
@@ -1,22 +1,22 @@
 { fetchurl }:
 let
   pname = "roam-research";
-  version = "0.0.18";
+  version = "0.0.19";
 in
 {
   inherit pname version;
   sources = {
     x86_64-darwin = fetchurl {
       url = "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/Roam+Research-${version}.dmg";
-      hash = "sha256-jyFNH3qrgrsftExL/b2t8bY3W3fYVz+Gp11AuaIMxbg=";
+      hash = "sha256-pIH4p7dnmyOgGyruSJ39xB8iJ45wtxcIQmfUeBLlDes=";
     };
     aarch64-darwin = fetchurl {
       url = "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/Roam+Research-${version}-arm64.dmg";
-      hash = "sha256-AnyvFCbyUi6tcgxYQAj+zPLl4/kVh9ZeupetRhzH0PU=";
+      hash = "sha256-iQRaaSU033t3WVWZSKuXCPJbMoNpwLnDHBz5QURu6Gw=";
     };
     x86_64-linux = fetchurl {
       url = "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/${pname}_${version}_amd64.deb";
-      hash = "sha256-veDWBFZbODsdaO1UdfuC4w6oGCkeVBe+fqKn5XVHKDQ=";
+      hash = "sha256-eDN+hrAc+ePRELcXAs5WypzPlJ+Wtg3kUarf8rq5CnA=";
     };
   };
 }
diff --git a/pkgs/applications/plasma-mobile/plasma-settings.nix b/pkgs/applications/plasma-mobile/plasma-settings.nix
index 8e7b20672fa9f..28047954304a1 100644
--- a/pkgs/applications/plasma-mobile/plasma-settings.nix
+++ b/pkgs/applications/plasma-mobile/plasma-settings.nix
@@ -1,6 +1,5 @@
 { lib
 , mkDerivation
-, fetchFromGitLab
 
 , cmake
 , extra-cmake-modules
diff --git a/pkgs/applications/science/logic/petrinizer/default.nix b/pkgs/applications/science/logic/petrinizer/default.nix
deleted file mode 100644
index 9fd20e3ed4afd..0000000000000
--- a/pkgs/applications/science/logic/petrinizer/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ mkDerivation
-, async, base, bytestring, containers, fetchFromGitLab, mtl
-, parallel-io, parsec, lib, stm, transformers, sbv_7_13}:
-
-mkDerivation rec {
-  pname = "petrinizer";
-  version = "0.9.1.1";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.lrz.de";
-    owner = "i7";
-    repo = pname;
-    rev = version;
-    sha256 = "1n7fzm96gq5rxm2f8w8sr1yzm1zcxpf0b473c6xnhsgqsis5j4xw";
-  };
-
-  isLibrary = false;
-  isExecutable = true;
-  executableHaskellDepends = [
-    async base bytestring containers mtl parallel-io parsec sbv_7_13 stm
-    transformers
-  ];
-  description = "Safety and Liveness Analysis of Petri Nets with SMT solvers";
-  license = lib.licenses.gpl3;
-  maintainers = with lib.maintainers; [ raskin ];
-  inherit (sbv_7_13.meta) platforms;
-
-  # dependency sbv no longer builds
-  hydraPlatforms = lib.platforms.none;
-  broken = true;
-}
diff --git a/pkgs/applications/terminal-emulators/rio/default.nix b/pkgs/applications/terminal-emulators/rio/default.nix
index a1f89f6a4e0a9..86f06b50ef433 100644
--- a/pkgs/applications/terminal-emulators/rio/default.nix
+++ b/pkgs/applications/terminal-emulators/rio/default.nix
@@ -51,16 +51,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "rio";
-  version = "0.0.37";
+  version = "0.0.39";
 
   src = fetchFromGitHub {
     owner = "raphamorim";
     repo = "rio";
     rev = "v${version}";
-    hash = "sha256-rY5nuZcMbK9PYxfGYdVheOOVIC4I/11EOWpNmG6gH9A=";
+    hash = "sha256-pnU2wxgopHMWgJ7JGdO2P/MCfxqCY7MTEE39qtD0XKw=";
   };
 
-  cargoHash = "sha256-tHcUMxe9HwTzm2oDwaTyuh+UZUwW64xPX/cftxqZoz8=";
+  cargoHash = "sha256-GwI2zHX1YcR4pC+qtkDoxx2U+zipbqqxsCI8/XNg2BU=";
 
   nativeBuildInputs = [
     ncurses
diff --git a/pkgs/applications/terminal-emulators/terminator/default.nix b/pkgs/applications/terminal-emulators/terminator/default.nix
index 175d3766594b7..aedbb761a8cad 100644
--- a/pkgs/applications/terminal-emulators/terminator/default.nix
+++ b/pkgs/applications/terminal-emulators/terminator/default.nix
@@ -15,13 +15,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "terminator";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "gnome-terminator";
     repo = "terminator";
-    rev = "v${version}";
-    hash = "sha256-Kx0z9oheA7Ihgsyg6zgPcGFMrqlXoIpQcL/dMqPB2qA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-0468d/sAM/UOiaSspwWaOGogoE8/Idth0G4CMCXWFFo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/git-mit/default.nix b/pkgs/applications/version-management/git-mit/default.nix
index 43d38f95a514b..859fe34c6e9c4 100644
--- a/pkgs/applications/version-management/git-mit/default.nix
+++ b/pkgs/applications/version-management/git-mit/default.nix
@@ -10,7 +10,7 @@
 }:
 
 let
-  version = "5.12.202";
+  version = "5.12.203";
 in
 rustPlatform.buildRustPackage {
   pname = "git-mit";
@@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
     owner = "PurpleBooth";
     repo = "git-mit";
     rev = "v${version}";
-    hash = "sha256-f2RiOdJVGfYzMYtgA0diz67h+h7DfTfqTOIpNObNrVc=";
+    hash = "sha256-8sxC8peASy13Q582DbHHpQUj0AZN0soJrOocuPyJeHI=";
   };
 
-  cargoHash = "sha256-1xtTgIFaG2KUevxdZyu2IqgBLDgmeBMb7xCOECkieYc=";
+  cargoHash = "sha256-zDUANe5zQNufPepbFoADkfjtEAE48GkMCpmG41OP2og=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/gitnuro/default.nix b/pkgs/applications/version-management/gitnuro/default.nix
index d59287db4bb95..39579b9b7348e 100644
--- a/pkgs/applications/version-management/gitnuro/default.nix
+++ b/pkgs/applications/version-management/gitnuro/default.nix
@@ -5,6 +5,7 @@
 , copyDesktopItems
 , makeDesktopItem
 , jre
+, libGL
 }:
 
 stdenv.mkDerivation rec {
@@ -30,8 +31,13 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    makeWrapper ${jre}/bin/java $out/bin/gitnuro --add-flags "-jar $src"
+
+    makeWrapper ${jre}/bin/java $out/bin/gitnuro \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
+      --add-flags "-jar $src"
+
     install -Dm444 $icon $out/share/icons/hicolor/scalable/apps/com.jetpackduba.Gitnuro.svg
+
     runHook postInstall
   '';
 
@@ -51,6 +57,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitnuro.com/";
     license = licenses.gpl3Plus;
     platforms = [ "x86_64-linux" ];
+    sourceProvenance = with sourceTypes; [ binaryBytecode ];
     maintainers = with maintainers; [ zendo ];
     mainProgram = "gitnuro";
   };
diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
index cbeb325e7ce09..3669666cee8ac 100644
--- a/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -1,16 +1,16 @@
 { lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg_4, libjack2, libX11, libXext, libXinerama, qtx11extras
-, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja
+, libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja, nix-update-script
 }:
 
 mkDerivation rec {
   pname = "simplescreenrecorder";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "MaartenBaert";
     repo = "ssr";
     rev = version;
-    sha256 = "0mrx8wprs8bi42fwwvk6rh634ic9jnn0gkfpd6q9pcawnnbz3vq8";
+    sha256 = "sha256-cVjQmyk+rCqmDJzdnDk7bQ8kpyD3HtTw3wLVx2thHok=";
   };
 
   cmakeFlags = [
@@ -18,14 +18,13 @@ mkDerivation rec {
     "-DWITH_GLINJECT=${if stdenv.hostPlatform.isx86 then "TRUE" else "FALSE"}"
   ];
 
-  patches = [ ./fix-paths.patch ];
-
   postPatch = ''
-    for i in scripts/ssr-glinject src/AV/Input/GLInjectInput.cpp; do
-      substituteInPlace $i \
-        --subst-var out \
-        --subst-var-by sh ${stdenv.shell}
-    done
+    substituteInPlace scripts/ssr-glinject \
+      --replace-fail "libssr-glinject.so" "$out/lib/libssr-glinject.so"
+
+    substituteInPlace src/AV/Input/GLInjectInput.cpp \
+      --replace-fail "/bin/sh" "${stdenv.shell}" \
+      --replace-fail "libssr-glinject.so" "$out/lib/libssr-glinject.so"
   '';
 
   nativeBuildInputs = [ pkg-config cmake ninja ];
@@ -34,6 +33,8 @@ mkDerivation rec {
     libpulseaudio libv4l qtbase qttools qtx11extras
   ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "A screen recorder for Linux";
     homepage = "https://www.maartenbaert.be/simplescreenrecorder";
diff --git a/pkgs/applications/video/simplescreenrecorder/fix-paths.patch b/pkgs/applications/video/simplescreenrecorder/fix-paths.patch
deleted file mode 100644
index 9cf634285fcbf..0000000000000
--- a/pkgs/applications/video/simplescreenrecorder/fix-paths.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/scripts/ssr-glinject b/scripts/ssr-glinject
-index 48be48d..5038d4c 100755
---- a/scripts/ssr-glinject
-+++ b/scripts/ssr-glinject
-@@ -59,6 +59,6 @@ do
- 	fi
- done
- 
--echo "ssr-glinject: LD_PRELOAD = $LD_PRELOAD:libssr-glinject.so"
-+echo "ssr-glinject: LD_PRELOAD = $LD_PRELOAD:@out@/lib/libssr-glinject.so"
- echo "ssr-glinject: command = $@"
--LD_PRELOAD="$LD_PRELOAD:libssr-glinject.so" "$@"
-+LD_PRELOAD="$LD_PRELOAD:@out@/lib/libssr-glinject.so" "$@"
-diff --git a/src/AV/Input/GLInjectInput.cpp b/src/AV/Input/GLInjectInput.cpp
-index fc98f31..18f5196 100644
---- a/src/AV/Input/GLInjectInput.cpp
-+++ b/src/AV/Input/GLInjectInput.cpp
-@@ -113,7 +113,7 @@ bool ExecuteDetached(const char* command, const char* working_directory) {
- 
- 			// try to execute command
- 			do {
--				res = execl("/bin/sh", "/bin/sh", "-c", command, (char*) NULL);
-+				res = execl("@sh@", "@sh@", "-c", command, (char*) NULL);
- 			} while(res == -1 and errno == EINTR);
- 
- 			// failed, send feedback
-@@ -207,7 +207,7 @@ void GLInjectInput::SetCapturing(bool capturing) {
- bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permissions, const QString& command, const QString& working_directory) {
- 
- 	// prepare command
--	QString full_command = "LD_PRELOAD=\"libssr-glinject.so\" ";
-+	QString full_command = "LD_PRELOAD=\"@out@/lib/libssr-glinject.so\" ";
- 	full_command += "SSR_CHANNEL=\"" + ShellEscape(channel) + "\" ";
- 	if(relax_permissions)
- 		full_command += "SSR_STREAM_RELAX_PERMISSIONS=1 ";
diff --git a/pkgs/applications/virtualization/tart/default.nix b/pkgs/applications/virtualization/tart/default.nix
index 7615c3da26b4e..115499f9e413f 100644
--- a/pkgs/applications/virtualization/tart/default.nix
+++ b/pkgs/applications/virtualization/tart/default.nix
@@ -39,7 +39,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     description = "macOS VMs on Apple Silicon to use in CI and other automations";
     homepage = "https://tart.run";
     license = licenses.fairsource09;
-    maintainers = with maintainers; [ emilytrau Enzime ];
+    maintainers = with maintainers; [ emilytrau Enzime aduh95 ];
     mainProgram = finalAttrs.pname;
     platforms = [ "aarch64-darwin" ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
index 9f677165c0c97..413de25764114 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
@@ -3,7 +3,6 @@
 , pkg-config
 , stdenv
 , hyprland
-, fetchpatch
 }:
 let
   mkHyprlandPlugin = hyprland:
@@ -34,18 +33,6 @@ let
           hash = "sha256-Y9bIML3C5xyKKv+Yel4LUfSkScwGunOVZkg+Z1dPwHI=";
         };
 
-        patches = [
-          (fetchpatch {
-            url = "https://github.com/outfoxxed/hy3/commit/33c8d761ff1c1d2264f7549a7bcfc010929d153c.patch";
-            hash = "sha256-GcLQ38IVGB6VFMviKqWAM9ayjC2lpWekx3kqrnwsLhk=";
-          })
-
-          (fetchpatch {
-            url = "https://github.com/outfoxxed/hy3/commit/400930e0391a0e13ebbc6a3b9fe162e00aaad89a.patch";
-            hash = "sha256-DVrZSkXE4uKrAceGpUZklqrVRzV1CpNRgjpq0uOz0jk=";
-          })
-        ];
-
         nativeBuildInputs = [ cmake ];
 
         dontStrip = true;
diff --git a/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix b/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix
index a4a747fba3f99..50cc55f5b8f2b 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix
@@ -19,7 +19,6 @@
 , wayland
 , wayland-protocols
 , wayland-scanner
-, wlroots
 , libXdmcp
 , debug ? false
 }:
@@ -57,7 +56,6 @@ stdenv.mkDerivation (finalAttrs: {
     wayland
     wayland-protocols
     wayland-scanner
-    wlroots
     libXdmcp
     util-linux
   ];
diff --git a/pkgs/applications/window-managers/lemonbar/default.nix b/pkgs/applications/window-managers/lemonbar/default.nix
index d5763a0489f1a..07b6d4353b51b 100644
--- a/pkgs/applications/window-managers/lemonbar/default.nix
+++ b/pkgs/applications/window-managers/lemonbar/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lemonbar";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "LemonBoy";
     repo = "bar";
     rev = "v${version}";
-    sha256 = "sha256-lmppcnQ8r4jEuhegpTBxYqxfTTS/IrbtQVZ44HqnoWo=";
+    sha256 = "sha256-OLhgu0kmMZhjv/VST8AXvIH+ysMq72m4TEOypdnatlU=";
   };
 
   buildInputs = [ libxcb perl ];
diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix
index df57c4cbec10b..1d0c0f0ba676c 100644
--- a/pkgs/applications/window-managers/phosh/default.nix
+++ b/pkgs/applications/window-managers/phosh/default.nix
@@ -124,7 +124,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://gitlab.gnome.org/World/Phosh/phosh";
     changelog = "https://gitlab.gnome.org/World/Phosh/phosh/-/blob/v${finalAttrs.version}/debian/changelog";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ masipcat tomfitzhenry zhaofengli ];
+    maintainers = with maintainers; [ masipcat zhaofengli ];
     platforms = platforms.linux;
     mainProgram = "phosh-session";
   };
diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix
index 323c6e65d9d90..c8f6567049180 100644
--- a/pkgs/build-support/emacs/melpa.nix
+++ b/pkgs/build-support/emacs/melpa.nix
@@ -35,25 +35,41 @@ in
   pname
   /*
     ename: Original Emacs package name, possibly containing special symbols.
+    Default: pname
   */
-, ename ? null
+, ename ? pname
 , version
-, recipe
+  /*
+    commit: Optional package history commit.
+    Default: src.rev or "unknown"
+    This will be written into the generated package but it is not needed during
+    the build process.
+  */
+, commit ? (args.src.rev or "unknown")
+  /*
+    files: Optional recipe property specifying the files used to build the package.
+    If null, do not set it in recipe, keeping the default upstream behaviour.
+    Default: null
+  */
+, files ? null
+  /*
+    recipe: Optional MELPA recipe.
+    Default: a minimally functional recipe
+  */
+, recipe ? (writeText "${pname}-recipe" ''
+    (${ename} :fetcher git :url ""
+              ${lib.optionalString (files != null) ":files ${files}"})
+  '')
 , meta ? {}
 , ...
 }@args:
 
 genericBuild ({
 
-  ename =
-    if ename == null
-    then pname
-    else ename;
-
   elpa2nix = ./elpa2nix.el;
   melpa2nix = ./melpa2nix.el;
 
-  inherit packageBuild;
+  inherit packageBuild commit ename recipe;
 
   preUnpack = ''
     mkdir -p "$NIX_BUILD_TOP/recipes"
diff --git a/pkgs/by-name/an/ananicy-rules-cachyos/package.nix b/pkgs/by-name/an/ananicy-rules-cachyos/package.nix
index 2cca8544c9f60..58de0bd61e896 100644
--- a/pkgs/by-name/an/ananicy-rules-cachyos/package.nix
+++ b/pkgs/by-name/an/ananicy-rules-cachyos/package.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "ananicy-rules-cachyos";
-  version = "0-unstable-2024-05-10";
+  version = "0-unstable-2024-05-28";
 
   src = fetchFromGitHub {
     owner = "CachyOS";
     repo = "ananicy-rules";
-    rev = "1826cf45201770e20fea2e7bebfc2a5001074703";
-    hash = "sha256-9Uth0OvV5NXHZxOCQDMmb0VdXpi8dSMdN9StnJa8n90=";
+    rev = "5718579addbd733a4ab190fb9355a78e8b19b0b4";
+    hash = "sha256-SD15wFUWryL3sRBbREr94A8oKf8KXVBaiI2bmWxbMx4=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/by-name/au/audiness/package.nix b/pkgs/by-name/au/audiness/package.nix
index 40dafa76288b8..f1f64afb3140f 100644
--- a/pkgs/by-name/au/audiness/package.nix
+++ b/pkgs/by-name/au/audiness/package.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "audiness";
-  version = "0.4.0";
+  version = "0.5.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "audiusGmbH";
     repo = "audiness";
     rev = "refs/tags/${version}";
-    hash = "sha256-UJe4ZawjAuUoSKEdIgjh8zZu/amYLZ8rpUDahSHokKA=";
+    hash = "sha256-+5NDea4p/JWEk305EhAtab3to36a74KR50eosw6c5qI=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/by-name/au/autosuspend/package.nix b/pkgs/by-name/au/autosuspend/package.nix
index 63f4c07c289ff..3092d486de0d4 100644
--- a/pkgs/by-name/au/autosuspend/package.nix
+++ b/pkgs/by-name/au/autosuspend/package.nix
@@ -1,7 +1,6 @@
 { lib
 , dbus
 , fetchFromGitHub
-, fetchPypi
 , python3
 }:
 
diff --git a/pkgs/by-name/bi/bicep/package.nix b/pkgs/by-name/bi/bicep/package.nix
index 7cd6a06463f37..bdfdd74606fdb 100644
--- a/pkgs/by-name/bi/bicep/package.nix
+++ b/pkgs/by-name/bi/bicep/package.nix
@@ -1,9 +1,10 @@
-{ lib
-, stdenv
-, buildDotnetModule
-, fetchFromGitHub
-, dotnetCorePackages
-, mono
+{
+  lib,
+  stdenv,
+  buildDotnetModule,
+  fetchFromGitHub,
+  dotnetCorePackages,
+  mono,
 }:
 
 buildDotnetModule rec {
@@ -34,11 +35,11 @@ buildDotnetModule rec {
   passthru.updateScript = ./updater.sh;
 
   meta = {
-    broken = stdenv.isDarwin;
     description = "Domain Specific Language (DSL) for deploying Azure resources declaratively";
     homepage = "https://github.com/Azure/bicep/";
     changelog = "https://github.com/Azure/bicep/releases/tag/v${version}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ khaneliman ];
+    mainProgram = "bicep";
   };
 }
diff --git a/pkgs/by-name/cc/ccache/package.nix b/pkgs/by-name/cc/ccache/package.nix
index 393857f1fe4d6..f39066fba2895 100644
--- a/pkgs/by-name/cc/ccache/package.nix
+++ b/pkgs/by-name/cc/ccache/package.nix
@@ -1,30 +1,38 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, substituteAll
-, binutils
-, asciidoctor
-, cmake
-, perl
-, zstd
-, bashInteractive
-, xcodebuild
-, makeWrapper
-, nix-update-script
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  substituteAll,
+  binutils,
+  asciidoctor,
+  cmake,
+  perl,
+  fmt,
+  hiredis,
+  xxHash,
+  zstd,
+  bashInteractive,
+  doctest,
+  xcodebuild,
+  makeWrapper,
+  nix-update-script,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ccache";
-  version = "4.9.1";
+  version = "4.10";
 
   src = fetchFromGitHub {
     owner = "ccache";
     repo = "ccache";
     rev = "refs/tags/v${finalAttrs.version}";
-    sha256 = "sha256-n0MTq8x6KNkgwhJQG7F+e3iCOS644nLkMsiRztJe8QU=";
+    sha256 = "sha256-0T9iJXnDX8LffhB/5hsfBNyZQ211f0lL/7dvTrjmiE0=";
   };
 
-  outputs = [ "out" "man" ];
+  outputs = [
+    "out"
+    "man"
+  ];
 
   patches = [
     # When building for Darwin, test/run uses dwarfdump, whereas on
@@ -39,32 +47,47 @@ stdenv.mkDerivation (finalAttrs: {
     })
   ];
 
-  nativeBuildInputs = [ asciidoctor cmake perl ];
-  buildInputs = [ zstd ];
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    asciidoctor
+    cmake
+    perl
+  ];
 
-  cmakeFlags = [
-    # Build system does not autodetect redis library presence.
-    # Requires explicit flag.
-    "-DREDIS_STORAGE_BACKEND=OFF"
+  buildInputs = [
+    fmt
+    hiredis
+    xxHash
+    zstd
   ];
 
+  cmakeFlags = lib.optional (!finalAttrs.finalPackage.doCheck) "-DENABLE_TESTING=OFF";
+
   doCheck = true;
+
   nativeCheckInputs = [
     # test/run requires the compgen function which is available in
     # bashInteractive, but not bash.
     bashInteractive
   ] ++ lib.optional stdenv.isDarwin xcodebuild;
 
+  checkInputs = [
+    doctest
+  ];
+
   checkPhase =
     let
-      badTests = [
-        "test.trim_dir" # flaky on hydra (possibly filesystem-specific?)
-      ] ++ lib.optionals stdenv.isDarwin [
-        "test.basedir"
-        "test.fileclone" # flaky on hydra (possibly filesystem-specific?)
-        "test.multi_arch"
-        "test.nocpp2"
-      ];
+      badTests =
+        [
+          "test.trim_dir" # flaky on hydra (possibly filesystem-specific?)
+        ]
+        ++ lib.optionals stdenv.isDarwin [
+          "test.basedir"
+          "test.fileclone" # flaky on hydra (possibly filesystem-specific?)
+          "test.multi_arch"
+          "test.nocpp2"
+        ];
     in
     ''
       runHook preCheck
@@ -76,53 +99,59 @@ stdenv.mkDerivation (finalAttrs: {
   passthru = {
     # A derivation that provides gcc and g++ commands, but that
     # will end up calling ccache for the given cacheDir
-    links = { unwrappedCC, extraConfig }: stdenv.mkDerivation {
-      pname = "ccache-links";
-      inherit (finalAttrs) version;
-      passthru = {
-        isClang = unwrappedCC.isClang or false;
-        isGNU = unwrappedCC.isGNU or false;
-        isCcache = true;
+    links =
+      { unwrappedCC, extraConfig }:
+      stdenv.mkDerivation {
+        pname = "ccache-links";
+        inherit (finalAttrs) version;
+        passthru = {
+          isClang = unwrappedCC.isClang or false;
+          isGNU = unwrappedCC.isGNU or false;
+          isCcache = true;
+        };
+        inherit (unwrappedCC) lib;
+        nativeBuildInputs = [ makeWrapper ];
+        # Unwrapped clang does not have a targetPrefix because it is multi-target
+        # target is decided with argv0.
+        buildCommand =
+          let
+            targetPrefix =
+              if unwrappedCC.isClang or false then
+                ""
+              else
+                (lib.optionalString (
+                  unwrappedCC ? targetConfig && unwrappedCC.targetConfig != null && unwrappedCC.targetConfig != ""
+                ) "${unwrappedCC.targetConfig}-");
+          in
+          ''
+            mkdir -p $out/bin
+
+            wrap() {
+              local cname="${targetPrefix}$1"
+              if [ -x "${unwrappedCC}/bin/$cname" ]; then
+                makeWrapper ${finalAttrs.finalPackage}/bin/ccache $out/bin/$cname \
+                  --run ${lib.escapeShellArg extraConfig} \
+                  --add-flags ${unwrappedCC}/bin/$cname
+              fi
+            }
+
+            wrap cc
+            wrap c++
+            wrap gcc
+            wrap g++
+            wrap clang
+            wrap clang++
+
+            for executable in $(ls ${unwrappedCC}/bin); do
+              if [ ! -x "$out/bin/$executable" ]; then
+                ln -s ${unwrappedCC}/bin/$executable $out/bin/$executable
+              fi
+            done
+            for file in $(ls ${unwrappedCC} | grep -vw bin); do
+              ln -s ${unwrappedCC}/$file $out/$file
+            done
+          '';
       };
-      inherit (unwrappedCC) lib;
-      nativeBuildInputs = [ makeWrapper ];
-      # Unwrapped clang does not have a targetPrefix because it is multi-target
-      # target is decided with argv0.
-      buildCommand = let
-        targetPrefix = if unwrappedCC.isClang or false
-          then
-            ""
-          else
-            (lib.optionalString (unwrappedCC ? targetConfig && unwrappedCC.targetConfig != null && unwrappedCC.targetConfig != "") "${unwrappedCC.targetConfig}-");
-      in ''
-        mkdir -p $out/bin
-
-        wrap() {
-          local cname="${targetPrefix}$1"
-          if [ -x "${unwrappedCC}/bin/$cname" ]; then
-            makeWrapper ${finalAttrs.finalPackage}/bin/ccache $out/bin/$cname \
-              --run ${lib.escapeShellArg extraConfig} \
-              --add-flags ${unwrappedCC}/bin/$cname
-          fi
-        }
-
-        wrap cc
-        wrap c++
-        wrap gcc
-        wrap g++
-        wrap clang
-        wrap clang++
-
-        for executable in $(ls ${unwrappedCC}/bin); do
-          if [ ! -x "$out/bin/$executable" ]; then
-            ln -s ${unwrappedCC}/bin/$executable $out/bin/$executable
-          fi
-        done
-        for file in $(ls ${unwrappedCC} | grep -vw bin); do
-          ln -s ${unwrappedCC}/$file $out/$file
-        done
-      '';
-    };
 
     updateScript = nix-update-script { };
   };
@@ -136,7 +165,10 @@ stdenv.mkDerivation (finalAttrs: {
     }";
     license = licenses.gpl3Plus;
     mainProgram = "ccache";
-    maintainers = with maintainers; [ kira-bruneau r-burns ];
+    maintainers = with maintainers; [
+      kira-bruneau
+      r-burns
+    ];
     platforms = platforms.unix;
   };
 })
diff --git a/pkgs/by-name/cd/cdecl/cdecl-2.5-lex.patch b/pkgs/by-name/cd/cdecl-blocks/cdecl-2.5-lex.patch
index ecdee5d544f66..ecdee5d544f66 100644
--- a/pkgs/by-name/cd/cdecl/cdecl-2.5-lex.patch
+++ b/pkgs/by-name/cd/cdecl-blocks/cdecl-2.5-lex.patch
diff --git a/pkgs/by-name/cd/cdecl-blocks/package.nix b/pkgs/by-name/cd/cdecl-blocks/package.nix
new file mode 100644
index 0000000000000..307a80681a24d
--- /dev/null
+++ b/pkgs/by-name/cd/cdecl-blocks/package.nix
@@ -0,0 +1,82 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  bison,
+  flex,
+  readline,
+  ncurses,
+}:
+
+stdenv.mkDerivation {
+  pname = "cdecl-blocks";
+  version = "2.5-unstable-2024-05-07";
+
+  src = fetchFromGitHub {
+    owner = "ridiculousfish";
+    repo = "cdecl-blocks";
+    rev = "1e6e1596771183d9bb90bcf152d6bc2055219a7e";
+    hash = "sha256-5XuiYkFe+QvVBRIXRieKoE0zbISMvU1iLgEfkw6GnlE=";
+  };
+
+  patches = [
+    ./cdecl-2.5-lex.patch
+    # when `USE_READLINE` is enabled, this option will not be present
+    ./test_remove_interactive_line.patch
+  ];
+
+  prePatch = ''
+    substituteInPlace cdecl.c \
+      --replace 'getline' 'cdecl_getline'
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    bison
+    flex
+  ];
+
+  buildInputs = [
+    readline
+    ncurses
+  ];
+
+  env = {
+    NIX_CFLAGS_COMPILE = toString (
+      [
+        "-DBSD"
+        "-DUSE_READLINE"
+      ]
+      ++ lib.optionals stdenv.cc.isClang [
+        "-Wno-error=int-conversion"
+        "-Wno-error=incompatible-function-pointer-types"
+      ]
+    );
+    NIX_LDFLAGS = "-lreadline";
+  };
+
+  makeFlags = [
+    "CC=${lib.getExe stdenv.cc}"
+    "PREFIX=${placeholder "out"}"
+    "BINDIR=${placeholder "out"}/bin"
+    "MANDIR=${placeholder "out"}/man1"
+    "CATDIR=${placeholder "out"}/cat1"
+  ];
+
+  doCheck = true;
+  checkTarget = "test";
+
+  preInstall = ''
+    mkdir -p $out/bin;
+  '';
+
+  meta = {
+    description = "Translator English -- C/C++ declarations";
+    homepage = "https://cdecl.org";
+    license = lib.licenses.publicDomain;
+    maintainers = with lib.maintainers; [ sigmanificient ];
+    platforms = lib.platforms.unix;
+    mainProgram = "cdecl";
+  };
+}
diff --git a/pkgs/by-name/cd/cdecl/test_remove_interactive_line.patch b/pkgs/by-name/cd/cdecl-blocks/test_remove_interactive_line.patch
index 5a769f2dfec9d..5a769f2dfec9d 100644
--- a/pkgs/by-name/cd/cdecl/test_remove_interactive_line.patch
+++ b/pkgs/by-name/cd/cdecl-blocks/test_remove_interactive_line.patch
diff --git a/pkgs/by-name/cd/cdecl/package.nix b/pkgs/by-name/cd/cdecl/package.nix
index 016a15e9bea06..f23e6b833ae46 100644
--- a/pkgs/by-name/cd/cdecl/package.nix
+++ b/pkgs/by-name/cd/cdecl/package.nix
@@ -2,45 +2,29 @@
   lib,
   stdenv,
   fetchFromGitHub,
+  autoconf,
+  automake,
   bison,
   flex,
   readline,
-  ncurses,
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "cdecl";
-  version = "2.5-unstable-2024-05-07";
+  version = "16.3";
 
   src = fetchFromGitHub {
-    owner = "ridiculousfish";
-    repo = "cdecl-blocks";
-    rev = "1e6e1596771183d9bb90bcf152d6bc2055219a7e";
-    hash = "sha256-5XuiYkFe+QvVBRIXRieKoE0zbISMvU1iLgEfkw6GnlE=";
+    owner = "paul-j-lucas";
+    repo = "cdecl";
+    rev = "refs/tags/cdecl-${finalAttrs.version}";
+    hash = "sha256-4rysv/iLohx2y7WEaP4BG7lT1tm4FfU0NWcxI4gvUsg=";
   };
 
-  patches = [
-    ./cdecl-2.5-lex.patch
-    # when `USE_READLINE` is enabled, this option will not be present
-    ./test_remove_interactive_line.patch
-  ];
-
-  prePatch = ''
-    substituteInPlace cdecl.c \
-      --replace 'getline' 'cdecl_getline'
-  '';
-
   strictDeps = true;
+  preConfigure = "./bootstrap";
 
-  nativeBuildInputs = [
-    bison
-    flex
-  ];
-
-  buildInputs = [
-    readline
-    ncurses
-  ];
+  nativeBuildInputs = [ autoconf automake bison flex ];
+  buildInputs = [ readline ];
 
   env = {
     NIX_CFLAGS_COMPILE = toString (
@@ -71,12 +55,14 @@ stdenv.mkDerivation {
     mkdir -p $out/bin;
   '';
 
+  outputs = [ "out" "man" ];
+
   meta = {
-    description = "Translator English -- C/C++ declarations";
-    homepage = "https://cdecl.org";
-    license = lib.licenses.publicDomain;
+    description = "Composing and deciphering C (or C++) declarations or casts, aka ''gibberish.''";
+    homepage = "https://github.com/paul-j-lucas/cdecl";
+    license = lib.licenses.gpl3Only;
     maintainers = with lib.maintainers; [ sigmanificient ];
     platforms = lib.platforms.unix;
     mainProgram = "cdecl";
   };
-}
+})
diff --git a/pkgs/by-name/cl/cloudlogoffline/package.nix b/pkgs/by-name/cl/cloudlogoffline/package.nix
index cc945302bf06d..04e6f0ed2c32a 100644
--- a/pkgs/by-name/cl/cloudlogoffline/package.nix
+++ b/pkgs/by-name/cl/cloudlogoffline/package.nix
@@ -1,15 +1,15 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, qt5
+, qt6
 , makeDesktopItem
 , copyDesktopItems
 }:
 stdenv.mkDerivation (self: {
   pname = "cloudlogoffline";
-  version = "1.1.4";
-  rev = "185f294ec36d7ebe40e37d70148b15f58d60bf0d";
-  hash = "sha256-UEi7q3NbTgkg4tSjiksEO05YE4yjRul4qB9hFPswnK0=";
+  version = "1.1.5";
+  rev = self.version;
+  hash = "sha256-CF56yk7hsM4M43le+CLy93oLyZ9kaqaRTFWtjJuF6Vo=";
 
   src = fetchFromGitHub {
     inherit (self) rev hash;
@@ -18,20 +18,18 @@ stdenv.mkDerivation (self: {
   };
 
   nativeBuildInputs = [
-    qt5.qmake
-    qt5.wrapQtAppsHook
+    qt6.qmake
+    qt6.wrapQtAppsHook
   ]
   ++ lib.optionals (!stdenv.isDarwin) [
     copyDesktopItems
   ];
 
   buildInputs = [
-    qt5.qtbase
-    qt5.qtgraphicaleffects
-    qt5.qtlocation
-    qt5.qtpositioning
-    qt5.qtquickcontrols2
-    qt5.qtsvg
+    qt6.qtbase
+    qt6.qtlocation
+    qt6.qtpositioning
+    qt6.qtsvg
   ];
 
   postPatch = let
@@ -44,6 +42,15 @@ stdenv.mkDerivation (self: {
   postInstall = lib.optionalString (!stdenv.isDarwin) ''
     install -d $out/share/pixmaps
     install -m644 images/logo_circle.svg $out/share/pixmaps/cloudlogoffline.svg
+  '' + lib.optionalString stdenv.isDarwin ''
+    # FIXME: For some reason, the Info.plist isn't copied correctly to
+    # the application bundle when building normally, instead creating an
+    # empty file. This doesn't happen when building in a dev shell with
+    # genericBuild.
+    # So, just copy the file manually.
+    plistPath="$out/Applications/CloudLogOffline.app/Contents/Info.plist"
+    [[ -s "$plistPath" ]] && { echo "expected Info.plist to be empty; workaround no longer needed?"; exit 1; }
+    install -m644 macos/Info.plist $out/Applications/CloudLogOffline.app/Contents/Info.plist
   '';
 
   desktopItems = lib.optionals (!stdenv.isDarwin) [
diff --git a/pkgs/by-name/dg/dgoss/package.nix b/pkgs/by-name/dg/dgoss/package.nix
index cf396e70829e9..55014119c8265 100644
--- a/pkgs/by-name/dg/dgoss/package.nix
+++ b/pkgs/by-name/dg/dgoss/package.nix
@@ -1,22 +1,17 @@
-{ lib
-, fetchFromGitHub
-, resholve
-, bash
-, coreutils
-, goss
-, which
+{
+  bash,
+  coreutils,
+  gnused,
+  goss,
+  lib,
+  resholve,
+  which,
 }:
 
 resholve.mkDerivation rec {
   pname = "dgoss";
-  version = "0.4.6";
-
-  src = fetchFromGitHub {
-    owner = "goss-org";
-    repo = "goss";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-4LJD70Y6nxRWdcaPe074iP2MVUMDgoTOwWbC1JecVcI=";
-  };
+  version = goss.version;
+  src = goss.src;
 
   dontConfigure = true;
   dontBuild = true;
@@ -30,7 +25,11 @@ resholve.mkDerivation rec {
     default = {
       scripts = [ "bin/dgoss" ];
       interpreter = "${bash}/bin/bash";
-      inputs = [ coreutils which ];
+      inputs = [
+        coreutils
+        gnused
+        which
+      ];
       keep = {
         "$CONTAINER_RUNTIME" = true;
       };
diff --git a/pkgs/by-name/fa/fastfetch/package.nix b/pkgs/by-name/fa/fastfetch/package.nix
index e9394ab922670..2441f765482e6 100644
--- a/pkgs/by-name/fa/fastfetch/package.nix
+++ b/pkgs/by-name/fa/fastfetch/package.nix
@@ -47,13 +47,13 @@ let
 in
 stdenv'.mkDerivation (finalAttrs: {
   pname = "fastfetch";
-  version = "2.13.2";
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     owner = "fastfetch-cli";
     repo = "fastfetch";
     rev = finalAttrs.version;
-    hash = "sha256-Wt+HFl+HJKMzC8O0JslVLpHFrmVVSBpac79TsKVpz+k=";
+    hash = "sha256-RJDRxH9VKNxBSfoFl1rDTeKKyLC3C09F0Z3ksJoMDRk=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/by-name/gm/gmic-qt/package.nix b/pkgs/by-name/gm/gmic-qt/package.nix
index 8c3ff6ce4aeff..389f366680c14 100644
--- a/pkgs/by-name/gm/gmic-qt/package.nix
+++ b/pkgs/by-name/gm/gmic-qt/package.nix
@@ -49,13 +49,13 @@ assert lib.assertMsg
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}";
-  version = "3.3.5";
+  version = "3.3.6";
 
   src = fetchFromGitHub {
     owner = "c-koi";
     repo = "gmic-qt";
     rev = "v.${finalAttrs.version}";
-    hash = "sha256-WApuIWqVgVJAM2WdfOiqoQ2U+9kIuq8fy6wvJ55KoIc=";
+    hash = "sha256-0MtQTc2nUF8N1IDIcRxGqfXKULl9ZjnqDt4q84jA5ow=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/go/gosmee/package.nix b/pkgs/by-name/go/gosmee/package.nix
index 239bda90bd771..eeb9bf97499cd 100644
--- a/pkgs/by-name/go/gosmee/package.nix
+++ b/pkgs/by-name/go/gosmee/package.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "gosmee";
-  version = "0.21.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "chmouel";
     repo = "gosmee";
     rev = "v${version}";
-    sha256 = "sha256-VNBz6roula/YlsYMM1kjQT3TLuQ86/MESzNNkEf/92M=";
+    sha256 = "sha256-PP+N8BihgSvYL7yHlBJOK4zWkuM75iaGc7Gld+c0D6Y=";
   };
   vendorHash = null;
 
diff --git a/pkgs/by-name/go/goss/package.nix b/pkgs/by-name/go/goss/package.nix
index 5501d07e134fe..672800e410d4d 100644
--- a/pkgs/by-name/go/goss/package.nix
+++ b/pkgs/by-name/go/goss/package.nix
@@ -14,25 +14,23 @@
 
 buildGoModule rec {
   pname = "goss";
-
-  # Don't forget to update dgoss to the same version.
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "goss-org";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4LJD70Y6nxRWdcaPe074iP2MVUMDgoTOwWbC1JecVcI=";
+    hash = "sha256-KP0i+ePmkx43MdokVQO3CvTsdIFO7rCWLd8vJVC9Qf0=";
   };
 
-  vendorHash = "sha256-5/vpoJZu/swNwQQXtW6wuEVCtOq6HsbFywuipaiwHfs=";
+  vendorHash = "sha256-VLIDAlLO6COGDKDN12bYIBluFVgqPEmm8QRfSNPfLJY=";
 
   CGO_ENABLED = 0;
 
   ldflags = [
     "-s"
     "-w"
-    "-X main.version=v${version}"
+    "-X github.com/goss-org/goss/util.Version=v${version}"
   ];
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/by-name/gr/grafana-kiosk/package.nix b/pkgs/by-name/gr/grafana-kiosk/package.nix
index d9f21655d1cc8..452ec1977a9ff 100644
--- a/pkgs/by-name/gr/grafana-kiosk/package.nix
+++ b/pkgs/by-name/gr/grafana-kiosk/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grafana-kiosk";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "grafana-kiosk";
     rev = "v${version}";
-    hash = "sha256-KXEbhRFD++VeVI1Fbrai+IYb3lyGKs+plYPoKIZD0JM=";
+    hash = "sha256-JTz3EaedJFWE3YqsBLjKH4hWI7+dNeMlp0sZ2kW8IR8=";
   };
 
-  vendorHash = "sha256-sXaxyPNuHDUOkYcWYm94YvJmr1mGe4HdzttWrNSK2Pw=";
+  vendorHash = "sha256-8sxfbSj0Jq5f0oJoe8PtP72PDWvLzgOeRiP7I/Pfam4=";
 
   nativeBuildInputs = [ makeWrapper ];
   postFixup = ''
diff --git a/pkgs/by-name/gu/gungnir/package.nix b/pkgs/by-name/gu/gungnir/package.nix
index 04f02865c4b9b..bf77713f3b02c 100644
--- a/pkgs/by-name/gu/gungnir/package.nix
+++ b/pkgs/by-name/gu/gungnir/package.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "gungnir";
-  version = "1.0.8";
+  version = "1.0.9";
 
   src = fetchFromGitHub {
     owner = "g0ldencybersec";
     repo = "gungnir";
     rev = "v${version}";
-    hash = "sha256-k6fxAvUBAAcTHzdeGhekYhPpnS05jHq/7EqxafQfMio=";
+    hash = "sha256-A4MPRsUSeYwKlhCHByty6T33wEp/BopZMDWOnOqlQqQ=";
   };
 
   vendorHash = "sha256-r2aU59L0fnSdc/lpR04K/GQ1eZ7ihV+tKlyuS6sPX2o=";
diff --git a/pkgs/tools/package-management/harmonia/default.nix b/pkgs/by-name/ha/harmonia/package.nix
index 8e174cf68a891..a8f4c4b09d6bb 100644
--- a/pkgs/tools/package-management/harmonia/default.nix
+++ b/pkgs/by-name/ha/harmonia/package.nix
@@ -12,16 +12,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "harmonia";
-  version = "0.7.5";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = "refs/tags/${pname}-v${version}";
-    hash = "sha256-QqRq5maYk4hDl0MXkj9wOPWUta5b+kXG9e/kqRorNE4=";
+    hash = "sha256-+V0V/l9Q7HR3J0aH1UWc1qHrpGiRWd6B4R+3MECFORg=";
   };
 
-  cargoHash = "sha256-dlmSn4cWU6RqEiUoQYNJFhxu3owplkxlbtszBxm+GbU=";
+  cargoHash = "sha256-3Nx1YXjbYVOD7pYgI9Cp5Vsxv1j1XeX6pCl4+Q1OtVs=";
+
+  doCheck = false;
 
   nativeBuildInputs = [
     pkg-config nixVersions.nix_2_21
diff --git a/pkgs/by-name/he/hermitcli/package.nix b/pkgs/by-name/he/hermitcli/package.nix
index fd0c79cb99bde..7da06c3a54fbe 100644
--- a/pkgs/by-name/he/hermitcli/package.nix
+++ b/pkgs/by-name/he/hermitcli/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "hermit";
-  version = "0.39.1";
+  version = "0.39.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "cashapp";
     repo = "hermit";
-    hash = "sha256-ukg/KQTLG2F7mDNgoUr8GEKnkFHEJtVpwDs+DiLXvlM=";
+    hash = "sha256-By6ZWOiv1A7wghIGD6+oGoBic9puo4M+DzsM/7fOpy8=";
   };
 
-  vendorHash = "sha256-1QMZvxy6cCJVoIP8mG7s4V0nBAGhrHoPbiKKyYDDL2g=";
+  vendorHash = "sha256-vEv/sciynvxQE7KpxqpaSO1p5R3xYBK6o4EeuJ2JYmg=";
 
   subPackages = [ "cmd/hermit" ];
 
diff --git a/pkgs/by-name/ho/home-manager/package.nix b/pkgs/by-name/ho/home-manager/package.nix
index 90d5d7e11aead..5131ff7785c5c 100644
--- a/pkgs/by-name/ho/home-manager/package.nix
+++ b/pkgs/by-name/ho/home-manager/package.nix
@@ -16,14 +16,14 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "home-manager";
-  version = "0-unstable-2024-05-23";
+  version = "0-unstable-2024-05-30";
 
   src = fetchFromGitHub {
     name = "home-manager-source";
     owner = "nix-community";
     repo = "home-manager";
-    rev = "850cb322046ef1a268449cf1ceda5fd24d930b05";
-    hash = "sha256-ZxzffLuWRyuMrkVVq7wastNUqeO0HJL9xqfY1QsYaqo=";
+    rev = "0eb314b4f0ba337e88123e0b1e57ef58346aafd9";
+    hash = "sha256-HC5vJ3oYsjwsCaSbkIPv80e4ebJpNvFKQTBOGlHvjLs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/hu/hugo/package.nix b/pkgs/by-name/hu/hugo/package.nix
index 7e590a5dee61f..6b6a9088f1622 100644
--- a/pkgs/by-name/hu/hugo/package.nix
+++ b/pkgs/by-name/hu/hugo/package.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.126.1";
+  version = "0.126.2";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = "hugo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-c421kzgD6PFM/9Rn+NmZGyRlJPWhQPraW/4HcuRoEUU=";
+    hash = "sha256-ySXnJJJDjZqZkWOiq9ByflfUG6bg+0GSzuXpNnuyMZc=";
   };
 
   vendorHash = "sha256-VfwiA5LCAJ1pkmMCy/Dcc5bLKkNY1MHtxHcHvKLoWHs=";
diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/by-name/iw/iw/package.nix
index 4c1d94f02e6bc..a218f8afc79da 100644
--- a/pkgs/os-specific/linux/iw/default.nix
+++ b/pkgs/by-name/iw/iw/package.nix
@@ -1,31 +1,45 @@
-{ lib, stdenv, fetchurl, pkg-config, libnl }:
+{
+  lib,
+  fetchurl,
+  libnl,
+  pkg-config,
+  stdenv,
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "iw";
-  version = "5.19";
+  version = "6.7";
 
   src = fetchurl {
-    url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-8We76UfdU7uevAwdzvXbatc6wdYITyxvk3bFw2DMTU4=";
+    url = "https://www.kernel.org/pub/software/network/iw/iw-${finalAttrs.version}.tar.xz";
+    hash = "sha256-qs9JwmaynVANcwhnmKHGUudgwZEmqFmf2BGFBDB4mjU=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ libnl ];
 
+  outputs = [
+    "out"
+    "man"
+  ];
+
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
+  strictDeps = true;
+
   meta = {
+    homepage = "https://wireless.wiki.kernel.org/en/users/Documentation/iw";
     description = "Tool to use nl80211";
-    mainProgram = "iw";
     longDescription = ''
       iw is a new nl80211 based CLI configuration utility for wireless devices.
       It supports all new drivers that have been added to the kernel recently.
       The old tool iwconfig, which uses Wireless Extensions interface, is
       deprecated and it's strongly recommended to switch to iw and nl80211.
     '';
-    homepage = "https://wireless.wiki.kernel.org/en/users/Documentation/iw";
     license = lib.licenses.isc;
-    maintainers = with lib.maintainers; [ viric primeos ];
-    platforms = with lib.platforms; linux;
+    mainProgram = "iw";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/by-name/li/libfmvoice/package.nix b/pkgs/by-name/li/libfmvoice/package.nix
index 06284bfd5eafb..294b9c34c6b42 100644
--- a/pkgs/by-name/li/libfmvoice/package.nix
+++ b/pkgs/by-name/li/libfmvoice/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libfmvoice";
-  version = "0.0.0-unstable-2023-12-05";
+  version = "0-unstable-2024-05-30";
 
   src = fetchFromGitHub {
     owner = "vampirefrog";
     repo = "libfmvoice";
-    rev = "38b1a0c627ef66fcd9c672c215d2b9849163df12";
-    hash = "sha256-kXthY9TynIXNX9wmgn13vs4Mrrv/dmEr7zlWiKstjGk=";
+    rev = "0e58cfb323dc6461c705a5fadac4362a17fbec4e";
+    hash = "sha256-HyGB180roo28vJ+11/ocoKu1kHpn6GxtEg9NluQsECg=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/liboqs/fix-openssl-detection.patch b/pkgs/by-name/li/liboqs/fix-openssl-detection.patch
index 33be7188370f9..33be7188370f9 100644
--- a/pkgs/development/libraries/liboqs/fix-openssl-detection.patch
+++ b/pkgs/by-name/li/liboqs/fix-openssl-detection.patch
diff --git a/pkgs/development/libraries/liboqs/default.nix b/pkgs/by-name/li/liboqs/package.nix
index e703dc3647faa..f6d996bc1b1df 100644
--- a/pkgs/development/libraries/liboqs/default.nix
+++ b/pkgs/by-name/li/liboqs/package.nix
@@ -4,21 +4,31 @@
   fetchFromGitHub,
   cmake,
   openssl,
+  fetchpatch,
   enableStatic ? stdenv.hostPlatform.isStatic,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "liboqs";
-  version = "0.8.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "open-quantum-safe";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-h3mXoGRYgPg0wKQ1u6uFP7wlEUMQd5uIBt4Hr7vjNtA=";
+    repo = "liboqs";
+    rev = finalAttrs.version;
+    hash = "sha256-BFDa5NUr02lFPcT4Hnb2rjGAi+2cXvh1SHLfqX/zLlI=";
   };
 
-  patches = [ ./fix-openssl-detection.patch ];
+  patches = [
+    ./fix-openssl-detection.patch
+    # liboqs.pc.in path were modified in this commit
+    # causing malformed path with double slashes.
+    (fetchpatch {
+      url = "https://github.com/open-quantum-safe/liboqs/commit/f0e6b8646c5eae0e8052d029079ed3efa498f220.patch";
+      hash = "sha256-tDfWzcDnFGikzq2ADEWiUgcUt1NSLWQ9/HVWA3rKuzc=";
+      revert = true;
+    })
+  ];
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ openssl ];
@@ -31,6 +41,8 @@ stdenv.mkDerivation rec {
 
   dontFixCmake = true; # fix CMake file will give an error
 
+  outputs = [ "out" "dev" ];
+
   meta = with lib; {
     description = "C library for prototyping and experimenting with quantum-resistant cryptography";
     homepage = "https://openquantumsafe.org";
@@ -38,4 +50,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     maintainers = [ maintainers.sigmanificient ];
   };
-}
+})
diff --git a/pkgs/by-name/li/limine/package.nix b/pkgs/by-name/li/limine/package.nix
index 464c57dce72e0..22eb4625cb560 100644
--- a/pkgs/by-name/li/limine/package.nix
+++ b/pkgs/by-name/li/limine/package.nix
@@ -12,7 +12,7 @@
 }:
 
 let
-  version = "7.5.2";
+  version = "7.5.3";
 in
 # The output of the derivation is a tool to create bootable images using Limine
 # as bootloader for various platforms and corresponding binary and helper files.
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   # Packaging that in Nix is very cumbersome.
   src = fetchurl {
     url = "https://github.com/limine-bootloader/limine/releases/download/v${version}/limine-${version}.tar.gz";
-    sha256 = "sha256-l9ax89rNbQs8eNyuljdEXCvY5GRXsN9qzIDrsi76iEg=";
+    sha256 = "sha256-zuBHPuS+vdtSDfoRm6J0VdIYV3MtZtwW5qzCjDNmQKk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/lu/lunacy/package.nix b/pkgs/by-name/lu/lunacy/package.nix
index 1e3ad510bf9ef..8f55e067126d2 100644
--- a/pkgs/by-name/lu/lunacy/package.nix
+++ b/pkgs/by-name/lu/lunacy/package.nix
@@ -14,15 +14,16 @@
 , libXcursor
 , openssl
 , imagemagick
+, makeWrapper
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lunacy";
-  version = "9.6.0";
+  version = "9.6.1";
 
   src = fetchurl {
     url = "https://lcdn.icons8.com/setup/Lunacy_${finalAttrs.version}.deb";
-    hash = "sha256-PvQGDUC9BsIql4xMM1OH45gq3YtJMKJcYg4N2o18hno=";
+    hash = "sha256-w7qw5HyJcEjeujz54bTkkofmzacIBLYqJvVuldvbytE=";
   };
 
   unpackCmd = ''
@@ -47,6 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [
     dpkg
     autoPatchelfHook
+    makeWrapper
   ];
 
   # adds to the RPATHS of all shared objects (exe and libs)
@@ -82,22 +84,22 @@ stdenv.mkDerivation (finalAttrs: {
     # Prepare the desktop icon, the upstream icon is 200x200 but the hicolor theme does not
     # support this resolution. Nearest sizes are 192x192 and 256x256.
     ${imagemagick}/bin/convert "opt/icons8/lunacy/Assets/LunacyLogo.png" -resize 192x192 lunacy.png
-    install -D lunacy.png "$out/share/icons/hicolor/192x192/apps/${finalAttrs.pname}.png"
+    install -D lunacy.png "$out/share/icons/hicolor/192x192/apps/lunacy.png"
 
     runHook postInstall
   '';
 
   postInstall = ''
     substituteInPlace $out/share/applications/lunacy.desktop \
-      --replace "Exec=/opt/icons8/lunacy/Lunacy" "Exec=${finalAttrs.pname}" \
-      --replace "Icon=/opt/icons8/lunacy/Assets/LunacyLogo.png" "Icon=${finalAttrs.pname}"
+      --replace "Exec=/opt/icons8/lunacy/Lunacy" "Exec=lunacy" \
+      --replace "Icon=/opt/icons8/lunacy/Assets/LunacyLogo.png" "Icon=lunacy"
   '';
 
   postFixup = ''
     mkdir $out/bin
 
-    # Fixes runtime error regarding missing libSkiaSharp.so (which is in the same directory as the binary).
-    ln -s "$out/lib/lunacy/Lunacy" "$out/bin/${finalAttrs.pname}"
+    # The wrapper is needed instead of a symlink to prevent a random "Unsupported file format" when running the app.
+    makeWrapper "$out/lib/lunacy/Lunacy" "$out/bin/lunacy"
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/ma/marked-man/package-lock.json b/pkgs/by-name/ma/marked-man/package-lock.json
new file mode 100644
index 0000000000000..ad2a7ca847509
--- /dev/null
+++ b/pkgs/by-name/ma/marked-man/package-lock.json
@@ -0,0 +1,387 @@
+{
+  "name": "marked-man",
+  "version": "2.1.0",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "marked-man",
+      "version": "2.1.0",
+      "license": "MIT",
+      "dependencies": {
+        "marked": "^12.0.1",
+        "read-pkg-up": "^11.0.0"
+      },
+      "bin": {
+        "marked-man": "bin/marked-man.js"
+      },
+      "devDependencies": {
+        "@kapouer/eslint-config": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/code-frame": {
+      "version": "7.24.2",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
+      "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+      "dependencies": {
+        "@babel/highlight": "^7.24.2",
+        "picocolors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-identifier": {
+      "version": "7.24.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz",
+      "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/highlight": {
+      "version": "7.24.5",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz",
+      "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==",
+      "dependencies": {
+        "@babel/helper-validator-identifier": "^7.24.5",
+        "chalk": "^2.4.2",
+        "js-tokens": "^4.0.0",
+        "picocolors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@kapouer/eslint-config": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@kapouer/eslint-config/-/eslint-config-2.0.0.tgz",
+      "integrity": "sha512-a7+NvsaV5PotHLpTorMnEljBHm4l/4tW+hvvH7yZz6PvOVD89adYnjZ8wod7eD9p45MrJWyWDkUAm9mQ4jZoPg==",
+      "dev": true,
+      "dependencies": {
+        "@kapouer/eslint-plugin-no-return-in-loop": "^1.0.0"
+      }
+    },
+    "node_modules/@kapouer/eslint-plugin-no-return-in-loop": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@kapouer/eslint-plugin-no-return-in-loop/-/eslint-plugin-no-return-in-loop-1.0.0.tgz",
+      "integrity": "sha512-IXQp8N68L2fkk7p7RckBBhT/KwAX04GooIGjwzmY5THQanQvsmJpYgwC7A1Io2XDXBJzlGelQkP/C1SRM/aq8w==",
+      "dev": true
+    },
+    "node_modules/@types/normalize-package-data": {
+      "version": "2.4.4",
+      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+      "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA=="
+    },
+    "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/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/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/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/find-up-simple": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz",
+      "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/hasown": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+      "dependencies": {
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/hosted-git-info": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz",
+      "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
+      "dependencies": {
+        "lru-cache": "^10.0.1"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.0.0"
+      }
+    },
+    "node_modules/index-to-position": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz",
+      "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-core-module": {
+      "version": "2.13.1",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+      "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+      "dependencies": {
+        "hasown": "^2.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "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/lru-cache": {
+      "version": "10.2.2",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz",
+      "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==",
+      "engines": {
+        "node": "14 || >=16.14"
+      }
+    },
+    "node_modules/marked": {
+      "version": "12.0.2",
+      "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz",
+      "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==",
+      "bin": {
+        "marked": "bin/marked.js"
+      },
+      "engines": {
+        "node": ">= 18"
+      }
+    },
+    "node_modules/normalize-package-data": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz",
+      "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==",
+      "dependencies": {
+        "hosted-git-info": "^7.0.0",
+        "is-core-module": "^2.8.1",
+        "semver": "^7.3.5",
+        "validate-npm-package-license": "^3.0.4"
+      },
+      "engines": {
+        "node": "^16.14.0 || >=18.0.0"
+      }
+    },
+    "node_modules/parse-json": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz",
+      "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==",
+      "dependencies": {
+        "@babel/code-frame": "^7.22.13",
+        "index-to-position": "^0.1.2",
+        "type-fest": "^4.7.1"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "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/read-pkg": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz",
+      "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==",
+      "dependencies": {
+        "@types/normalize-package-data": "^2.4.3",
+        "normalize-package-data": "^6.0.0",
+        "parse-json": "^8.0.0",
+        "type-fest": "^4.6.0",
+        "unicorn-magic": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/read-pkg-up": {
+      "version": "11.0.0",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-11.0.0.tgz",
+      "integrity": "sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==",
+      "deprecated": "Renamed to read-package-up",
+      "dependencies": {
+        "find-up-simple": "^1.0.0",
+        "read-pkg": "^9.0.0",
+        "type-fest": "^4.6.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/semver": {
+      "version": "7.6.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/semver/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/spdx-correct": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+      "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+      "dependencies": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-exceptions": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+      "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="
+    },
+    "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.17",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
+      "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg=="
+    },
+    "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/type-fest": {
+      "version": "4.18.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.1.tgz",
+      "integrity": "sha512-qXhgeNsX15bM63h5aapNFcQid9jRF/l3ojDoDFmekDQEUufZ9U4ErVt6SjDxnHp48Ltrw616R8yNc3giJ3KvVQ==",
+      "engines": {
+        "node": ">=16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/unicorn-magic": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+      "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "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/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+    }
+  }
+}
diff --git a/pkgs/by-name/ma/marked-man/package.nix b/pkgs/by-name/ma/marked-man/package.nix
new file mode 100644
index 0000000000000..6de1f49c4374a
--- /dev/null
+++ b/pkgs/by-name/ma/marked-man/package.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "marked-man";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "kapouer";
+    repo = "marked-man";
+    rev = version;
+    hash = "sha256-RzPKahYxBdWZi1SwIv7Ju1cAQ4s0ANkCivFJItPYGCY=";
+  };
+
+  # https://github.com/kapouer/marked-man/issues/37
+  prePatch = ''
+    cp ${./package-lock.json} ./package-lock.json
+  '';
+
+  npmDepsHash = "sha256-8m0Xgq3O69hbSQArSrU/gbJvBEGP6rHK4to16QkXG6M=";
+
+  dontNpmBuild = true;
+
+  meta = {
+    description = "Markdown to roff wrapper around marked";
+    homepage = "https://github.com/kapouer/marked-man";
+    changelog = "https://github.com/kapouer/marked-man/blob/${version}/CHANGES.md";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ atemu ];
+    mainProgram = "marked-man";
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/by-name/ma/matugen/package.nix b/pkgs/by-name/ma/matugen/package.nix
index d739ed720ef04..d762c65a753cf 100644
--- a/pkgs/by-name/ma/matugen/package.nix
+++ b/pkgs/by-name/ma/matugen/package.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "matugen";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "InioX";
     repo = "matugen";
     rev = "v${version}";
-    hash = "sha256-4VX7Rt+ftEH8nwg59eT7TsvHYUf8/euUmwh/JLc4rLc=";
+    hash = "sha256-WFitpFF1Ah4HkzSe4H4aN/ZM0EEIcP5ozLMUWaDggFU=";
   };
 
-  cargoHash = "sha256-axBdOzCUwseV2ltgarmIS3IOYLX3q3rXeA2y6y7aNFI=";
+  cargoHash = "sha256-pD1NKUJmvMTnYKWjRrGnvbA0zVvGpWRIlf/9ovP9Jq4=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/by-name/me/mealie/mealie-frontend.nix b/pkgs/by-name/me/mealie/mealie-frontend.nix
index a98d22761e71e..477dcd993abcf 100644
--- a/pkgs/by-name/me/mealie/mealie-frontend.nix
+++ b/pkgs/by-name/me/mealie/mealie-frontend.nix
@@ -6,7 +6,7 @@ src: version:
 
   yarnOfflineCache = fetchYarnDeps {
     yarnLock = "${src}/frontend/yarn.lock";
-    hash = "sha256-zQUD/PQWzp2Q6fiVmLicvSusXffu6s9q3x/aAUnCN38=";
+    hash = "sha256-a2kIOQHaMzaMWId6+SSYN+SPQM2Ipa+F1ztFZgo3R6A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/me/mealie/mealie-logs-to-stdout.patch b/pkgs/by-name/me/mealie/mealie-logs-to-stdout.patch
deleted file mode 100644
index 521c5cebcf74d..0000000000000
--- a/pkgs/by-name/me/mealie/mealie-logs-to-stdout.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-diff --git a/mealie/core/root_logger.py b/mealie/core/root_logger.py
-index 29db504f..3da5ef84 100644
---- a/mealie/core/root_logger.py
-+++ b/mealie/core/root_logger.py
-@@ -9,7 +9,6 @@ DATA_DIR = determine_data_dir()
- 
- from .config import get_app_settings  # noqa E402
- 
--LOGGER_FILE = DATA_DIR.joinpath("mealie.log")
- DATE_FORMAT = "%d-%b-%y %H:%M:%S"
- LOGGER_FORMAT = "%(levelname)s: %(asctime)s \t%(message)s"
- 
-@@ -40,19 +39,17 @@ def get_logger_config():
-             level=log_level,
-         )
- 
--    output_file_handler = logging.FileHandler(LOGGER_FILE)
-     handler_format = logging.Formatter(LOGGER_FORMAT, datefmt=DATE_FORMAT)
--    output_file_handler.setFormatter(handler_format)
- 
-     # Stdout
-     stdout_handler = logging.StreamHandler(sys.stdout)
-     stdout_handler.setFormatter(handler_format)
- 
-     return LoggerConfig(
--        handlers=[output_file_handler, stdout_handler],
-+        handlers=[stdout_handler],
-         format="%(levelname)s: %(asctime)s \t%(message)s",
-         date_format="%d-%b-%y %H:%M:%S",
--        logger_file=LOGGER_FILE,
-+        logger_file=None,
-         level=log_level,
-     )
- 
-diff --git a/mealie/routes/admin/admin_log.py b/mealie/routes/admin/admin_log.py
-index ac12c12e..0de98b99 100644
---- a/mealie/routes/admin/admin_log.py
-+++ b/mealie/routes/admin/admin_log.py
-@@ -1,6 +1,5 @@
- from fastapi import APIRouter
- 
--from mealie.core.root_logger import LOGGER_FILE
- from mealie.core.security import create_file_token
- 
- router = APIRouter(prefix="/logs")
-@@ -9,15 +8,13 @@ router = APIRouter(prefix="/logs")
- @router.get("/{num}")
- async def get_log(num: int):
-     """Doc Str"""
--    with open(LOGGER_FILE, "rb") as f:
--        log_text = tail(f, num)
--    return log_text
-+    return ""
- 
- 
- @router.get("")
- async def get_log_file():
-     """Returns a token to download a file"""
--    return {"fileToken": create_file_token(LOGGER_FILE)}
-+    return {"fileToken": create_file_token("nofile")}
- 
- 
- def tail(f, lines=20):
-diff --git a/mealie/routes/admin/admin_maintenance.py b/mealie/routes/admin/admin_maintenance.py
-index 23ef8369..322b580f 100644
---- a/mealie/routes/admin/admin_maintenance.py
-+++ b/mealie/routes/admin/admin_maintenance.py
-@@ -6,7 +6,6 @@ from pathlib import Path
- 
- from fastapi import APIRouter, HTTPException
- 
--from mealie.core.root_logger import LOGGER_FILE
- from mealie.pkgs.stats import fs_stats
- from mealie.routes._base import BaseAdminController, controller
- from mealie.schema.admin import MaintenanceSummary
-@@ -73,8 +72,6 @@ class AdminMaintenanceController(BaseAdminController):
-         Get the maintenance summary
-         """
-         log_file_size = 0
--        with contextlib.suppress(FileNotFoundError):
--            log_file_size = os.path.getsize(LOGGER_FILE)
- 
-         return MaintenanceSummary(
-             data_dir_size=fs_stats.pretty_size(fs_stats.get_dir_size(self.folders.DATA_DIR)),
-@@ -85,7 +82,7 @@ class AdminMaintenanceController(BaseAdminController):
- 
-     @router.get("/logs", response_model=MaintenanceLogs)
-     def get_logs(self, lines: int = 200):
--        return MaintenanceLogs(logs=tail_log(LOGGER_FILE, lines))
-+        return MaintenanceLogs(logs="")
- 
-     @router.get("/storage", response_model=MaintenanceStorageDetails)
-     def get_storage_details(self):
-@@ -137,9 +134,6 @@ class AdminMaintenanceController(BaseAdminController):
-         Purges the logs
-         """
-         try:
--            with contextlib.suppress(FileNotFoundError):
--                os.remove(LOGGER_FILE)
--                LOGGER_FILE.touch()
-             return SuccessResponse.respond("Logs cleaned")
-         except Exception as e:
-             raise HTTPException(status_code=500, detail=ErrorResponse.respond("Failed to clean logs")) from e
diff --git a/pkgs/by-name/me/mealie/package.nix b/pkgs/by-name/me/mealie/package.nix
index 0bd096f7977c3..18d6ab736e68b 100644
--- a/pkgs/by-name/me/mealie/package.nix
+++ b/pkgs/by-name/me/mealie/package.nix
@@ -1,7 +1,6 @@
 { lib
 , callPackage
 , fetchFromGitHub
-, fetchpatch
 , makeWrapper
 , nixosTests
 , python3Packages
@@ -10,21 +9,17 @@
 }:
 
 let
-  version = "1.2.0";
+  version = "1.7.0";
   src = fetchFromGitHub {
     owner = "mealie-recipes";
     repo = "mealie";
     rev = "v${version}";
-    sha256 = "sha256-Kc49XDWcZLeJaYgiAO2/mHeVSOLMeiPr3U32e0IYfdU=";
+    hash = "sha256-z7kLBDzvzPWY7XmpROMpw3LcDpsl+hA+w1SdhrD/yNU=";
   };
 
   frontend = callPackage (import ./mealie-frontend.nix src version) { };
 
-  pythonpkgs = python3Packages.override {
-    overrides = self: super: {
-      pydantic = python3Packages.pydantic_1;
-    };
-  };
+  pythonpkgs = python3Packages;
   python = pythonpkgs.python;
 
   crfpp = stdenv.mkDerivation {
@@ -37,34 +32,11 @@ let
       hash = "sha256-XNps3ZApU8m07bfPEnvip1w+3hLajdn9+L5+IpEaP0c=";
     };
   };
-
-  mealie_patch = { name, commit, hash }: fetchpatch {
-    inherit name hash;
-    url = "https://github.com/mealie-recipes/mealie/commit/${commit}.patch";
-  };
-
 in pythonpkgs.buildPythonPackage rec {
   pname = "mealie";
   inherit version src;
   pyproject = true;
 
-  patches = [
-    # See https://github.com/mealie-recipes/mealie/pull/3102
-    # Replace hardcoded paths in code with environment variables (meant for inside Docker only)
-    # So we can configure easily where the data is stored on the server
-    (mealie_patch {
-      name = "model-path.patch";
-      commit = "e445705c5d26b895d806b96b2f330d4e9aac3723";
-      hash = "sha256-cf0MwvT81lNBTjvag8UUEbXkBu8Jyi/LFwUcs4lBVcY=";
-    })
-    (mealie_patch {
-      name = "alembic-cfg-path.patch";
-      commit = "06c528bfac0708af66aa0629f2e2232ddf07768f";
-      hash = "sha256-IOgdZK7dmWeX2ox16J9v+bOS7nHgCMvCJy6RNJLj0p8=";
-    })
-    ./mealie-logs-to-stdout.patch
-  ];
-
   nativeBuildInputs = [
     pythonpkgs.poetry-core
     pythonpkgs.pythonRelaxDepsHook
@@ -82,6 +54,7 @@ in pythonpkgs.buildPythonPackage rec {
     aniso8601
     appdirs
     apprise
+    authlib
     bcrypt
     extruct
     fastapi
@@ -90,15 +63,16 @@ in pythonpkgs.buildPythonPackage rec {
     httpx
     jinja2
     lxml
+    openai
     orjson
     paho-mqtt
-    passlib
     pillow
+    pillow-heif
     psycopg2
+    pydantic-settings
     pyhumps
-    pytesseract
+    pyjwt
     python-dotenv
-    python-jose
     python-ldap
     python-multipart
     python-slugify
@@ -160,7 +134,7 @@ in pythonpkgs.buildPythonPackage rec {
     homepage = "https://mealie.io";
     changelog = "https://github.com/mealie-recipes/mealie/releases/tag/${src.rev}";
     license = licenses.agpl3Only;
-    maintainers = with maintainers; [ litchipi ];
+    maintainers = with maintainers; [ litchipi anoa ];
     mainProgram = "mealie";
   };
 }
diff --git a/pkgs/by-name/me/mercure/package.nix b/pkgs/by-name/me/mercure/package.nix
index 0e8cc02fbe724..a806b7f115408 100644
--- a/pkgs/by-name/me/mercure/package.nix
+++ b/pkgs/by-name/me/mercure/package.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "mercure";
-  version = "0.15.11";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "dunglas";
     repo = "mercure";
     rev = "v${version}";
-    hash = "sha256-qPKfF0awRsMfXu7N/xNwFVmmuqTMGsDDqrVgt6LwviI=";
+    hash = "sha256-HHErk1KX8HgAt4UrBuchK6ysNsxEsrf5uBzzvSNz+to=";
   };
 
   sourceRoot = "${src.name}/caddy";
 
-  vendorHash = "sha256-evUGa1kFWbj0ynDQruBRDx2opzh7Tc7eHnWn3H4xwxY=";
+  vendorHash = "sha256-aO0EvxZNOCAaqEWN1VIdPpS+y8KcsuXo7o8msicspNE=";
 
   subPackages = [ "mercure" ];
   excludedPackages = [ "../cmd/mercure" ];
diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix
index b2c85c431e01d..cd56025a87658 100644
--- a/pkgs/by-name/me/meson/package.nix
+++ b/pkgs/by-name/me/meson/package.nix
@@ -4,6 +4,8 @@
 , installShellFiles
 , coreutils
 , darwin
+, libblocksruntime
+, llvmPackages
 , libxcrypt
 , openldap
 , ninja
@@ -93,6 +95,11 @@ python3.pkgs.buildPythonApplication rec {
     OpenAL
     OpenGL
     openldap
+  ] ++ lib.optionals (stdenv.cc.isClang && !stdenv.isDarwin) [
+    # https://github.com/mesonbuild/meson/blob/bd3f1b2e0e70ef16dfa4f441686003212440a09b/test%20cases/common/184%20openmp/meson.build
+    llvmPackages.openmp
+    # https://github.com/mesonbuild/meson/blob/1670fca36fcb1a4fe4780e96731e954515501a35/test%20cases/frameworks/29%20blocks/meson.build
+    libblocksruntime
   ];
 
   checkPhase = lib.concatStringsSep "\n" ([
diff --git a/pkgs/by-name/ne/neovide/package.nix b/pkgs/by-name/ne/neovide/package.nix
index a4c8791c5aa6d..47dfa348169d3 100644
--- a/pkgs/by-name/ne/neovide/package.nix
+++ b/pkgs/by-name/ne/neovide/package.nix
@@ -26,16 +26,16 @@
 
 rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
   pname = "neovide";
-  version = "0.13.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "neovide";
     repo = "neovide";
     rev = version;
-    sha256 = "sha256-lYahMSaagT6DloFMXT2lLPM1xX/9IEGNIPvbo1MQgSw=";
+    hash = "sha256-vN4LwJdVU0OWBuG7omDYY3Q6QZ2pTyCxWxFzv9Z1/6I=";
   };
 
-  cargoHash = "sha256-g/Ezyz2gC1YaPMdIy/WdoOvezJUH3aB2FA87viahRzc=";
+  cargoHash = "sha256-TiGEAwNXBNTXVU/CyKrUkjy8eIypYiLtoTyjskMpWvs=";
 
   SKIA_SOURCE_DIR =
     let
@@ -44,7 +44,7 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
         repo = "skia";
         # see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
         rev = "m124-0.72.3";
-        sha256 = "sha256-zlHUJUXukE4CsXwwmVl3KHf9mnNPT8lC/ETEE15Gb4s=";
+        hash = "sha256-zlHUJUXukE4CsXwwmVl3KHf9mnNPT8lC/ETEE15Gb4s=";
       };
       # The externals for skia are taken from skia/DEPS
       externals = linkFarm "skia-externals" (lib.mapAttrsToList
diff --git a/pkgs/by-name/ne/newsraft/package.nix b/pkgs/by-name/ne/newsraft/package.nix
index 066ab2b204649..38e79eb6890d6 100644
--- a/pkgs/by-name/ne/newsraft/package.nix
+++ b/pkgs/by-name/ne/newsraft/package.nix
@@ -13,14 +13,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "newsraft";
-  version = "0.24";
+  version = "0.25";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "newsraft";
     repo = "newsraft";
     rev = "newsraft-${finalAttrs.version}";
-    hash = "sha256-LTiFwsjnGuGN4UgMpu/HGKtJbbYTx58zldjV2C/wtPQ=";
+    hash = "sha256-hRWhjv/uCL3w0BUzYho3luCeZPyDsXqxnhx1wMovHY0=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/by-name/nr/nrr/package.nix b/pkgs/by-name/nr/nrr/package.nix
index 7d43400dba3e9..c0cd511cdc10c 100644
--- a/pkgs/by-name/nr/nrr/package.nix
+++ b/pkgs/by-name/nr/nrr/package.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nrr";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "ryanccn";
     repo = "nrr";
     rev = "v${version}";
-    hash = "sha256-wof/KmoHiBkcn2aTh+M6bNH/B6Le3H6hnT8BzUCs0Pw=";
+    hash = "sha256-jC+jyg97ifn2T6o0K2KEELGbko5eBIo9ZFLw9ly9lyE=";
   };
 
-  cargoHash = "sha256-BtYZNZxFjgY/BFd1kwGyy/F1iRezSDxoPHF4exrNzuk=";
+  cargoHash = "sha256-byDFHxXqXd14/ql1FGj/ySn7zrNgSGo5RBGJrHIRDC4=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreFoundation
diff --git a/pkgs/by-name/nu/numbat/package.nix b/pkgs/by-name/nu/numbat/package.nix
index 26e0c6f61d5cc..f9dcdb5031bde 100644
--- a/pkgs/by-name/nu/numbat/package.nix
+++ b/pkgs/by-name/nu/numbat/package.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "numbat";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "numbat";
     rev = "v${version}";
-    hash = "sha256-/XUDtyOk//J4S9NoRP/s5s6URkdzePhW7UQ4FxDgmhs=";
+    hash = "sha256-MYoNziQiyppftLPNM8cqEuNwUA4KCmtotQqDhgyef1E=";
   };
 
-  cargoHash = "sha256-uM4LmD78ZHAzx5purTO+MUstaSrR+j2LuSDUBI2tl3s=";
+  cargoHash = "sha256-t6vxJ0UIQJILCGv4PO5V4/QF5de/wtMQDkb8gPtE70E=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/by-name/oe/oelint-adv/package.nix b/pkgs/by-name/oe/oelint-adv/package.nix
index cf15799029644..d92ef6823c9c6 100644
--- a/pkgs/by-name/oe/oelint-adv/package.nix
+++ b/pkgs/by-name/oe/oelint-adv/package.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "oelint-adv";
-  version = "5.3.2";
+  version = "5.4.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_adv";
-    hash = "sha256-9FLoQxh9HNWmZguczfC3CkXIt7oMfCFhfen2y+Tfac4=";
+    hash = "sha256-yatzxVzZ3MxsHrwSBtHDgRcme7y7n8ZDl9gLWy7Jikg=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/by-name/oh/oh-my-posh/package.nix b/pkgs/by-name/oh/oh-my-posh/package.nix
index e36c1faf97a7d..625e2026b0c56 100644
--- a/pkgs/by-name/oh/oh-my-posh/package.nix
+++ b/pkgs/by-name/oh/oh-my-posh/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "20.2.0";
+  version = "21.0.1";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-OkLQpU9FN7R+W8zNd3UMmNVgmEVzSVibZ/cl5mN8TU8=";
+    hash = "sha256-fN1vkDk9u4NWVnaNuFVjcKQ7rEMhOMxBlvTxrp8G1d8=";
   };
 
-  vendorHash = "sha256-PDMmiU6NoJiCRZxJNKxt30sH+a14Snvk/CrD/+QpEEU=";
+  vendorHash = "sha256-MdHWAC46694hgCi1i/syNPdn4t+kY2ZhCAnE7aD8+8Y=";
 
   sourceRoot = "${src.name}/src";
 
diff --git a/pkgs/by-name/oo/oo7/Cargo.lock b/pkgs/by-name/oo/oo7/Cargo.lock
new file mode 100644
index 0000000000000..25dabd4253ba0
--- /dev/null
+++ b/pkgs/by-name/oo/oo7/Cargo.lock
@@ -0,0 +1,1980 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aes"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
+dependencies = [
+ "cfg-if",
+ "cipher",
+ "cpufeatures",
+ "zeroize",
+]
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "async-broadcast"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
+dependencies = [
+ "event-listener 5.3.1",
+ "event-listener-strategy 0.5.2",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-channel"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a"
+dependencies = [
+ "concurrent-queue",
+ "event-listener-strategy 0.5.2",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-executor"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0"
+dependencies = [
+ "async-task",
+ "concurrent-queue",
+ "fastrand",
+ "futures-lite",
+ "slab",
+]
+
+[[package]]
+name = "async-fs"
+version = "2.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a"
+dependencies = [
+ "async-lock",
+ "blocking",
+ "futures-lite",
+]
+
+[[package]]
+name = "async-io"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884"
+dependencies = [
+ "async-lock",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite",
+ "parking",
+ "polling",
+ "rustix",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "async-lock"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+dependencies = [
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-process"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a53fc6301894e04a92cb2584fedde80cb25ba8e02d9dc39d4a87d036e22f397d"
+dependencies = [
+ "async-channel",
+ "async-io",
+ "async-lock",
+ "async-signal",
+ "async-task",
+ "blocking",
+ "cfg-if",
+ "event-listener 5.3.1",
+ "futures-lite",
+ "rustix",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "async-recursion"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "async-signal"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda"
+dependencies = [
+ "async-io",
+ "async-lock",
+ "atomic-waker",
+ "cfg-if",
+ "futures-core",
+ "futures-io",
+ "rustix",
+ "signal-hook-registry",
+ "slab",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "async-task"
+version = "4.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
+
+[[package]]
+name = "async-trait"
+version = "0.1.80"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "atomic-waker"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
+
+[[package]]
+name = "autocfg"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
+
+[[package]]
+name = "backtrace"
+version = "0.3.72"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "bitflags"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "block-padding"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "blocking"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea"
+dependencies = [
+ "async-channel",
+ "async-task",
+ "futures-io",
+ "futures-lite",
+ "piper",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "bytes"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
+
+[[package]]
+name = "cbc"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
+name = "chrono"
+version = "0.4.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "num-traits",
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "cipher"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
+dependencies = [
+ "crypto-common",
+ "inout",
+ "zeroize",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
+
+[[package]]
+name = "concurrent-queue"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "rand_core",
+ "typenum",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "endi"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
+
+[[package]]
+name = "enumflags2"
+version = "0.7.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
+dependencies = [
+ "enumflags2_derive",
+ "serde",
+]
+
+[[package]]
+name = "enumflags2_derive"
+version = "0.7.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "event-listener"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
+dependencies = [
+ "event-listener 5.3.1",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
+
+[[package]]
+name = "foreign-types"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+dependencies = [
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+[[package]]
+name = "futures-channel"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
+dependencies = [
+ "futures-core",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+
+[[package]]
+name = "futures-io"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
+
+[[package]]
+name = "futures-lite"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
+dependencies = [
+ "fastrand",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "futures-macro"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
+
+[[package]]
+name = "futures-task"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+
+[[package]]
+name = "futures-util"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+dependencies = [
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hkdf"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
+dependencies = [
+ "hmac",
+]
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows-core",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
+dependencies = [
+ "equivalent",
+ "hashbrown",
+]
+
+[[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "block-padding",
+ "generic-array",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
+
+[[package]]
+name = "js-sys"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+dependencies = [
+ "spin 0.5.2",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.155"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
+
+[[package]]
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+
+[[package]]
+name = "log"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+
+[[package]]
+name = "md-5"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
+dependencies = [
+ "cfg-if",
+ "digest",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
+
+[[package]]
+name = "memoffset"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "nix"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+ "memoffset",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "num"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7"
+dependencies = [
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint-dig"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
+dependencies = [
+ "byteorder",
+ "lazy_static",
+ "libm",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "rand",
+ "serde",
+ "smallvec",
+ "zeroize",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
+dependencies = [
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "object"
+version = "0.35.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "oo7"
+version = "0.3.2"
+dependencies = [
+ "aes",
+ "async-fs",
+ "async-io",
+ "async-lock",
+ "blocking",
+ "cbc",
+ "cipher",
+ "digest",
+ "endi",
+ "futures-lite",
+ "futures-util",
+ "hkdf",
+ "hmac",
+ "md-5",
+ "num",
+ "num-bigint-dig",
+ "openssl",
+ "pbkdf2",
+ "rand",
+ "serde",
+ "sha2",
+ "subtle",
+ "tempfile",
+ "tokio",
+ "tracing",
+ "zbus",
+ "zeroize",
+ "zvariant",
+]
+
+[[package]]
+name = "oo7-cli"
+version = "0.3.2"
+dependencies = [
+ "chrono",
+ "clap",
+ "oo7",
+ "rpassword",
+ "tokio",
+]
+
+[[package]]
+name = "oo7-portal"
+version = "0.3.2"
+dependencies = [
+ "futures-channel",
+ "futures-util",
+ "oo7",
+ "ring",
+ "secrecy",
+ "serde",
+ "tokio",
+ "tracing",
+ "tracing-subscriber",
+ "zbus",
+ "zeroize",
+]
+
+[[package]]
+name = "openssl"
+version = "0.10.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "foreign-types",
+ "libc",
+ "once_cell",
+ "openssl-macros",
+ "openssl-sys",
+]
+
+[[package]]
+name = "openssl-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.102"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "ordered-stream"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "parking"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
+
+[[package]]
+name = "pbkdf2"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
+dependencies = [
+ "digest",
+ "hmac",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "piper"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf"
+dependencies = [
+ "atomic-waker",
+ "fastrand",
+ "futures-io",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+
+[[package]]
+name = "polling"
+version = "3.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "hermit-abi",
+ "pin-project-lite",
+ "rustix",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro-crate"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
+dependencies = [
+ "toml_edit",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[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",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "ring"
+version = "0.17.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
+dependencies = [
+ "cc",
+ "cfg-if",
+ "getrandom",
+ "libc",
+ "spin 0.9.8",
+ "untrusted",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rpassword"
+version = "7.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f"
+dependencies = [
+ "libc",
+ "rtoolbox",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rtoolbox"
+version = "0.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
+
+[[package]]
+name = "rustix"
+version = "0.38.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
+dependencies = [
+ "bitflags",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "secrecy"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e"
+dependencies = [
+ "zeroize",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.203"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.203"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_repr"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "socket2"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
+name = "subtle"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+
+[[package]]
+name = "syn"
+version = "2.0.66"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "rustix",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "tokio"
+version = "1.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "tracing",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
+
+[[package]]
+name = "toml_edit"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+dependencies = [
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+dependencies = [
+ "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+dependencies = [
+ "nu-ansi-term",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "uds_windows"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
+dependencies = [
+ "memoffset",
+ "tempfile",
+ "winapi",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "vcpkg"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[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.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
+
+[[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-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.5",
+ "windows_aarch64_msvc 0.52.5",
+ "windows_i686_gnu 0.52.5",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc 0.52.5",
+ "windows_x86_64_gnu 0.52.5",
+ "windows_x86_64_gnullvm 0.52.5",
+ "windows_x86_64_msvc 0.52.5",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
+
+[[package]]
+name = "winnow"
+version = "0.5.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "xdg-home"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "zbus"
+version = "4.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "989c3977a7aafa97b12b9a35d21cdcff9b0d2289762b14683f45d66b1ba6c48f"
+dependencies = [
+ "async-broadcast",
+ "async-executor",
+ "async-fs",
+ "async-io",
+ "async-lock",
+ "async-process",
+ "async-recursion",
+ "async-task",
+ "async-trait",
+ "blocking",
+ "enumflags2",
+ "event-listener 5.3.1",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "hex",
+ "nix",
+ "ordered-stream",
+ "rand",
+ "serde",
+ "serde_repr",
+ "sha1",
+ "static_assertions",
+ "tokio",
+ "tracing",
+ "uds_windows",
+ "windows-sys 0.52.0",
+ "xdg-home",
+ "zbus_macros",
+ "zbus_names",
+ "zvariant",
+]
+
+[[package]]
+name = "zbus_macros"
+version = "4.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fe9de53245dcf426b7be226a4217dd5e339080e5d46e64a02d6e5dcbf90fca1"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "zvariant_utils",
+]
+
+[[package]]
+name = "zbus_names"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
+dependencies = [
+ "serde",
+ "static_assertions",
+ "zvariant",
+]
+
+[[package]]
+name = "zeroize"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
+dependencies = [
+ "zeroize_derive",
+]
+
+[[package]]
+name = "zeroize_derive"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "zvariant"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aa6d31a02fbfb602bfde791de7fedeb9c2c18115b3d00f3a36e489f46ffbbc7"
+dependencies = [
+ "endi",
+ "enumflags2",
+ "serde",
+ "static_assertions",
+ "zvariant_derive",
+]
+
+[[package]]
+name = "zvariant_derive"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "642bf1b6b6d527988b3e8193d20969d53700a36eac734d21ae6639db168701c8"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "zvariant_utils",
+]
+
+[[package]]
+name = "zvariant_utils"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
diff --git a/pkgs/by-name/oo/oo7/package.nix b/pkgs/by-name/oo/oo7/package.nix
new file mode 100644
index 0000000000000..8054daa560889
--- /dev/null
+++ b/pkgs/by-name/oo/oo7/package.nix
@@ -0,0 +1,60 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, nix-update-script
+, oo7
+, openssl
+, pkg-config
+, testers
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "oo7";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "bilelmoussaoui";
+    repo = "oo7";
+    rev = version;
+    hash = "sha256-oNzDjPMPM8opINSHC8T4ivQ6mfRVmN2VXPZAFkBZS8U=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+  };
+
+  postPatch = ''
+    ln -s ${./Cargo.lock} Cargo.lock
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+  ];
+
+  postInstall = ''
+    install -Dm644 portal/data/oo7-portal.portal $out/share/xdg-desktop-portal/portals/oo7.portal
+    install -Dm644 portal/data/oo7-portal.service $out/share/dbus-1/services/oo7-portal.service
+    substituteInPlace $out/share/dbus-1/services/oo7-portal.service \
+      --replace-fail "@bindir@" "$out/bin"
+  '';
+
+  passthru = {
+    tests.testVersion = testers.testVersion {
+      package = oo7;
+    };
+    updateScript = nix-update-script { };
+  };
+
+  meta = with lib; {
+    description = "James Bond went on a new mission as a Secret Service provider";
+    homepage = "https://github.com/bilelmoussaoui/oo7";
+    license = licenses.mit;
+    maintainers = with maintainers; [ getchoo Scrumplex ];
+    platforms = platforms.linux;
+    mainProgram = "oo7-cli";
+  };
+}
diff --git a/pkgs/by-name/op/openfga/package.nix b/pkgs/by-name/op/openfga/package.nix
index 3b034bb11643d..3335f93bd1d99 100644
--- a/pkgs/by-name/op/openfga/package.nix
+++ b/pkgs/by-name/op/openfga/package.nix
@@ -7,7 +7,7 @@
 
 let
   pname = "openfga";
-  version = "1.5.3";
+  version = "1.5.4";
 in
 
 buildGoModule {
@@ -17,10 +17,10 @@ buildGoModule {
     owner = "openfga";
     repo = "openfga";
     rev = "v${version}";
-    hash = "sha256-+ECfBG0Z1XnopMPbq9jngcZ3lcSFOIomWo5iD0T1teQ=";
+    hash = "sha256-0K4z5CPNx+MVJ1PeB8rmO8+6hDGZ3ZALTFBWwR2Xl1k=";
   };
 
-  vendorHash = "sha256-MyoqdmNtpsoT08BKA9DPlpldIEXb82qzeXnW4KQXTiE=";
+  vendorHash = "sha256-sihNWuxwptBrVO9sXD2YNP20mgwYU2y4NSb8wqVWmCk=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/po/powerpipe/package.nix b/pkgs/by-name/po/powerpipe/package.nix
index 007ded3522675..ecc090646ad2d 100644
--- a/pkgs/by-name/po/powerpipe/package.nix
+++ b/pkgs/by-name/po/powerpipe/package.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "powerpipe";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "turbot";
     repo = "powerpipe";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lG2MYLb/8bv8SOLPZvZNtf5WM1qOJWEBTpLU2MzPbLs=";
+    hash = "sha256-tvGCgpuWMCzBldgxf4caKiUe7EpraJJeOVBwNqU60oc=";
   };
 
-  vendorHash = "sha256-K8SfPWn4IGQNPdax0Qe4KD+XttvDe2xj361zz55u6tA=";
+  vendorHash = "sha256-C3memfHNSlkiwhwB5zCXCtUOII3IjFD5FHGd8uPGmpU=";
   proxyVendor = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pr/proto/package.nix b/pkgs/by-name/pr/proto/package.nix
index 26dd5c047118f..48e530ad948f2 100644
--- a/pkgs/by-name/pr/proto/package.nix
+++ b/pkgs/by-name/pr/proto/package.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "proto";
-  version = "0.35.3";
+  version = "0.35.5";
 
   src = fetchFromGitHub {
     owner = "moonrepo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ybWiJy4U3l0g2DdoebZ0XUPRres7+DLz3tES7I7M/JQ=";
+    hash = "sha256-KbrRACXFtchhsV5BjtHBckTxFcKf0Xe1/uGgDikSQww=";
   };
 
-  cargoHash = "sha256-1DlDqzymrTFrtgDcgyoev864EBw8BGcxyquMt28NPTw=";
+  cargoHash = "sha256-CCjrbHYVERSVJayL+9kGo03ItCTaXwy5jEj+qGxyS1o=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.SystemConfiguration
diff --git a/pkgs/by-name/pw/pwalarmd/package.nix b/pkgs/by-name/pw/pwalarmd/package.nix
new file mode 100644
index 0000000000000..39a686f992883
--- /dev/null
+++ b/pkgs/by-name/pw/pwalarmd/package.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, alsa-lib
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pwalarmd";
+  version = "0.1.0";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ alsa-lib ];
+
+  src = fetchFromGitHub {
+    owner = "amyipdev";
+    repo = "pwalarmd";
+    rev = "v${version}";
+    hash = "sha256-xoC1PtDQjkvoWb9x8A43ITo6xyYOv9hxH2pxiZBBvKI=";
+  };
+
+  cargoHash = "sha256-cRAFnmgvzWLFAjB7H1rU4FdxMwm0J6d76kdFPoXpPMw=";
+
+  meta = {
+    description = "Background CLI-based alarm system for *nix";
+    longDescription = ''
+      pwalarmd is a command-line (daemon-based) alarm system.
+      It has extensive configuration and personalization, PulseAudio
+      and PipeWire support, and supports live configuration changes.
+    '';
+    mainProgram = "pwalarmd";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.all;
+    badPlatforms = lib.platforms.darwin;
+    maintainers = with lib.maintainers; [ amyipdev ];
+  };
+}
diff --git a/pkgs/by-name/ra/rasm/package.nix b/pkgs/by-name/ra/rasm/package.nix
index d770d13578f8f..801a88e13be8c 100644
--- a/pkgs/by-name/ra/rasm/package.nix
+++ b/pkgs/by-name/ra/rasm/package.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rasm";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "EdouardBERGE";
     repo = "rasm";
     rev = "v${version}";
-    hash = "sha256-cG/RZqZRS5uuXlQo7hylCEfbXXLBa68NXsr1iQCjhNc=";
+    hash = "sha256-PCjL/MIAIbiS4CKpegcoWIA8Ek2cE6pgbIMu7TzTjPQ=";
   };
 
   # by default the EXEC variable contains `rasm.exe`
diff --git a/pkgs/by-name/ri/ricochet-refresh/package.nix b/pkgs/by-name/ri/ricochet-refresh/package.nix
index 4d753b760d696..1dcff630f5e58 100644
--- a/pkgs/by-name/ri/ricochet-refresh/package.nix
+++ b/pkgs/by-name/ri/ricochet-refresh/package.nix
@@ -13,13 +13,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "ricochet-refresh";
-  version = "3.0.22";
+  version = "3.0.23";
 
   src = fetchFromGitHub {
     owner = "blueprint-freespeech";
     repo = "ricochet-refresh";
     rev = "v${finalAttrs.version}-release";
-    hash = "sha256-xPOAtH+K3WTPjbDw4ZhwpO2+wUYe5JdqKdtfNKQbgSM=";
+    hash = "sha256-Wz53KeI3t12MqnvGuGS8Jd9gDY4eCTc5wcXBDHp5m0U=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/sa/satty/package.nix b/pkgs/by-name/sa/satty/package.nix
index be27d9b8cd998..621da02a54a86 100644
--- a/pkgs/by-name/sa/satty/package.nix
+++ b/pkgs/by-name/sa/satty/package.nix
@@ -16,16 +16,16 @@
 rustPlatform.buildRustPackage rec {
 
   pname = "satty";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "gabm";
     repo = "Satty";
     rev = "v${version}";
-    hash = "sha256-yidnpgUwfbaKmWznjN+TkF6ww/gVLDXFjQ0cIAQ4qFM=";
+    hash = "sha256-4upjVP7DEWD76wycmCQxl86nsJYI0+V7dSThRFJu9Ds=";
   };
 
-  cargoHash = "sha256-GP7Bu11xim9lAfdhgm+MAxBghd5taA+Q0cWCbI8OxEM=";
+  cargoHash = "sha256-z2hRSGAwCI6DiXP87OzyyhJYjdB/7hSxYlUsKij1WQk=";
 
   nativeBuildInputs = [
     copyDesktopItems
diff --git a/pkgs/by-name/sn/snippetexpander/package.nix b/pkgs/by-name/sn/snippetexpander/package.nix
index 2d50515c5026b..334864bb8e578 100644
--- a/pkgs/by-name/sn/snippetexpander/package.nix
+++ b/pkgs/by-name/sn/snippetexpander/package.nix
@@ -1,6 +1,5 @@
 { lib
 , buildGoModule
-, fetchFromSourcehut
 , makeWrapper
 , scdoc
 , installShellFiles
diff --git a/pkgs/by-name/sn/snippetexpandergui/package.nix b/pkgs/by-name/sn/snippetexpandergui/package.nix
index a5b68fbce93f1..ef58bc920542c 100644
--- a/pkgs/by-name/sn/snippetexpandergui/package.nix
+++ b/pkgs/by-name/sn/snippetexpandergui/package.nix
@@ -1,6 +1,5 @@
 { lib
 , buildGoModule
-, fetchFromSourcehut
 , wrapGAppsHook3
 , wails
 , scdoc
diff --git a/pkgs/by-name/sn/snippetexpanderx/package.nix b/pkgs/by-name/sn/snippetexpanderx/package.nix
index c1d7827a4cc59..5f67512edda6a 100644
--- a/pkgs/by-name/sn/snippetexpanderx/package.nix
+++ b/pkgs/by-name/sn/snippetexpanderx/package.nix
@@ -1,6 +1,5 @@
 { lib
 , stdenv
-, fetchFromSourcehut
 , pkg-config
 , vala
 , wrapGAppsHook3
diff --git a/pkgs/by-name/st/stalwart-mail/package.nix b/pkgs/by-name/st/stalwart-mail/package.nix
index 68e0d97bebb53..5ef0a24af0bef 100644
--- a/pkgs/by-name/st/stalwart-mail/package.nix
+++ b/pkgs/by-name/st/stalwart-mail/package.nix
@@ -62,6 +62,13 @@ rustPlatform.buildRustPackage {
     ROCKSDB_LIB_DIR = "${rocksdb}/lib";
   };
 
+  postInstall = ''
+    mkdir -p $out/lib/systemd/system
+
+    substitute resources/systemd/stalwart-mail.service $out/lib/systemd/system/stalwart-mail.service \
+      --replace "__PATH__" "$out"
+  '';
+
   # Tests require reading to /etc/resolv.conf
   doCheck = false;
 
diff --git a/pkgs/by-name/tr/tracexec/package.nix b/pkgs/by-name/tr/tracexec/package.nix
index 04c0e82e04f75..8926308b5f82a 100644
--- a/pkgs/by-name/tr/tracexec/package.nix
+++ b/pkgs/by-name/tr/tracexec/package.nix
@@ -8,7 +8,7 @@
 }:
 let
   pname = "tracexec";
-  version = "0.3.1";
+  version = "0.4.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage {
     owner = "kxxt";
     repo = "tracexec";
     rev = "refs/tags/v${version}";
-    hash = "sha256-w43wYHyKrrBhph1Of07YAdcoAB+AMcmRyaiVPQUdZPk=";
+    hash = "sha256-Rhxg3VmdMSo1xlazvToIdvkBvuFUKTq82U3PnedGHHs=";
   };
 
-  cargoHash = "sha256-ks+z6jnf1H+j5g1Ml3zjHmlvhtpZxUiORkHHZzDMSuw=";
+  cargoHash = "sha256-rioZfUJD4ZOpXGCWsBDQkYwW9XtTjFnGgMKl0mPF5XM=";
 
   nativeBuildInputs = [
     cargo-about
diff --git a/pkgs/by-name/tr/tradingview/package.nix b/pkgs/by-name/tr/tradingview/package.nix
index d72e950052062..be05e2f5e8d39 100644
--- a/pkgs/by-name/tr/tradingview/package.nix
+++ b/pkgs/by-name/tr/tradingview/package.nix
@@ -22,12 +22,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tradingview";
-  version = "2.7.2";
-  revision = "49";
+  version = "2.7.7";
+  revision = "53";
 
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/nJdITJ6ZJxdvfu8Ch7n5kH5P99ClzBYV_${finalAttrs.revision}.snap";
-    hash = "sha256-GU5vWjZz8FBMtYawfP8cVmKp8X7bhJnLa0ft7Ku8czw=";
+    hash = "sha256-izASQXx/wTPKvPxWRh0csKsXoQlsFaOsLsNthepwW64=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/up/updatecli/package.nix b/pkgs/by-name/up/updatecli/package.nix
index c3999383ba9ea..5c591970ce6c9 100644
--- a/pkgs/by-name/up/updatecli/package.nix
+++ b/pkgs/by-name/up/updatecli/package.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "updatecli";
-  version = "0.77.0";
+  version = "0.78.0";
 
   src = fetchFromGitHub {
     owner = "updatecli";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-sBkTdr4/DqNrCxtaM1tVTx+rQ1dvJ1KwlFvAJHIZCuw=";
+    hash = "sha256-VpMi+r7QUSD99PRzbTeIxXn1O9GdfHNJM1F0OBzvNmc=";
   };
 
-  vendorHash = "sha256-xY2nNDMnUyV2sOMOJfSHbXaEU/gOKfZkA77d0lhDlgg=";
+  vendorHash = "sha256-Ji8r5c8LP7StGp/ve9RkQDeL21HBoK3Fln8LGBeqBpw=";
 
   # tests require network access
   doCheck = false;
diff --git a/pkgs/by-name/uv/uv/Cargo.lock b/pkgs/by-name/uv/uv/Cargo.lock
index a7b1c73e7ea4f..dffc5a8ceaaa0 100644
--- a/pkgs/by-name/uv/uv/Cargo.lock
+++ b/pkgs/by-name/uv/uv/Cargo.lock
@@ -1711,9 +1711,9 @@ dependencies = [
 
 [[package]]
 name = "hyper-util"
-version = "0.1.3"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
+checksum = "3d8d52be92d09acc2e01dddb7fde3ad983fc6489c7db4837e605bc3fca4cb63e"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -2018,9 +2018,9 @@ dependencies = [
 
 [[package]]
 name = "libmimalloc-sys"
-version = "0.1.37"
+version = "0.1.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81eb4061c0582dedea1cbc7aff2240300dd6982e0239d1c99e65c1dbf4a30ba7"
+checksum = "0e7bb23d733dfcc8af652a78b7bf232f0e967710d044732185e561e47c0336b6"
 dependencies = [
  "cc",
  "libc",
@@ -2205,9 +2205,9 @@ dependencies = [
 
 [[package]]
 name = "mimalloc"
-version = "0.1.41"
+version = "0.1.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f41a2280ded0da56c8cf898babb86e8f10651a34adcfff190ae9a1159c6908d"
+checksum = "e9186d86b79b52f4a77af65604b51225e8db1d6ee7e3f41aec1e40829c71a176"
 dependencies = [
  "libmimalloc-sys",
 ]
@@ -2300,9 +2300,9 @@ dependencies = [
 
 [[package]]
 name = "nu-ansi-term"
-version = "0.49.0"
+version = "0.50.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68"
+checksum = "dd2800e1520bdc966782168a627aa5d1ad92e33b984bf7c7615d31280c83ff14"
 dependencies = [
  "windows-sys 0.48.0",
 ]
@@ -2500,7 +2500,7 @@ checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 
 [[package]]
 name = "pep440_rs"
-version = "0.5.0"
+version = "0.6.0"
 dependencies = [
  "indoc",
  "once_cell",
@@ -2514,7 +2514,7 @@ dependencies = [
 
 [[package]]
 name = "pep508_rs"
-version = "0.4.2"
+version = "0.6.0"
 dependencies = [
  "derivative",
  "insta",
@@ -2796,7 +2796,7 @@ dependencies = [
  "indoc",
  "libc",
  "memoffset 0.9.1",
- "parking_lot 0.12.2",
+ "parking_lot 0.11.2",
  "portable-atomic",
  "pyo3-build-config",
  "pyo3-ffi",
@@ -3446,9 +3446,9 @@ dependencies = [
 
 [[package]]
 name = "schemars"
-version = "0.8.20"
+version = "0.8.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0218ceea14babe24a4a5836f86ade86c1effbc198164e619194cb5069187e29"
+checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92"
 dependencies = [
  "dyn-clone",
  "schemars_derive",
@@ -3459,9 +3459,9 @@ dependencies = [
 
 [[package]]
 name = "schemars_derive"
-version = "0.8.20"
+version = "0.8.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed5a1ccce8ff962e31a165d41f6e2a2dd1245099dc4d594f5574a86cd90f4d3"
+checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3512,18 +3512,18 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
 
 [[package]]
 name = "serde"
-version = "1.0.202"
+version = "1.0.203"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395"
+checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.202"
+version = "1.0.203"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
+checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4175,7 +4175,6 @@ dependencies = [
  "tokio",
  "tower-layer",
  "tower-service",
- "tracing",
 ]
 
 [[package]]
@@ -4285,11 +4284,11 @@ dependencies = [
 
 [[package]]
 name = "tracing-tree"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65139ecd2c3f6484c3b99bc01c77afe21e95473630747c7aca525e78b0666675"
+checksum = "b56c62d2c80033cb36fae448730a2f2ef99410fe3ecbffc916681a32f6807dbe"
 dependencies = [
- "nu-ansi-term 0.49.0",
+ "nu-ansi-term 0.50.0",
  "tracing-core",
  "tracing-log",
  "tracing-subscriber",
@@ -4471,7 +4470,7 @@ checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 
 [[package]]
 name = "uv"
-version = "0.2.4"
+version = "0.2.5"
 dependencies = [
  "anstream",
  "anyhow",
@@ -4487,7 +4486,6 @@ dependencies = [
  "filetime",
  "flate2",
  "fs-err",
- "indexmap",
  "indicatif",
  "indoc",
  "insta",
@@ -4502,7 +4500,6 @@ dependencies = [
  "pypi-types",
  "rayon",
  "regex",
- "requirements-txt",
  "reqwest",
  "rustc-hash",
  "serde",
@@ -4869,7 +4866,6 @@ dependencies = [
  "platform-tags",
  "pypi-types",
  "rayon",
- "requirements-txt",
  "rustc-hash",
  "serde",
  "tempfile",
@@ -4926,8 +4922,10 @@ dependencies = [
  "url",
  "uv-cache",
  "uv-client",
+ "uv-configuration",
  "uv-extract",
  "uv-fs",
+ "uv-state",
  "uv-warnings",
  "which",
  "winapi",
@@ -4959,7 +4957,6 @@ dependencies = [
  "indexmap",
  "indoc",
  "insta",
- "itertools 0.13.0",
  "path-absolutize",
  "pep440_rs",
  "pep508_rs",
@@ -4967,9 +4964,11 @@ dependencies = [
  "regex",
  "requirements-txt",
  "rustc-hash",
+ "same-file",
  "schemars",
  "serde",
  "thiserror",
+ "tokio",
  "toml",
  "tracing",
  "url",
@@ -5036,6 +5035,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "uv-state"
+version = "0.0.1"
+dependencies = [
+ "directories",
+ "fs-err",
+ "tempfile",
+]
+
+[[package]]
 name = "uv-types"
 version = "0.0.1"
 dependencies = [
@@ -5056,7 +5064,7 @@ dependencies = [
 
 [[package]]
 name = "uv-version"
-version = "0.2.4"
+version = "0.2.5"
 
 [[package]]
 name = "uv-virtualenv"
diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix
index 0650e2c2551ba..370a46da24674 100644
--- a/pkgs/by-name/uv/uv/package.nix
+++ b/pkgs/by-name/uv/uv/package.nix
@@ -16,14 +16,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "uv";
-  version = "0.2.4";
+  version = "0.2.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "astral-sh";
     repo = "uv";
     rev = "refs/tags/${version}";
-    hash = "sha256-x0uFBHfH+RXMS67y7NdikqNzXrNVv40HGVV6TVqR5NY=";
+    hash = "sha256-wWTzLyN/i7nn2/b8lX+8NDk9jU/jgaygF4i+Yb7kK8c=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
diff --git a/pkgs/by-name/ux/uxn/package.nix b/pkgs/by-name/ux/uxn/package.nix
index 17a85dddce52a..ef5c66be8761b 100644
--- a/pkgs/by-name/ux/uxn/package.nix
+++ b/pkgs/by-name/ux/uxn/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uxn";
-  version = "1.0-unstable-2024-05-10";
+  version = "1.0-unstable-2024-05-30";
 
   src = fetchFromSourcehut {
     owner = "~rabbits";
     repo = "uxn";
-    rev = "bb57b85f5724ccabdb081ff83080c2e3e0e122f7";
-    hash = "sha256-S/lTa6nQ7qIIibYaLfaS4l2dEKgOwXuMryvK9j7FD9Y=";
+    rev = "987a3348a64be19fd7cd75bec7fa08c2619b478b";
+    hash = "sha256-Yrlfnh9OuIEXEowM86UxkvX40522oP+yyQphmaQcY+s=";
   };
 
   outputs = [ "out" "projects" ];
diff --git a/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix b/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix
index a38699cf0ddc3..3f9d5054ed6b0 100644
--- a/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix
+++ b/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "wireguard-vanity-keygen";
-  version = "0.0.9";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "axllent";
     repo = "wireguard-vanity-keygen";
     rev = version;
-    hash = "sha256-K5lJSDRBf3NCs6v+HmjYJiHjfKt/6djvM847/C4qfeI=";
+    hash = "sha256-L+YssChpGNQs2MLGXul1sxVmROOWfT0aaZMepGuKmEQ=";
   };
 
   vendorHash = "sha256-kAPw5M9o99NijCC9BzYhIpzHK/8fSAJxvckaj8iRby0=";
diff --git a/pkgs/by-name/wi/wit-bindgen/package.nix b/pkgs/by-name/wi/wit-bindgen/package.nix
index b1a7229d74d0b..88363c86c3350 100644
--- a/pkgs/by-name/wi/wit-bindgen/package.nix
+++ b/pkgs/by-name/wi/wit-bindgen/package.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wit-bindgen";
-  version = "0.25.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = "wit-bindgen";
     rev = "v${version}";
-    hash = "sha256-ckzS3hMdBHllpbzPq4MZ3K6L1fKEgcgI2nnpzSI1ky4=";
+    hash = "sha256-A73ONUSW5pDoDB7+U3kOcLWnYxco9brhhL1cRLh2wug=";
   };
 
-  cargoHash = "sha256-BKNgPr5Yj+B0nAQEJdh6gat91WZ73sDSBgKDPrhn6bo=";
+  cargoHash = "sha256-L15XhJ1h9jmIBmtIob5X3EXkVDCqaBCrtI9sojtRUTQ=";
 
   # Some tests fail because they need network access to install the `wasm32-unknown-unknown` target.
   # However, GitHub Actions ensures a proper build.
diff --git a/pkgs/by-name/wl/wlinhibit/package.nix b/pkgs/by-name/wl/wlinhibit/package.nix
new file mode 100644
index 0000000000000..b134786a5f385
--- /dev/null
+++ b/pkgs/by-name/wl/wlinhibit/package.nix
@@ -0,0 +1,42 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  meson,
+  ninja,
+  pkg-config,
+  wayland,
+  wayland-protocols,
+}:
+stdenv.mkDerivation rec {
+  pname = "wlinhibit";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "0x5a4";
+    repo = "wlinhibit";
+    rev = "v0.1.1";
+    hash = "sha256-YQHJ9sLHSV8GJP7IpRzmtDbeB86y/a48mLcYy4iDciw=";
+  };
+
+
+  buildInputs = [
+    wayland
+    wayland-protocols
+  ];
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+
+  meta = {
+    description = "simple, stupid idle inhibitor for wayland";
+    license = lib.licenses.mit;
+    homepage = "https://github.com/0x5a4/wlinhibit";
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/wl/wlr-layout-ui/package.nix b/pkgs/by-name/wl/wlr-layout-ui/package.nix
index efa72ee133d91..3d68538c16dc6 100644
--- a/pkgs/by-name/wl/wlr-layout-ui/package.nix
+++ b/pkgs/by-name/wl/wlr-layout-ui/package.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wlr-layout-ui";
-  version = "1.6.10";
+  version = "1.6.11";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "fdev31";
     repo = "wlr-layout-ui";
     rev = "refs/tags/${version}";
-    hash = "sha256-UM1p5b5+xJY6BgPUMXjluIC9zQxe388+gBWTbNQPWYQ=";
+    hash = "sha256-aM8KV3jzim14lBVvn/AqUsfoRWrnKtRJeFSX1Thrq3M=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/yg/yggdrasil/package.nix b/pkgs/by-name/yg/yggdrasil/package.nix
index 70e352e730920..7473281706222 100644
--- a/pkgs/by-name/yg/yggdrasil/package.nix
+++ b/pkgs/by-name/yg/yggdrasil/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.5.5";
+  version = "0.5.6";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "sha256-ZInSgHjur2C+G6h/VcYtlCt0YLWwMIrz84UkDBbR73s=";
+    sha256 = "sha256-LiQKAkFN9JRdl7P3TMIzEeRxKBysidFWMWGGW8jEm/E=";
   };
 
-  vendorHash = "sha256-Ar0mWVFgLP1eYeKalaazZLKaLMXoe2bOGYkruzaKW88=";
+  vendorHash = "sha256-Bfq8AjOljSg/mWHUwTSKwslukW3aZXOFi4KigUsIogc=";
 
   subPackages = [ "cmd/genkeys" "cmd/yggdrasil" "cmd/yggdrasilctl" ];
 
diff --git a/pkgs/by-name/ze/zed-editor/Cargo.lock b/pkgs/by-name/ze/zed-editor/Cargo.lock
index 55fa9d28d73df..42b8a7aa4da7a 100644
--- a/pkgs/by-name/ze/zed-editor/Cargo.lock
+++ b/pkgs/by-name/ze/zed-editor/Cargo.lock
@@ -345,6 +345,7 @@ dependencies = [
  "ctor",
  "editor",
  "env_logger",
+ "feature_flags",
  "file_icons",
  "fs",
  "futures 0.3.28",
@@ -13001,7 +13002,7 @@ dependencies = [
 
 [[package]]
 name = "zed"
-version = "0.137.2"
+version = "0.137.5"
 dependencies = [
  "activity_indicator",
  "anyhow",
diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix
index 292f3a6a2823a..633ed801374d5 100644
--- a/pkgs/by-name/ze/zed-editor/package.nix
+++ b/pkgs/by-name/ze/zed-editor/package.nix
@@ -27,13 +27,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zed";
-  version = "0.137.2";
+  version = "0.137.5";
 
   src = fetchFromGitHub {
     owner = "zed-industries";
     repo = "zed";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Utp8l9LC506zXFIdxsTxG0qmDHwjkpAHmJ5VFs4PLCk=";
+    hash = "sha256-tztJzNY8H76ynMKWPbreQq87CYp/Iq2nDodObmEf8pg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/compilers/zig/shell-completions.nix b/pkgs/by-name/zi/zig-shell-completions/package.nix
index 44773cf9a553e..f9ba4d0886ba2 100644
--- a/pkgs/development/compilers/zig/shell-completions.nix
+++ b/pkgs/by-name/zi/zig-shell-completions/package.nix
@@ -1,8 +1,9 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, installShellFiles
-, unstableGitUpdater
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  installShellFiles,
+  unstableGitUpdater,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index 0f6d46546ded6..6e12c918cfb94 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -17,7 +17,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "30.0.1";
+  version = "30.1.1";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/PkgTTC-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 0bf703f6955cc..a3933935ad07f 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,93 +1,93 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  Iosevka = "1p805i26vf0979k9rgf31634ll6sbyj9xp5mws1gpdpb9xainrzm";
-  IosevkaAile = "1qxayq5cs0rf35k3gr8vilpcnnjq41dmldxb3nib178hi1kcagv2";
-  IosevkaCurly = "1gbsm9x02mjl61l1xc5jbmqkhj7wgqs5mai9czrs0cqvcxgj2cp1";
-  IosevkaCurlySlab = "14fcfspcgf0y7z4bbwvs54s6k82c4bcpj9fyj87ljmsxw2h325rx";
-  IosevkaEtoile = "0qkq357kg1a4clbjgr8k2miainrl594jd054wv9igxb0iwjcqj49";
-  IosevkaSlab = "1ygw3dn4zz62333bxd1k2zvyh8zmv2lrqybsbnidd654ikq0y2ly";
-  IosevkaSS01 = "15j85zp1jqhb07fgl90qnidz8da64nq2r3dw4a337kwqzmgfrbl1";
-  IosevkaSS02 = "0snia7xjh6d72ddz6yrzzx2pfx46c7kg2163qsp2b78p046s93ww";
-  IosevkaSS03 = "1qg3vwp4ybih6vvbb6qpzh8qvqhc8z985k934vkirk41hp5p9564";
-  IosevkaSS04 = "098pncahmhgvfh88m3mfrw7frjslrqly50p2x7qwv9lpz76n18xq";
-  IosevkaSS05 = "1grdfghfh1plbcxqfx49vm3c7vkrlafss40cjf7f7j7ykkyx540z";
-  IosevkaSS06 = "02qqffsyp2bgf6p4jp1ww1d9c7nj4hzs52psgvh5nnn0kvsxbjnn";
-  IosevkaSS07 = "1avb06xsv1mp6lrrdawh6xnwiykh75vhb0364203mzjjj7gir7rw";
-  IosevkaSS08 = "024qrzj8rkgwp71dpx7p424kgid1mzb0sbwfrg83i5v158slh65y";
-  IosevkaSS09 = "178yc58lq1j42pmyap210cjk2qnqcsvhfdry56p7nd5l8gxik1v1";
-  IosevkaSS10 = "0fhz69dhn7g64zyq947m85d73kn0qr2c751aqzrq1rlnbfm4cncs";
-  IosevkaSS11 = "0zvf5a9k1mv1mgybqjqx4xcnpq7fni6vgwmr0hnmzcnxzxapmgqk";
-  IosevkaSS12 = "1vjx11aalwbsm2vnqn9m695h943h3gln8bdayvv687x4bxj8dnfi";
-  IosevkaSS13 = "165ikcmdsjfj30cs6ggsgfl9q0rpl1m4n57c75x8qq1p103yivia";
-  IosevkaSS14 = "1iy95jyh7lsvwyc48rqasm9w9wr3rp0w8xvg8jqw3abnqyj30kxs";
-  IosevkaSS15 = "0kws1bsyzij6mzf8wl80257an071l6r925mxcdh327scg8hdgq54";
-  IosevkaSS16 = "06akd1mgdi9psf6j8ib97k617jilzs1likb3gbx57iqfnxyjfqkj";
-  IosevkaSS17 = "08jvlgia29bd5q77j664hfcdd3y29iwy6gnxnxsq6i2ipgwszpr1";
-  IosevkaSS18 = "01bp1zlfxrnz4b63d0j0zvdyilwxzb8b7m75yy5a73g7ghpjhf7w";
-  SGr-Iosevka = "03zpmihwj1jcvc0q97bhyw8qgccpg8vqbiqw9rf1aaav3rix7jpl";
-  SGr-IosevkaCurly = "1zkvih3ifkxf4ijbf9510b55xnp5rh488vqw899aw42sagdakqi3";
-  SGr-IosevkaCurlySlab = "019hsqhghyw5njqrm2h20yyrrj8md6aqkfsi2nqdq83q8bs6qvq0";
-  SGr-IosevkaFixed = "04g5l10ayvwwa0dhsaccxw2qbxbfyac5gnmlyly52lx126ifnhva";
-  SGr-IosevkaFixedCurly = "0cygz3kz0cbjdx1pdig9qgm9z6kclrx96d9g7wiain4xn4i7dayg";
-  SGr-IosevkaFixedCurlySlab = "1vdsrkbvdsqls344knqq0carcs3vc1ghhliipr44m7bpcnndavf4";
-  SGr-IosevkaFixedSlab = "0hs88kng52iqicdjga0dkvn1b5ih3jsqz6lh7gxwh6qww4crrb84";
-  SGr-IosevkaFixedSS01 = "1hllm1bxrdb8l796kkvd6mhr9fnf90qvxrcb815a6q4x1bxmcb47";
-  SGr-IosevkaFixedSS02 = "0322ky5cwyk95c1xvgv0ny5jmxbsxzznynmq70p827m16mzakvcv";
-  SGr-IosevkaFixedSS03 = "0041lnmv6vycfh7xbi6smr1csywha0ypbyxjk9j9727l16vvy3qp";
-  SGr-IosevkaFixedSS04 = "0ybby2x08zzjgnczair43p3ixbk6igi0pfryjqryz9ziyw7ijx1n";
-  SGr-IosevkaFixedSS05 = "1zf7q3m7pzf8cy28s4bijipxg9f6yl9dnd18syp2gibbzpvsyi9k";
-  SGr-IosevkaFixedSS06 = "0d5gcfydin1a7a4xhsjpqrxk93j5pxc7x8myg0ci36zfcvsy4dg5";
-  SGr-IosevkaFixedSS07 = "0lk43klql6046i9clk14fcqr6cn04dvadg8sv2cwr1130b5iz2b3";
-  SGr-IosevkaFixedSS08 = "1b10x2fzx0clyflid8sz4lcr8is7rbqlk3jyy201sw0p7bfh9bhz";
-  SGr-IosevkaFixedSS09 = "18dkkc4xsnxg0f6zj7hrpp8bybhpvzd0ls7rwyx06v7hcg1nnc7l";
-  SGr-IosevkaFixedSS10 = "03s66zgpn7x1y09qymw9pnridcn7gd7mz0m5b2ccdhc1wmb6vihs";
-  SGr-IosevkaFixedSS11 = "1xbal92f1wbkj1p3097z1cn5vffgdm2n7aa3ljgmrm5x2612whhj";
-  SGr-IosevkaFixedSS12 = "0v34py726vfnrd85bqjr2y61f5rgl4w8w98m0fq18dd9ywjxi83c";
-  SGr-IosevkaFixedSS13 = "1zm815hlff4kys0rg2qi5l8ilpqwmiwvy65qfw3rip1gqv04a3pj";
-  SGr-IosevkaFixedSS14 = "0bvzsyrazd5cx5gi4i590nr0swwsm26647asxmwcfv0pcafnklqw";
-  SGr-IosevkaFixedSS15 = "11cycsdda0dd1vlc5aqsgcpidppgy3fk6dycqxwc7p1cgbdnna60";
-  SGr-IosevkaFixedSS16 = "0asqky6by2i102sapdfw8f91k0pbhlfnr150v0vy3181lryqabay";
-  SGr-IosevkaFixedSS17 = "0yd58bci0f4sarzs2dshdawq4ki3zrdxghh98l6zzi3dnfwajmnq";
-  SGr-IosevkaFixedSS18 = "1r672zk7np5fh934749n86xsxi9vc65bmznqjvhjsrjav3pnzsz1";
-  SGr-IosevkaSlab = "061k6bld4jlylgad19xl8fcqh0yh95yi6hd8gmg4m3kpij64rbas";
-  SGr-IosevkaSS01 = "195jg3wrcqkx98fjx252r6p3xq9gwhr6pzlp3riwvjpbx3avqmvb";
-  SGr-IosevkaSS02 = "0mqhvkhyj9jrx80yh2lrkzpwz15008zs5rkzsimv89jxq0gn3a22";
-  SGr-IosevkaSS03 = "0p92824nrkhn64hrc71b3xwl0pfk5h8nchr2kry3h14hgyq29pkf";
-  SGr-IosevkaSS04 = "1c310vzl8cjjr1367x84vvp5vf6hn3q67qdaxa0hzsdn0w73w46j";
-  SGr-IosevkaSS05 = "08fpvik3pf8zbx4lp3s4dv0w85nwdxfbdh83nh0kznhkpinbmpyn";
-  SGr-IosevkaSS06 = "0dzcgn861lbsxcy7z584r6vpyi4y6hm16dm18k9nwgh21z7pr8n8";
-  SGr-IosevkaSS07 = "038ldpln3yv5icgk5kd2i2ydw22f18y6qzkff968v1azjkmv60n0";
-  SGr-IosevkaSS08 = "0qvj3rkhmpzcfgc26zjgcb36d6c427zgnr8lhwswd10a8dy1632a";
-  SGr-IosevkaSS09 = "0c8m8ly03xgwpcyb9mvrjck7xih8qil9pzcrvg6vv4ssvrvr90lw";
-  SGr-IosevkaSS10 = "1i168k7qgiawnxly129n6y7idjc14dj9iblgkiq60zy99n0q1b4j";
-  SGr-IosevkaSS11 = "1fjxvg3jcx5qphr2ywkly3zdf2vsdjn2macfzkngbhlml79jz9y3";
-  SGr-IosevkaSS12 = "1vbwinqpj5ahxgxd5r6rbzhlvx5q3v32bxmwxzw9krd517ra22kw";
-  SGr-IosevkaSS13 = "1zzj3nb8739xq4bb7i02r0zlfcyczkq9c7rgxih6hdd4nch75pvi";
-  SGr-IosevkaSS14 = "1bvn26mssy61nz1n3g76hbd0amq7cifh2rmdcxzs261wkiym01lw";
-  SGr-IosevkaSS15 = "0r6ggg2w1y4l23k8z2dqbv8g3pzikmyi18bfpgnc3k1mbqaaxf76";
-  SGr-IosevkaSS16 = "1nn8nk5rl1khw4ximl916ai49d1pa3b3wrsfb1qa51p5swsikf60";
-  SGr-IosevkaSS17 = "1vn7s3i6jsv0b8y07ay0sbna7wrwxsk1dyw2h42jswzzv28m0p4c";
-  SGr-IosevkaSS18 = "12zm8s4i8fzhfw63bc9smyj38mva8a69qj69sfkac5z81zrmxa8m";
-  SGr-IosevkaTerm = "0rawxyhfjdd1xhgwf9f7adm2jqdh81ycc792kfi8vhn7piq1g109";
-  SGr-IosevkaTermCurly = "1vrdx9kgy22blcm1ps0lv5snhxc39p6pd70ry6sa4np8swx6h7s3";
-  SGr-IosevkaTermCurlySlab = "00hnq7s9bva1kq921gy410z8ld9mzpr09bifimmpm0kf6dr7q8ll";
-  SGr-IosevkaTermSlab = "1sgvybj60qvh3wyxi11f6mjvik9d7pc517s387k2vfb66j5q3vvq";
-  SGr-IosevkaTermSS01 = "1fg8vslmp3kp7yfr6kwkybmgd5nbyjyhpa6c8h7d5yrl8sghh1jq";
-  SGr-IosevkaTermSS02 = "1qgsyh0jh8ik715n880gkfv3k7j2id06wrqbqkwdhlnljybzzvpv";
-  SGr-IosevkaTermSS03 = "03ahlzgs0sjbvc9nc53fsavdi3j3ym0pj55d3xqyi3wvn0y6g172";
-  SGr-IosevkaTermSS04 = "1b9bhvda2kzwpmsc0k8w44cm18sab3drxpskvb6rc252igd3fzzm";
-  SGr-IosevkaTermSS05 = "0gz35z4zvh7afcppkmdc79x534qkpb3wg60gvnsj86v01xhw1whk";
-  SGr-IosevkaTermSS06 = "07kg4137y3rzsk5pn1i8qcrr9nw5aqs3xhmikbysp28mlyd93xyr";
-  SGr-IosevkaTermSS07 = "047af1c93vm3g3j0nqbav11za143xb638z3sh4hzcngr5jz3avk4";
-  SGr-IosevkaTermSS08 = "0qzzxfkhzykmsn6dxf2h0yl1wgfar5i0dhgvdnibp9b54szxk0pk";
-  SGr-IosevkaTermSS09 = "1fc0cfrpv6mly75jfzwvdga5rb4y3w088lhiy8wac8a9dq928dpk";
-  SGr-IosevkaTermSS10 = "1k3paidjv8213gql5haismbyqsjv41zbflgxp5dk3599raimv8fd";
-  SGr-IosevkaTermSS11 = "06nh95dri3y080rc1pvxcli11a1xq15mnpxzlqk9zs9bgx8aw41d";
-  SGr-IosevkaTermSS12 = "1wisinglhrqfhpswvyhqfzdmx64mzli7ja96cj2bq0r9ksik09bx";
-  SGr-IosevkaTermSS13 = "1xcn4b3cspjqmrpckwi355xhxh2vx7vmiyzvhpjal04zkfv2lqlx";
-  SGr-IosevkaTermSS14 = "13s06y17vj1fp07h83d982l684jpg58ln1airxkvf6xb7dgh57yl";
-  SGr-IosevkaTermSS15 = "0qwkdsc51ssm0y8qbi9m3m3x0adrlf82h36x77xrap29qkz5liwq";
-  SGr-IosevkaTermSS16 = "00py2l35w9kaggrg7xhj333rc3li2lwkl5sblrpjkq98hdwc3m53";
-  SGr-IosevkaTermSS17 = "0afa65dq97mq4c2p7vyhpjzbch0ab0sy12qy0a6krrr1q4abbl1b";
-  SGr-IosevkaTermSS18 = "1ixy8nxm3n7pgswg5dfsy01fmzq5vg1g4r401f30zyri9f21010k";
+  Iosevka = "0ymq4p5chaczhns24n4xal44ppay566pg95zkkkq51ck52f3zf44";
+  IosevkaAile = "1v35phx8ki3yjg43s0fk8snpyc59pa8kg26q56hayxsfrj1dsmck";
+  IosevkaCurly = "0d7sp0w7ryh8wwz4hxyhwimhw3ly668ygm4jcwf2amd3r4xxis5k";
+  IosevkaCurlySlab = "1lajfma7jdwi453jgd3pq1vdgz5zn3f01j502dfiaskqzfan89cb";
+  IosevkaEtoile = "0agg1gg3ymljln8msfask398w58p1wyy5bnzxc0pmmc7ivdajmh4";
+  IosevkaSlab = "1rfzij1p3rybxrq461h3ykpq41hqrgaiwjd7x36dzm4bcm7mga9q";
+  IosevkaSS01 = "0qhzmk8c0npisxqwn2qicxlad2awmnnvik91daidnndwhw4ylq8y";
+  IosevkaSS02 = "15ipbca4c15vs7n62463asl58xshwsrqirhbp23gpr4ixmx2vrmy";
+  IosevkaSS03 = "0nw7jx2smkn8aihcmwkmcqlzs0dhm54qmxrm9102vlsf61dawkpj";
+  IosevkaSS04 = "1bk18a712xjngmv28fzkw6fs560k928b3ahp9w7cvq1xvji5g3qb";
+  IosevkaSS05 = "1xgrbfg1am48j3ps7bnjryyy0pjnx6ahz75zaqwf35cwjb3f5wvf";
+  IosevkaSS06 = "1wk1scyz34dc3dcq1af2c3nla1lh56zbgzx1xinf8qwypb6m01dw";
+  IosevkaSS07 = "1z8gg8h2kbgq7d4lglfl4awbkmzxpjwcqa1xrxxpcpmxa04ppcfq";
+  IosevkaSS08 = "1wid8y6wavxff7b62cxm00y93mjfc3zzjd76g4vgrb7r7ql9kd06";
+  IosevkaSS09 = "06hwzhg4qb8cha7zl32pwzbcnzg1dv8432aq7hzfa0jq2jmvpxax";
+  IosevkaSS10 = "1p8s2lfvr50pacs941gwxp211j4fn9rzxxvprz03swqklvwadir7";
+  IosevkaSS11 = "15izq605ggr2lnc8lljk6lvwkdc87ilx53zw5j7cfdfq8bc6fv6k";
+  IosevkaSS12 = "1xnbap1cm125pdg9x8dbc5lm691fr244k5vblj9mqhaqvbq9pqjs";
+  IosevkaSS13 = "1l98yjgq4zbxnq5xwhlql9m864n2ha0d46xk0b5w32srnaq09ipb";
+  IosevkaSS14 = "0rmd6gc624k3kls98wlz3v407xdq7cynjb06p9zhwxwfy3l9wpwl";
+  IosevkaSS15 = "04qnx6lgp1g3vnwsgbxibjjia2fip1vhf5854kp9dx37qi8qzf7g";
+  IosevkaSS16 = "13xx1s5gv1gly3pnc5rq6zx93rhllmga3k9ik3p86h3kd1valsvb";
+  IosevkaSS17 = "00rc87a09j2v7f1s4spisqgrmlhf67gvvjy14dbmlv7s434z7ap2";
+  IosevkaSS18 = "1fdpsqya1gn939v6b7iwj1sjpskbbxr5ypf0l5rvldxfqisx7zj4";
+  SGr-Iosevka = "0raiapwifmf02560ibic8g47mal8w91wfdcivh8yh7g2ldf5hchr";
+  SGr-IosevkaCurly = "1sg9prv501sa9iy9j4664qsp99d47lmfwn5hqms51kijliplfyfy";
+  SGr-IosevkaCurlySlab = "1g216l92khl22w7833pmwaphvr94zjing3sx8ldnj4py26nvvfqp";
+  SGr-IosevkaFixed = "0f0jk2fhqb4ch5gm6ndip04brchrz20kvs9ja4yarkmild3j1vmg";
+  SGr-IosevkaFixedCurly = "10ayxf5v2yyclpb2gnd06jgkbqvqy0sq5n8vmkjmjb6fx5v0yl7f";
+  SGr-IosevkaFixedCurlySlab = "14iyjj2i29bp084yi7ja1xxh3cl95xiyj29jcwgd6ndzv3xf8ir8";
+  SGr-IosevkaFixedSlab = "0zvm0qy7bjlj9c3gqzip3ldg9lnm3003fdd1s4ks2zvaz6xwk9sy";
+  SGr-IosevkaFixedSS01 = "09npaina3c9rsg84rlm1hadqd64v8i1rjcgbi6d8y5xs01dwn6jg";
+  SGr-IosevkaFixedSS02 = "0r67l52pk1wlqdmfn2wbjkcd4szmpj4d24jcgy5b83gjr3hgmcr4";
+  SGr-IosevkaFixedSS03 = "1dpj0hv1qghwhxqsymvk0xjhjnwxd9av23hr90bi5h10k7rx3nqy";
+  SGr-IosevkaFixedSS04 = "1ffpj0g0jh72x12ibw6mrfkgh87jzhbz4ak15c0yh21rz3bya71a";
+  SGr-IosevkaFixedSS05 = "1q6gw659p5fwgbqb20lzw89px8b0k2p65iasway0a4rihb7am18x";
+  SGr-IosevkaFixedSS06 = "0axqqhlk0811yxnk34kq8a1ayl4cpykjqd7ma9z52y8a1kgdilx2";
+  SGr-IosevkaFixedSS07 = "1jcwwp3w2j1chnn92r2whrq15ka3hfzw96w4ffppwk715s1kc63h";
+  SGr-IosevkaFixedSS08 = "0f5xyr8dgbmgw21z9g12admbj4037lgid9agl6djiavljdn3xwlz";
+  SGr-IosevkaFixedSS09 = "09xi1rrddivsqr2ddw3g10v2y4ybvbwa7p05jl7hz6kwgr1qrqwd";
+  SGr-IosevkaFixedSS10 = "0m6qwkb7svjgskc391dri8vciydzjgx1s91bbsax8gy18mqh3vd7";
+  SGr-IosevkaFixedSS11 = "1l04gmzdpccz1xmjqgn0jhpwxvq1axyqnrmkyafd116q4qszbayf";
+  SGr-IosevkaFixedSS12 = "1i5jx8cffsl1zpjxvyb3m73r82vfh71z4s4dzg55svzh4lkkdfyc";
+  SGr-IosevkaFixedSS13 = "013d0a2kli353vxlrrs5mgwdf1fipv3vsv626izp6whfxfg6pk6h";
+  SGr-IosevkaFixedSS14 = "07n4hkrayr5chy46pa0d86srfaprm8kw56x86wndqj2blk5ydvh6";
+  SGr-IosevkaFixedSS15 = "16lglz0ri7ww68whf8q009qq6kzaygy6lhbps5lmags34jhc9fa5";
+  SGr-IosevkaFixedSS16 = "15j5b2w54bsq8mbi6swq6vd2xvvnnd0j0c3d4dcp4kbhr766841q";
+  SGr-IosevkaFixedSS17 = "14j3miv97mk6hg3q7mafqc57m7z5sg6k7gap53v367793gkz6096";
+  SGr-IosevkaFixedSS18 = "1iylhw0c05gdp48rx8417khs0yih0q917xx8k81bh5xdg0idyjim";
+  SGr-IosevkaSlab = "1wyasyf0ydvh2q0akqvn7bzl66m7kyf2v9p3ry0lgcwv0flrwrpi";
+  SGr-IosevkaSS01 = "1hs0pvamx149l2drvciqnwry75165sq2nvl7g0f4jazclfb4af3c";
+  SGr-IosevkaSS02 = "05pl8asc5zqm1x4lcj00al27da1m301g96zyijsfxx2vybpw53jd";
+  SGr-IosevkaSS03 = "0c60585ss53mzb0swf08r54673a426wq8mamxgnc733yinbsffwx";
+  SGr-IosevkaSS04 = "0yml0y535kl2bid1qflkx3rrq2rq81nxpba18kk7xpscsg04ghjn";
+  SGr-IosevkaSS05 = "03hxlchn96m0ll47rn8lg092c776b1v99pcrsmrlx3x8gslpdlka";
+  SGr-IosevkaSS06 = "04cnymhvm5wi0hb956afi7029acqfqr0djhc1blhpkmldz8pzsn6";
+  SGr-IosevkaSS07 = "1v4khps1z16k59snwxffwwn1y1yj2mp8k4fjkrxli7lb5mrn8lwl";
+  SGr-IosevkaSS08 = "0pvy39fs5carcb0mh3ak8f5hkfjyk2pkmj7nfcaxdgkcgkys2ixn";
+  SGr-IosevkaSS09 = "0cibn02752b2nfjgg12lb10hgigz3a4zcrsc76bh0r9dsgjphscn";
+  SGr-IosevkaSS10 = "165snqk5livrkhpwcssb5b221f6gwwirm5rlsmx8d72y7rlc2vb0";
+  SGr-IosevkaSS11 = "0czb0gxd2cq329123zcmz9axkfpza43kqhn6bi1rq8dgjh4qn0fx";
+  SGr-IosevkaSS12 = "1ycqxpjm5k421a9iwiziab3j69frdgjiz7cwx1k7djqyshqn98k0";
+  SGr-IosevkaSS13 = "18wiv124c868h7qaw6qvdy8xhgh4grfhqri8q2mi8zj5gadkh5yb";
+  SGr-IosevkaSS14 = "1y2cfivf1zg03c2dn9xg5i29zmi4j3mj5diz3kyd68ih4csrzyla";
+  SGr-IosevkaSS15 = "0ghg5f2ay6i2fzbw4xq28hcpbvwjzqvi1pz2nfvd2i2n61960xpr";
+  SGr-IosevkaSS16 = "1132nf2xlsab8mhl5k1fvg8j9j6s1iy1avh5mj7jjb1z2i03z3fb";
+  SGr-IosevkaSS17 = "155vfg5p114vdl722mqdfap3cm25wxydmhldd88n488yr3yviicv";
+  SGr-IosevkaSS18 = "1y76pzsz5gfm0jjw8fa11aajf3zk188xr5fvsf3v89zdzk1ixzgj";
+  SGr-IosevkaTerm = "0rkyy77cdcpf74kw59kbz3l7fs0xl2l0m2zwv8nl4i1x4dbxjj9x";
+  SGr-IosevkaTermCurly = "09r4ag6madsc8889y1r12wk2763pjginrrykrj7w41j11bcvra39";
+  SGr-IosevkaTermCurlySlab = "0bjm43znavfjni7bmi48g4j90v6fp7fg62h32wjvfcpldhycqw8m";
+  SGr-IosevkaTermSlab = "0p4wvgp0nw70gdjn00dqh6vwwsl2fxcl11hf41s0hzr6cj8j0s93";
+  SGr-IosevkaTermSS01 = "1m8n32qs5jlcbfvzjnhm9lafdc1vg2cjya3hb7sphgiiqqjdgkf1";
+  SGr-IosevkaTermSS02 = "14fznvapw4pi3djhfr512pmmlb2air03jkik7d8rw8h69nnragb7";
+  SGr-IosevkaTermSS03 = "14386dbd8yah6j74cp4pddp9cjwi175wg4mq62mi0pxkm1fla578";
+  SGr-IosevkaTermSS04 = "038c4bkcfn8pd18dikipfbv7mqvils3v4fdrhyfmf83770qvkrf0";
+  SGr-IosevkaTermSS05 = "10k49rgwiymbzys8sswfr5ryn1547i1hrg8phb71lbzwxhc4z5m3";
+  SGr-IosevkaTermSS06 = "1pxyydwqbv1f51pdg36pvz5pj45nw28yc0vadj2q3617f2jb2n2h";
+  SGr-IosevkaTermSS07 = "1p1aqqa5h4m6r97q00qf32myfli2fm7lg692aqw45baxxw8sn52l";
+  SGr-IosevkaTermSS08 = "0r7hxaigz66cfgvci88hl0g55177kz3sbb8lji47h1v5r4xhzfl3";
+  SGr-IosevkaTermSS09 = "1ah9kbw9zc0nzfnsyxkbv7wnlaaywyvlkmdv5bfi3ds06w2kjphk";
+  SGr-IosevkaTermSS10 = "08b1l13g4j55sh10pfa6p7z72cvk4r694lml1m9vl4h4ail8w1ml";
+  SGr-IosevkaTermSS11 = "1bqa6d95ga9309m2vr3xzyrhf92dhw3hd3n5awpxip2mfr2k1fbp";
+  SGr-IosevkaTermSS12 = "00949ajl9xzpq7q045wb4hm8hfl94zpyp3fdjx0im7v4k2akzkjp";
+  SGr-IosevkaTermSS13 = "1cdwxb3bykxkr3ifprmh4pwc33cbyrn26d2h1hix9xsjw5nw99c6";
+  SGr-IosevkaTermSS14 = "1k0gwla5xkn8z70m36mhlhs7zm1sj7q33j68mb2wm783lapbll7v";
+  SGr-IosevkaTermSS15 = "1gjac767vi97qs8hqdklzqqb75dz0yx0z9pjr2lribfv0dvxvhss";
+  SGr-IosevkaTermSS16 = "0f738zydh51gvs68f0csax36bf2pi94pqbp0yjjqyrpx5c9m4pq0";
+  SGr-IosevkaTermSS17 = "1rmdb0nbdy47q8v3b7mpb1df5x9yfv7ijs26xwv64aas75hjf8vk";
+  SGr-IosevkaTermSS18 = "0jyidsr9aaccrc9bs7k8m5rj11p6vsxdrl2mslgc2bfwcarg89cm";
 }
diff --git a/pkgs/data/fonts/joypixels/default.nix b/pkgs/data/fonts/joypixels/default.nix
index 5938172756697..1371634dbf526 100644
--- a/pkgs/data/fonts/joypixels/default.nix
+++ b/pkgs/data/fonts/joypixels/default.nix
@@ -20,9 +20,9 @@ let
   };
 
   joypixels-free-license = with systemSpecific; {
-    spdxId = "LicenseRef-JoyPixels-Free-6.0";
-    fullName = "JoyPixels Free License Agreement 6.0";
-    url = "https://cdn.joypixels.com/distributions/${systemTag}/license/free-license.pdf";
+    spdxId = "LicenseRef-JoyPixels-Free";
+    fullName = "JoyPixels Free License Agreement";
+    url = "https://cdn.joypixels.com/free-license.pdf";
     free = false;
   };
 
@@ -43,11 +43,16 @@ let
     unfree licenses.
 
     configuration.nix:
-      nixpkgs.config.allowUnfree = true;
+      nixpkgs.config.allowUnfreePredicate = pkg:
+        builtins.elem (lib.getName pkg) [
+          "joypixels"
+        ];
       nixpkgs.config.joypixels.acceptLicense = true;
 
     config.nix:
-      allowUnfree = true;
+      allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
+        "joypixels"
+      ];
       joypixels.acceptLicense = true;
 
     [1]: ${joypixels-free-license.url}
@@ -58,15 +63,15 @@ in
 
 stdenv.mkDerivation rec {
   pname = "joypixels";
-  version = "6.6.0";
+  version = "8.0.0";
 
   src = assert !acceptLicense -> throwLicense;
     with systemSpecific; fetchurl {
       name = fontFile;
       url = "https://cdn.joypixels.com/distributions/${systemTag}/font/${version}/${fontFile}";
       sha256 = {
-        darwin = "0qcmb2vn2nykyikzgnlma627zhks7ksy1vkgvpcmqwyxq4bd38d7";
-      }.${kernel.name} or "17gjaz7353zyprmds64p01qivy2r8pwf88nvvhi57idas2qd604n";
+        darwin = "0kj4nck6k91avhan9iy3n8hhk47xr44rd1lzljjx3w2yzw1w9zvv";
+      }.${kernel.name} or "1bkyclgmvl6ppbdvidc5xr1g6f215slf0glnh5p6fsfbxc5h95bw";
     };
 
   dontUnpack = true;
@@ -82,22 +87,27 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "The finest emoji you can use legally (formerly EmojiOne)";
     longDescription = ''
-      Updated for 2021! JoyPixels 6.6 includes 3,559 originally crafted icon
-      designs and is 100% Unicode 13.1 compatible. We offer the largest
-      selection of files ranging from png, svg, iconjar, sprites, and fonts.
+      Updated for 2023! JoyPixels 8.0 includes 3,702 originally crafted icon
+      designs and is 100% Unicode 15.0 compatible. We offer the largest
+      selection of files ranging from png, svg, iconjar, and fonts (sprites
+      available upon request).
     '';
     homepage = "https://www.joypixels.com/fonts";
+    hydraPlatforms = []; # Just a binary file download, nothing to cache.
     license =
       let
         free-license = joypixels-free-license;
         appendix = joypixels-license-appendix;
       in with systemSpecific; {
-        spdxId = "LicenseRef-JoyPixels-Free-6.0-with-${capitalized}-Appendix";
+        spdxId = "LicenseRef-JoyPixels-Free-with-${capitalized}-Appendix";
         fullName = "${free-license.fullName} with ${appendix.fullName}";
         url = free-license.url;
         appendixUrl = appendix.url;
         free = false;
       };
     maintainers = with maintainers; [ toonn jtojnar ];
+    # Not quite accurate since it's a font, not a program, but clearly
+    # indicates we're not actually building it from source.
+    sourceProvenance = sourceTypes.binaryNativeCode;
   };
 }
diff --git a/pkgs/data/icons/flat-remix-icon-theme/default.nix b/pkgs/data/icons/flat-remix-icon-theme/default.nix
index c19f413ad7d09..9907b18203d7a 100644
--- a/pkgs/data/icons/flat-remix-icon-theme/default.nix
+++ b/pkgs/data/icons/flat-remix-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec  {
   pname = "flat-remix-icon-theme";
-  version = "20220525";
+  version = "20240201";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = "flat-remix";
     rev = version;
-    sha256 = "sha256-JpUa2nxZxrLTd80qdiGpob4Trq41ONthsPA4zFj/6nk=";
+    sha256 = "sha256-3TkBRgoT2AW0Sb0CrXdxh53/jYARAMFC/TIj/r/zruo=";
   };
 
   nativeBuildInputs = [
@@ -22,6 +22,7 @@ stdenvNoCC.mkDerivation rec  {
     hicolor-icon-theme
   ];
 
+  dontFixup = true;
   dontDropIconThemeCache = true;
 
   installPhase = ''
@@ -31,6 +32,8 @@ stdenvNoCC.mkDerivation rec  {
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache $theme
     done
+    symlinkParentIconThemes
+    recordPropagatedDependencies
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/themes/orchis-theme/default.nix b/pkgs/data/themes/orchis-theme/default.nix
index e1dd0a2565942..15f406d68cb24 100644
--- a/pkgs/data/themes/orchis-theme/default.nix
+++ b/pkgs/data/themes/orchis-theme/default.nix
@@ -26,13 +26,13 @@ lib.checkListOfEnum "${pname}: theme tweaks" validTweaks tweaks
 stdenvNoCC.mkDerivation
 rec {
   inherit pname;
-  version = "2024-05-01";
+  version = "2024-05-30";
 
   src = fetchFromGitHub {
     repo = "Orchis-theme";
     owner = "vinceliuice";
     rev = version;
-    hash = "sha256-xi4kYT566bQqQEY4CByTrpwMfC1uhzeIqpprpe59oIM=";
+    hash = "sha256-Dpdt7acRodtR4EE4STIiYHidehZwFGoYS8Oh6DgpXOI=";
   };
 
   nativeBuildInputs = [ gtk3 sassc ];
diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
index 9887f7f11c522..cb5feb26e4080 100644
--- a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
@@ -1,14 +1,16 @@
-{ lib
-, stdenv
-, fetchurl
-, meson
-, ninja
-, gettext
-, pkg-config
-, glib
-, gnome
-, gnome-menus
-, substituteAll
+{
+  lib,
+  stdenv,
+  fetchurl,
+  meson,
+  ninja,
+  gettext,
+  pkg-config,
+  libgtop,
+  glib,
+  gnome,
+  gnome-menus,
+  substituteAll,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -25,6 +27,10 @@ stdenv.mkDerivation (finalAttrs: {
       src = ./fix_gmenu.patch;
       gmenu_path = "${gnome-menus}/lib/girepository-1.0";
     })
+    (substituteAll {
+      src = ./fix_gtop.patch;
+      gtop_path = "${libgtop}/lib/girepository-1.0";
+    })
   ];
 
   nativeBuildInputs = [
@@ -35,9 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
     glib
   ];
 
-  mesonFlags = [
-    "-Dextension_set=all"
-  ];
+  mesonFlags = [ "-Dextension_set=all" ];
 
   preFixup = ''
     # Since we do not install the schemas to central location,
diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/fix_gtop.patch b/pkgs/desktops/gnome/core/gnome-shell-extensions/fix_gtop.patch
new file mode 100644
index 0000000000000..61c90f184d1ec
--- /dev/null
+++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/fix_gtop.patch
@@ -0,0 +1,25 @@
+diff --git a/extensions/system-monitor/extension.js b/extensions/system-monitor/extension.js
+index 37d2eb1..232d0d5 100644
+--- a/extensions/system-monitor/extension.js
++++ b/extensions/system-monitor/extension.js
+@@ -6,9 +6,9 @@
+ 
+ import Clutter from 'gi://Clutter';
+ import Gio from 'gi://Gio';
++import GIRepository from "gi://GIRepository";
+ import GLib from 'gi://GLib';
+ import GObject from 'gi://GObject';
+-import GTop from 'gi://GTop';
+ import Pango from 'gi://Pango';
+ import Shell from 'gi://Shell';
+ import St from 'gi://St';
+@@ -19,6 +19,9 @@ import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
+ 
+ import * as Main from 'resource:///org/gnome/shell/ui/main.js';
+ 
++GIRepository.Repository.prepend_search_path('@gtop_path@');
++const GTop = (await import("gi://GTop")).default;
++
+ const THRESHOLD_HIGH = 0.80;
+ 
+ // adapted from load-graph.cpp in gnome-system-monitor
diff --git a/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix b/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix
index 48a42fb3a040d..6826e6116e615 100644
--- a/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix
+++ b/pkgs/desktops/gnome/extensions/buildGnomeExtension.nix
@@ -56,7 +56,7 @@ let
       homepage = link;
       license = lib.licenses.gpl2Plus; # https://gjs.guide/extensions/review-guidelines/review-guidelines.html#licensing
       platforms = lib.platforms.linux;
-      maintainers = with lib.maintainers; [ ];
+      maintainers = [ lib.maintainers.honnip ];
     };
     passthru = {
       extensionPortalSlug = pname;
diff --git a/pkgs/desktops/gnome/extensions/collisions.json b/pkgs/desktops/gnome/extensions/collisions.json
index 1ecf8d1b34e9c..983940b88b278 100644
--- a/pkgs/desktops/gnome/extensions/collisions.json
+++ b/pkgs/desktops/gnome/extensions/collisions.json
@@ -1,371 +1,50 @@
 {
-  "38": {
-    "applications-menu": [
-      "apps-menu@gnome-shell-extensions.gcampax.github.com",
-      "Applications_Menu@rmy.pobox.com"
-    ],
-    "workspace-indicator": [
-      "workspace-indicator@gnome-shell-extensions.gcampax.github.com",
-      "horizontal-workspace-indicator@tty2.io"
-    ],
-    "lock-keys": [
-      "lockkeys@vaina.lt",
-      "lockkeys@fawtytoo"
-    ],
-    "fuzzy-clock": [
-      "Fuzzy_Clock@dallagi",
-      "fuzzy-clock@keepawayfromfire.co.uk"
-    ],
-    "hide-activities-button": [
-      "Hide_Activities@shay.shayel.org",
-      "hide-activities-button@nmingori.gnome-shell-extensions.org"
-    ],
-    "shutdowntimer": [
-      "ShutdownTimer@neumann",
-      "ShutdownTimer@deminder"
-    ],
-    "bottompanel": [
-      "bottompanel@tmoer93",
-      "bottom-panel@sulincix"
-    ],
-    "noannoyance": [
-      "noannoyance@sindex.com",
-      "noannoyance@daase.net"
-    ],
-    "virtualbox-applet": [
-      "vbox-applet@gs.eros2.info",
-      "vbox-applet@buba98"
-    ],
-    "transparent-window": [
-      "transparent-window@pbxqdown.github.com",
-      "transparentwindows.mdirshad07"
-    ],
-    "azan-islamic-prayer-times": [
-      "azan@faissal.bensefia.id",
-      "azan@hatem.masmoudi.org"
-    ],
-    "floating-dock": [
-      "floatingDock@sun.wxg@gmail.com",
-      "floating-dock@nandoferreira_prof@hotmail.com"
-    ],
-    "gnome-trash": [
-      "gnome-trash@gnome-trash.b00f.gitlab.com",
-      "gnome-trash@b00f.github.io"
-    ],
-    "true-color-invert": [
-      "true-color-invert@jackkenney",
-      "true-color-window-invert@lynet101"
-    ],
-    "volume-scroller": [
-      "volume_scroller@trflynn89.pm.me",
-      "volume_scroller@francislavoie.github.io"
-    ]
-  },
-  "40": {
-    "applications-menu": [
-      "apps-menu@gnome-shell-extensions.gcampax.github.com",
-      "Applications_Menu@rmy.pobox.com"
-    ],
-    "workspace-indicator": [
-      "workspace-indicator@gnome-shell-extensions.gcampax.github.com",
-      "horizontal-workspace-indicator@tty2.io"
-    ],
-    "lock-keys": [
-      "lockkeys@vaina.lt",
-      "lockkeys@fawtytoo"
-    ],
-    "system-monitor": [
-      "system-monitor@paradoxxx.zero.gmail.com",
-      "System_Monitor@bghome.gmail.com"
-    ],
-    "hide-activities-button": [
-      "Hide_Activities@shay.shayel.org",
-      "hide-activities-button@nmingori.gnome-shell-extensions.org"
-    ],
-    "clipboard-indicator": [
-      "clipboard-indicator@tudmotu.com",
-      "clipboard-indicator@Dieg0Js.github.io"
-    ],
-    "shutdowntimer": [
-      "ShutdownTimer@neumann",
-      "shutdown-timer-gnome-shell-extension",
-      "ShutdownTimer@deminder"
-    ],
-    "noannoyance": [
-      "noannoyance@sindex.com",
-      "noannoyance@daase.net"
-    ],
-    "fuzzy-clock": [
-      "fuzzy-clock@keepawayfromfire.co.uk",
-      "FuzzyClock@johngoetz"
-    ],
-    "virtualbox-applet": [
-      "vbox-applet@gs.eros2.info",
-      "vbox-applet@buba98"
-    ],
-    "panel-date-format": [
-      "panel-date-format@keiii.github.com",
-      "panel-date-format@atareao.es"
-    ],
-    "disable-unredirect-fullscreen-windows": [
-      "unredirect@vaina.lt",
-      "unredirect@aunetx"
-    ],
-    "floating-dock": [
-      "floatingDock@sun.wxg@gmail.com",
-      "floating-dock@nandoferreira_prof@hotmail.com"
-    ],
-    "extension-list": [
-      "extension-list@tu.berry",
-      "screen-lock@garciabaameiro.com"
-    ],
-    "wireguard-indicator": [
-      "wireguard-indicator@gregos.me",
-      "wireguard-indicator@atareao.es"
-    ],
-    "true-color-invert": [
-      "true-color-invert@jackkenney",
-      "true-color-window-invert@lynet101"
-    ],
-    "volume-scroller": [
-      "volume_scroller@trflynn89.pm.me",
-      "volume_scroller@francislavoie.github.io"
-    ],
-    "floating-panel": [
-      "floating-panel@aylur",
-      "floating-panel-usedbymyself@wpism"
-    ]
-  },
-  "41": {
-    "applications-menu": [
-      "apps-menu@gnome-shell-extensions.gcampax.github.com",
-      "Applications_Menu@rmy.pobox.com"
-    ],
-    "workspace-indicator": [
-      "workspace-indicator@gnome-shell-extensions.gcampax.github.com",
-      "horizontal-workspace-indicator@tty2.io"
-    ],
-    "lock-keys": [
-      "lockkeys@vaina.lt",
-      "lockkeys@fawtytoo"
-    ],
-    "shutdowntimer": [
-      "ShutdownTimer@neumann",
-      "ShutdownTimer@deminder"
-    ],
-    "noannoyance": [
-      "noannoyance@sindex.com",
-      "noannoyance@daase.net"
-    ],
-    "fuzzy-clock": [
-      "fuzzy-clock@keepawayfromfire.co.uk",
-      "FuzzyClock@johngoetz"
-    ],
-    "virtualbox-applet": [
-      "vbox-applet@gs.eros2.info",
-      "vbox-applet@buba98"
-    ],
-    "panel-date-format": [
-      "panel-date-format@keiii.github.com",
-      "panel-date-format@atareao.es"
-    ],
-    "disable-unredirect-fullscreen-windows": [
-      "unredirect@vaina.lt",
-      "unredirect@aunetx"
-    ],
-    "floating-dock": [
-      "floatingDock@sun.wxg@gmail.com",
-      "floating-dock@nandoferreira_prof@hotmail.com"
-    ],
-    "wireguard-indicator": [
-      "wireguard-indicator@gregos.me",
-      "wireguard-indicator@atareao.es"
-    ],
-    "true-color-invert": [
-      "true-color-invert@jackkenney",
-      "true-color-window-invert@lynet101"
-    ],
-    "volume-scroller": [
-      "volume_scroller@trflynn89.pm.me",
-      "volume_scroller@francislavoie.github.io"
-    ],
-    "floating-panel": [
-      "floating-panel@aylur",
-      "floating-panel-usedbymyself@wpism"
-    ]
-  },
-  "42": {
-    "applications-menu": [
-      "apps-menu@gnome-shell-extensions.gcampax.github.com",
-      "Applications_Menu@rmy.pobox.com"
-    ],
-    "workspace-indicator": [
-      "workspace-indicator@gnome-shell-extensions.gcampax.github.com",
-      "horizontal-workspace-indicator@tty2.io"
-    ],
-    "lock-keys": [
-      "lockkeys@vaina.lt",
-      "lockkeys@fawtytoo"
-    ],
-    "persian-calendar": [
-      "PersianCalendar@oxygenws.com",
-      "persian-calendar@iamrezamousavi.gmail.com"
-    ],
-    "clipboard-indicator": [
-      "clipboard-indicator@tudmotu.com",
-      "clipboard-indicator@Dieg0Js.github.io"
-    ],
-    "noannoyance": [
-      "noannoyance@sindex.com",
-      "noannoyance@daase.net"
-    ],
-    "fuzzy-clock": [
-      "fuzzy-clock@keepawayfromfire.co.uk",
-      "FuzzyClock@johngoetz"
-    ],
-    "virtualbox-applet": [
-      "vbox-applet@gs.eros2.info",
-      "vbox-applet@buba98"
-    ],
-    "panel-date-format": [
-      "panel-date-format@keiii.github.com",
-      "panel-date-format@atareao.es"
-    ],
-    "wireguard-indicator": [
-      "wireguard-indicator@gregos.me",
-      "wireguard-indicator@atareao.es"
-    ],
-    "true-color-invert": [
-      "true-color-invert@jackkenney",
-      "true-color-window-invert@lynet101"
-    ],
-    "volume-scroller": [
-      "volume_scroller@trflynn89.pm.me",
-      "volume_scroller@francislavoie.github.io"
-    ],
-    "auto-activities": [
-      "auto-activities@acedron.github.io",
-      "auto-activities@CleoMenezesJr.github.io"
-    ],
-    "floating-panel": [
-      "floating-panel@aylur",
-      "floating-panel-usedbymyself@wpism"
-    ]
-  },
-  "43": {
-    "applications-menu": [
-      "apps-menu@gnome-shell-extensions.gcampax.github.com",
-      "Applications_Menu@rmy.pobox.com"
-    ],
-    "workspace-indicator": [
-      "workspace-indicator@gnome-shell-extensions.gcampax.github.com",
-      "horizontal-workspace-indicator@tty2.io"
-    ],
-    "lock-keys": [
-      "lockkeys@vaina.lt",
-      "lockkeys@fawtytoo"
-    ],
-    "persian-calendar": [
-      "PersianCalendar@oxygenws.com",
-      "persian-calendar@iamrezamousavi.gmail.com"
-    ],
-    "clipboard-indicator": [
-      "clipboard-indicator@tudmotu.com",
-      "clipboard-indicator@Dieg0Js.github.io"
-    ],
-    "keep-awake": [
-      "KeepAwake@jepfa.de",
-      "awake@vixalien.com"
-    ],
-    "noannoyance": [
-      "noannoyance@sindex.com",
-      "noannoyance@daase.net"
-    ],
-    "fuzzy-clock": [
-      "fuzzy-clock@keepawayfromfire.co.uk",
-      "FuzzyClock@johngoetz"
-    ],
-    "virtualbox-applet": [
-      "vbox-applet@gs.eros2.info",
-      "vbox-applet@buba98"
-    ],
-    "panel-date-format": [
-      "panel-date-format@keiii.github.com",
-      "panel-date-format@atareao.es"
-    ],
-    "battery-time": [
-      "batime@martin.zurowietz.de",
-      "batterytime@typeof.pw"
-    ],
-    "volume-scroller": [
-      "volume_scroller@trflynn89.pm.me",
-      "volume_scroller@francislavoie.github.io"
-    ],
-    "floating-panel": [
-      "floating-panel@aylur",
-      "floating-panel-usedbymyself@wpism"
-    ]
-  },
-  "44": {
-    "applications-menu": [
-      "apps-menu@gnome-shell-extensions.gcampax.github.com",
-      "Applications_Menu@rmy.pobox.com"
-    ],
-    "workspace-indicator": [
-      "workspace-indicator@gnome-shell-extensions.gcampax.github.com",
-      "horizontal-workspace-indicator@tty2.io"
-    ],
-    "persian-calendar": [
-      "PersianCalendar@oxygenws.com",
-      "persian-calendar@iamrezamousavi.gmail.com"
-    ],
-    "clipboard-indicator": [
-      "clipboard-indicator@tudmotu.com",
-      "clipboard-indicator@Dieg0Js.github.io"
-    ],
-    "virtualbox-applet": [
-      "vbox-applet@gs.eros2.info",
-      "vbox-applet@buba98"
-    ],
-    "panel-date-format": [
-      "panel-date-format@keiii.github.com",
-      "panel-date-format@atareao.es"
-    ],
-    "battery-time": [
-      "batime@martin.zurowietz.de",
-      "batterytime@typeof.pw"
-    ]
-  },
-  "45": {
-    "applications-menu": [
-      "apps-menu@gnome-shell-extensions.gcampax.github.com",
-      "Applications_Menu@rmy.pobox.com"
-    ],
-    "persian-calendar": [
-      "PersianCalendar@oxygenws.com",
-      "persian-calendar@iamrezamousavi.gmail.com"
-    ],
-    "battery-time": [
-      "batime@martin.zurowietz.de",
-      "batterytime@typeof.pw"
-    ],
-    "power-profile-indicator": [
-      "power-profile-indicator@laux.wtf",
-      "power-profile@fthx"
-    ]
-  },
-  "46": {
-    "applications-menu": [
-      "apps-menu@gnome-shell-extensions.gcampax.github.com",
-      "Applications_Menu@rmy.pobox.com"
-    ],
-    "persian-calendar": [
-      "PersianCalendar@oxygenws.com",
-      "persian-calendar@iamrezamousavi.gmail.com"
-    ],
-    "power-profile-indicator": [
-      "power-profile-indicator@laux.wtf",
-      "power-profile@fthx"
-    ]
-  }
+  "applications-menu": [
+    "Applications_Menu@rmy.pobox.com",
+    "apps-menu@gnome-shell-extensions.gcampax.github.com"
+  ],
+  "workspace-indicator": [
+    "horizontal-workspace-indicator@tty2.io",
+    "workspace-indicator@gnome-shell-extensions.gcampax.github.com"
+  ],
+  "persian-calendar": [
+    "persian-calendar@iamrezamousavi.gmail.com",
+    "PersianCalendar@oxygenws.com"
+  ],
+  "openweather": [
+    "openweather-extension@jenslody.de",
+    "openweather-extension@penguin-teal.github.io"
+  ],
+  "clipboard-indicator": [
+    "clipboard-indicator@tudmotu.com",
+    "clipboard-indicator@Dieg0Js.github.io"
+  ],
+  "system-monitor": [
+    "system-monitor@gnome-shell-extensions.gcampax.github.com",
+    "System_Monitor@bghome.gmail.com"
+  ],
+  "virtualbox-applet": [
+    "vbox-applet@gs.eros2.info",
+    "vbox-applet@buba98"
+  ],
+  "panel-date-format": [
+    "panel-date-format@atareao.es",
+    "panel-date-format@keiii.github.com"
+  ],
+  "battery-time": [
+    "batterytime@typeof.pw",
+    "batime@martin.zurowietz.de"
+  ],
+  "kernel-indicator": [
+    "kernel-indicator@elboulangero.gitlab.com",
+    "kernel-indicator@pvizc.gitlab.com"
+  ],
+  "fuzzy-clock": [
+    "fuzzy-clock@keepawayfromfire.co.uk",
+    "FuzzyClock@johngoetz"
+  ],
+  "power-profile-indicator": [
+    "power-profile-indicator@laux.wtf",
+    "power-profile@fthx"
+  ]
 }
diff --git a/pkgs/desktops/gnome/extensions/extensionRenames.nix b/pkgs/desktops/gnome/extensions/extensionRenames.nix
index 6d43b575c7930..b23252b678795 100644
--- a/pkgs/desktops/gnome/extensions/extensionRenames.nix
+++ b/pkgs/desktops/gnome/extensions/extensionRenames.nix
@@ -3,111 +3,49 @@
 # - Every item from ./collisions.json (for the respective Shell version) should have an entry in here
 # - Set the value to `null` for filtering (duplicate or unmaintained extensions)
 # - Sort the entries in order of appearance in the collisions.json
-# - Make a separate section for each GNOME version. Collisions will come back eventually
-#   as the extensions are updated.
 {
-  # ####### GNOME 45 #######
-
-  "apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
   "Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
+  "apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
 
-  "PersianCalendar@oxygenws.com" = "persian-calendar";
-  "persian-calendar@iamrezamousavi.gmail.com" = "persian-calendar-2";
-
-  "batime@martin.zurowietz.de" = "battery-time";
-  "batterytime@typeof.pw" = "battery-time-2";
-
-  "power-profile-indicator@laux.wtf" = "power-profile-indicator";
-  "power-profile@fthx" = "power-profile-indicator-2";
-
-  # ############################################################################
-  # These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
-  # Make sure to move them up once they are updated
+  "horizontal-workspace-indicator@tty2.io" = "workspace-indicator-2";
+  "workspace-indicator@gnome-shell-extensions.gcampax.github.com" = "workspace-indicator";
 
-  # ####### GNOME 44 #######
+  "persian-calendar@iamrezamousavi.gmail.com" = "persian-calendar-2";
+  "PersianCalendar@oxygenws.com" = "persian-calendar";
 
-  "workspace-indicator@gnome-shell-extensions.gcampax.github.com" = "workspace-indicator";
-  "horizontal-workspace-indicator@tty2.io" = "workspace-indicator-2";
+  "openweather-extension@jenslody.de" = "openweather";
+  "openweather-extension@penguin-teal.github.io" = "openweather-refined";
 
   "clipboard-indicator@tudmotu.com" = "clipboard-indicator";
   "clipboard-indicator@Dieg0Js.github.io" = "clipboard-indicator-2";
 
+  "system-monitor@gnome-shell-extensions.gcampax.github.com" = "system-monitor";
+  "System_Monitor@bghome.gmail.com" = "system-monitor-2";
+
   "vbox-applet@gs.eros2.info" = "virtualbox-applet";
   "vbox-applet@buba98" = "virtualbox-applet-2";
 
-  "panel-date-format@keiii.github.com" = "panel-date-format";
   "panel-date-format@atareao.es" = "panel-date-format-2";
+  "panel-date-format@keiii.github.com" = "panel-date-format";
 
-  # ####### GNOME 43 #######
-
-  "lockkeys@vaina.lt" = "lock-keys";
-  "lockkeys@fawtytoo" = "lock-keys-2";
-
-  # DEPRECATED: Use "Caffeine" instead
-  "KeepAwake@jepfa.de" = "keep-awake";
-  "awake@vixalien.com" = null;
+  "batterytime@typeof.pw" = "battery-time-2";
+  "batime@martin.zurowietz.de" = "battery-time";
 
-  "noannoyance@sindex.com" = "noannoyance";
-  "noannoyance@daase.net" = "noannoyance-2";
+  # No longer maintained: https://gitlab.com/arnaudr/gnome-shell-extension-kernel-indicator
+  "kernel-indicator@elboulangero.gitlab.com" = null;
+  "kernel-indicator@pvizc.gitlab.com" = "kernel-indicator";
 
   "fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2";
   "FuzzyClock@johngoetz" = "fuzzy-clock";
 
-  "volume_scroller@trflynn89.pm.me" = "volume-scroller";
-  "volume_scroller@francislavoie.github.io" = "volume-scroller-2";
-
-  # no source repository can be found for this extension
-  "floating-panel@aylur" = "floating-panel";
-  "floating-panel-usedbymyself@wpism" = null;
-
-  # ####### GNOME 42 #######
-
-  "wireguard-indicator@gregos.me" = "wireguard-indicator-2";
-  "wireguard-indicator@atareao.es" = "wireguard-indicator";
-
-  "auto-activities@acedron.github.io" = "auto-activities-2";
-  "auto-activities@CleoMenezesJr.github.io" = "auto-activities";
-
-  "true-color-invert@jackkenney" = "true-color-invert";
-  "true-color-window-invert@lynet101" = "true-color-window-invert";
-
-  # ####### GNOME 41 #######
+  "power-profile-indicator@laux.wtf" = "power-profile-indicator";
+  "power-profile@fthx" = "power-profile-indicator-2";
 
+  # ############################################################################
+  # These extensions no longer collide. We preserve the old attribute name for backwards compatibility.
   "floatingDock@sun.wxg@gmail.com" = "floating-dock-2";
-  "floating-dock@nandoferreira_prof@hotmail.com" = "floating-dock";
-
-  "unredirect@vaina.lt" = "disable-unredirect-fullscreen-windows";
-  "unredirect@aunetx" = "disable-unredirect-fullscreen-windows-2";
-
-  # At the moment, ShutdownTimer@deminder is a fork of ShutdownTimer@neumann which adds new features
-  # there seem to be upstream plans, so this should be checked periodically:
-  # https://github.com/Deminder/ShutdownTimer https://github.com/neumann-d/ShutdownTimer/pull/46
-  "ShutdownTimer@neumann" = null;
-  "shutdown-timer-gnome-shell-extension" = "shutdowntimer-2";
-  "ShutdownTimer@deminder" = "shutdowntimer";
-
-  # ####### GNOME 40 #######
-
-  "System_Monitor@bghome.gmail.com" = "system-monitor-2";
-
-  "Hide_Activities@shay.shayel.org" = "hide-activities-button";
-  "hide-activities-button@nmingori.gnome-shell-extensions.org" = "hide-activities-button-2";
-
-  "extension-list@tu.berry" = "extension-list";
-  "screen-lock@garciabaameiro.com" = "screen-lock"; # Don't know why they got 'extension-list' as slug
-
-  # ####### GNOME 3.38 #######
-
-  "bottompanel@tmoer93" = "bottompanel";
-  "bottom-panel@sulincix" = "bottompanel-2";
-
-  # See https://github.com/pbxqdown/gnome-shell-extension-transparent-window/issues/12#issuecomment-800765381
-  "transparent-window@pbxqdown.github.com" = "transparent-window";
-  "transparentwindows.mdirshad07" = null;
-
-  # Forks of each other, azan@faissal.bensefia.id is more recent
-  "azan@faissal.bensefia.id" = "azan-islamic-prayer-times";
-  "azan@hatem.masmoudi.org" = null;
+  "true-color-window-invert@lynet101" = "true-color-window-invert";
+  "volume_scroller@francislavoie.github.io" = "volume-scroller-2";
 
   # ############################################################################
   # Overrides for extensions that were manually packaged in the past but are gradually
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index 60f5974aa9a7e..b8d30296cf15b 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -36,7 +36,7 @@
     "43": {"version": "52", "sha256": "0h9b0kw919sfcx4l4ffi96fgvhgqnvssgwkbf3qh4lyqs4avb2xy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"},
     "44": {"version": "53", "sha256": "18wh0z8pq991i2kcp4a5dpx6m05qansm357k98n258j1q3jxac5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"},
     "45": {"version": "56", "sha256": "1k8048dmqyyh3vzamafj90qsn4m98kj7gz5f4hj7z9bqdi38nn6d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Ngp9"},
-    "46": {"version": "58", "sha256": "0dbadbx7mww4i6jj4a08khvg6d2njaksrqhly78fk99yjz19sg0y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcHMuXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcHBzLW1lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tYXBwcy1tZW51IiwKICAibmFtZSI6ICJBcHBzIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImUyMDAyQGJrLnJ1IiwKICAgICJkZWJhcnNoaXJAZ25vbWUub3JnIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHBzLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiYXBwcy1tZW51QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU4Cn0="}
+    "46": {"version": "59", "sha256": "17d0jpqim13130f7205jpsa88j3azqc281a8877nbhlbha44ilcb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcHMuXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcHBzLW1lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tYXBwcy1tZW51IiwKICAibmFtZSI6ICJBcHBzIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImUyMDAyQGJrLnJ1IiwKICAgICJkZWJhcnNoaXJAZ25vbWUub3JnIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHBzLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiYXBwcy1tZW51QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU5Cn0="}
   }}
 , {"uuid": "drive-menu@gnome-shell-extensions.gcampax.github.com", "name": "Removable Drive Menu", "pname": "removable-drive-menu", "description": "A status menu for accessing and unmounting removable devices.", "link": "https://extensions.gnome.org/extension/7/removable-drive-menu/", "shell_version_map": {
     "38": {"version": "45", "sha256": "1f5a9md2gxbl65shbdm498y5dwhhqdpj96gvf2m81ad7gsgxzliv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlJlbW92YWJsZSBEcml2ZSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyaXZlLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJkcml2ZS1tZW51QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="},
@@ -46,7 +46,7 @@
     "43": {"version": "52", "sha256": "0zn9xkw5r0j1kwbs78j7chp4l2404d177w3a4shjd765hvjy6wam", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTIKfQ=="},
     "44": {"version": "53", "sha256": "01wn2icq1cnly9xg7pr2pzk4vqw4l5fhasy5hvq3pq8mbidmdm5s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTMKfQ=="},
     "45": {"version": "57", "sha256": "1a2j8l2wmxx97snqrj5hs9y0qcjwkv9g00bgr0968h8rpy4fl56y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTcKfQ=="},
-    "46": {"version": "59", "sha256": "07kcjsg0njir7692zgji91izbbynw5m7snpm4f129gwk51fjn5xs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTkKfQ=="}
+    "46": {"version": "61", "sha256": "0qjg90axaivcsnw94xam8r39734y3pj1315lj2xqv0fjq6163h3v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNjEKfQ=="}
   }}
 , {"uuid": "places-menu@gnome-shell-extensions.gcampax.github.com", "name": "Places Status Indicator", "pname": "places-status-indicator", "description": "Add a menu for quickly navigating places in the system.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/8/places-status-indicator/", "shell_version_map": {
     "38": {"version": "48", "sha256": "05m8nkg2km72iwnmadx6f4br8qnzqagp78mlhz8r2z6hp19nqsh5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiUGxhY2VzIFN0YXR1cyBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGxhY2VzLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OAp9"},
@@ -56,7 +56,7 @@
     "43": {"version": "55", "sha256": "19pw472bjz3j9z1s23q4rxsjmz0x54fcpi968yw7k8ivd1cihfx5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1NQp9"},
     "44": {"version": "56", "sha256": "0fc52km2aj7c4n1q6y4yf2l4nzzwawyizi8d6d0b1wrcqa8n64n6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Ngp9"},
     "45": {"version": "59", "sha256": "1sai071js4l70mm8cfnr8yavisiy5wbdifkhc9wl4pqj12g33x31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1OQp9"},
-    "46": {"version": "61", "sha256": "1y4q3z5hgmhrlj0b9k99h782phsjimbifsdphf1pg6n2fp31apah", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2MQp9"}
+    "46": {"version": "62", "sha256": "0c2yh37sxrbvlcijamyy7pwi2qfmks0jvj3kw0ih581sjsbigmgn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIG1lbnUgZm9yIHF1aWNrbHkgbmF2aWdhdGluZyBwbGFjZXMgaW4gdGhlIHN5c3RlbS5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBsYWNlcy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBsYWNlcy1tZW51IiwKICAibmFtZSI6ICJQbGFjZXMgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wbGFjZXMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJwbGFjZXMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Mgp9"}
   }}
 , {"uuid": "windowsNavigator@gnome-shell-extensions.gcampax.github.com", "name": "windowNavigator", "pname": "windownavigator", "description": "Allow keyboard selection of windows and workspaces in overlay mode. <Ctrl>number selects a workspace, and <Alt>number selects a window.", "link": "https://extensions.gnome.org/extension/10/windownavigator/", "shell_version_map": {
     "38": {"version": "49", "sha256": "1rzfnssk0iw1ysaya79ksghikkr1rpm41h2w39cz142fby6kip2d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAid2luZG93TmF2aWdhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphc3BpcmVAcmFtYmxlci5ydSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53aW5kb3dzTmF2aWdhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93c05hdmlnYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0OQp9"},
@@ -66,7 +66,7 @@
     "43": {"version": "58", "sha256": "1l5fiajbv9484ln7kkq5nm4ph71ir9fnav6gqhyzbfhbx94qh9gd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU4Cn0="},
     "44": {"version": "59", "sha256": "1pa1i7scsjj91dql0v6zajyx30w446r1cxknl0dp1fpmydqwxjpl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU5Cn0="},
     "45": {"version": "62", "sha256": "10d6hj0nbnfq55lqjjmilb8f6v2cv70kk6bnzyj3cn832hrz959a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYyCn0="},
-    "46": {"version": "64", "sha256": "1gk9sh02g825nwf2kii66n3vpkgi8wsvsj3mbh124rhsl5a7ps6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDY0Cn0="}
+    "46": {"version": "65", "sha256": "1npjmmzfvcmhvjzyr7fhslznmsc7cvwavfp5v8idydqrvx4lz6md", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IGtleWJvYXJkIHNlbGVjdGlvbiBvZiB3aW5kb3dzIGFuZCB3b3Jrc3BhY2VzIGluIG92ZXJsYXkgbW9kZS4gPEN0cmw+bnVtYmVyIHNlbGVjdHMgYSB3b3Jrc3BhY2UsIGFuZCA8QWx0Pm51bWJlciBzZWxlY3RzIGEgd2luZG93LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3dzTmF2aWdhdG9yIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpbmRvd3NOYXZpZ2F0b3IiLAogICJuYW1lIjogIndpbmRvd05hdmlnYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJ6YXNwaXJlQHJhbWJsZXIucnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93c05hdmlnYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3aW5kb3dzTmF2aWdhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDY1Cn0="}
   }}
 , {"uuid": "Applications_Menu@rmy.pobox.com", "name": "Frippery Applications Menu", "pname": "applications-menu", "description": "Replace Activities button with an Applications menu", "link": "https://extensions.gnome.org/extension/13/applications-menu/", "shell_version_map": {
     "38": {"version": "45", "sha256": "0kg9dq1ssa11xizb31kcq3p724qzm1cmf30wriqffj043n5nd125", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyBidXR0b24gd2l0aCBhbiBBcHBsaWNhdGlvbnMgbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImZyaXBwZXJ5LWFwcGxpY2F0aW9ucy1tZW51IiwKICAibmFtZSI6ICJGcmlwcGVyeSBBcHBsaWNhdGlvbnMgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYXBwbGljYXRpb25zLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQXBwbGljYXRpb25zX01lbnVAcm15LnBvYm94LmNvbSIsCiAgInZlcnNpb24iOiA0NQp9"},
@@ -86,7 +86,7 @@
     "43": {"version": "50", "sha256": "0s0ky7sslyf2cy68xlqrrz01py82wi861gpcfqj97qdwdf9hzq2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUwCn0="},
     "44": {"version": "51", "sha256": "1j9nba9r5a56c2ks61jbrr6n8gc470g4c0lig9r4angqhc6sn7bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUxCn0="},
     "45": {"version": "54", "sha256": "11gxlyp83096ky0iqd8svn802ih7knvhn3qml6532c1h2xv8krlp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU0Cn0="},
-    "46": {"version": "56", "sha256": "00snc3q2102c19m2jzinlca4id66qk40wadr2dq2ipn1qndf4pi8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU2Cn0="}
+    "46": {"version": "57", "sha256": "1h5fcmik8cr8hq4kxnabi9wrgqg13i81d3xgh1b9hlnf2aah091y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgYXBwbGljYXRpb25zIHRvIHNwZWNpZmljIHdvcmtzcGFjZXMgd2hlbiB0aGV5IGNyZWF0ZSB3aW5kb3dzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhdXRvLW1vdmUtd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvLW1vdmUtd2luZG93cyIsCiAgIm5hbWUiOiAiQXV0byBNb3ZlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImFsZXNzYW5kcm8uY3Jpc21hbmlAZ21haWwuY29tIiwKICAgICJ0aG9tYXMuYm91ZmZvbkBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF1dG8tbW92ZS13aW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImF1dG8tbW92ZS13aW5kb3dzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU3Cn0="}
   }}
 , {"uuid": "native-window-placement@gnome-shell-extensions.gcampax.github.com", "name": "Native Window Placement", "pname": "native-window-placement", "description": "Arrange windows in overview in a more compact way.", "link": "https://extensions.gnome.org/extension/18/native-window-placement/", "shell_version_map": {
     "38": {"version": "45", "sha256": "15vhdcfrfbsinp0m1jfygjl4djccafhvgwc1rsi321jvykqhajmm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTmF0aXZlIFdpbmRvdyBQbGFjZW1lbnQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndlcG1hc2NoZGFAZ214LmRlIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXRpdmUtd2luZG93LXBsYWNlbWVudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="},
@@ -96,7 +96,7 @@
     "43": {"version": "52", "sha256": "09660cb8y0549py4d4wrl2fhg7grl0c1fnakzznvfwzh0cdr3f8r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUyCn0="},
     "44": {"version": "53", "sha256": "18k0b7vsjmvbvnzb5b5qa3jk0i14ah93cwi1399m6ma9llhyhwjw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUzCn0="},
     "45": {"version": "56", "sha256": "0g864ji4bazc7x25qqjrcayhpq8sqrabxdwfl7iviz7s0yc40iz0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU2Cn0="},
-    "46": {"version": "58", "sha256": "14774qxsir8dr7nknmfp08iddl50rsdwr50lrslcvbpn0w0byjkx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU4Cn0="}
+    "46": {"version": "59", "sha256": "09fccn043bgxv1idh1y2siimgdbrkwxsdn6zqx93wbrw10i2b355", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBpbiBvdmVydmlldyBpbiBhIG1vcmUgY29tcGFjdCB3YXkuIiwKICAiZXh0ZW5zaW9uLWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAibmFtZSI6ICJOYXRpdmUgV2luZG93IFBsYWNlbWVudCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAid2VwbWFzY2hkYUBnbXguZGUiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogIm5hdGl2ZS13aW5kb3ctcGxhY2VtZW50QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU5Cn0="}
   }}
 , {"uuid": "user-theme@gnome-shell-extensions.gcampax.github.com", "name": "User Themes", "pname": "user-themes", "description": "Load shell themes from user directory.", "link": "https://extensions.gnome.org/extension/19/user-themes/", "shell_version_map": {
     "38": {"version": "42", "sha256": "0jykwcd8pmvr03dm2vala6nzzhi9i83c11svgx8wymfvxr5qrya8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJVc2VyIFRoZW1lcyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogInVzZXItdGhlbWVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="},
@@ -106,7 +106,7 @@
     "43": {"version": "50", "sha256": "0jyd2rn2nlvcmx8xn2azhbaqf5k0kgyx8ciy6bj1iq35s7k5sp7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"},
     "44": {"version": "51", "sha256": "0m7gw3lcds1r6d8q5962bjxb4b2hqy633c73axxc5gvyr9i0bjf2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1MQp9"},
     "45": {"version": "54", "sha256": "0gpkxmjaaq9rmh16wf5cf24q2w2wb0z0z8v7mcg7wrwsjszg7xhb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"},
-    "46": {"version": "57", "sha256": "17wnlzbqdqc1j0cz61422601pngwxvvch2zw5462k4916kxjbf2s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Nwp9"}
+    "46": {"version": "58", "sha256": "15qrirgx7ikjxz0jzlxf7k8b41j3crlvzcm952h6ajmg6smbbf7f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgc2hlbGwgdGhlbWVzIGZyb20gdXNlciBkaXJlY3RvcnkuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdXNlci10aGVtZSIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAidXNlci10aGVtZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1OAp9"}
   }}
 , {"uuid": "workspace-indicator@gnome-shell-extensions.gcampax.github.com", "name": "Workspace Indicator", "pname": "workspace-indicator", "description": "Put an indicator on the panel signaling in which workspace you are, and give you the possibility of switching to another one.", "link": "https://extensions.gnome.org/extension/21/workspace-indicator/", "shell_version_map": {
     "38": {"version": "45", "sha256": "16y7zhlsj0qjwwj78fvcr81m7081i2y30gwjm35qahr3j0gfrk16", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlcmljay5yZWRAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid29ya3NwYWNlLWluZGljYXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0NQp9"},
@@ -116,7 +116,7 @@
     "43": {"version": "53", "sha256": "0idl8n6205ymh1z3w15sxv98940q8qch2pp5wk9gzd594i2aya2p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUzCn0="},
     "44": {"version": "54", "sha256": "03jq25xa3z0b32vczqv12gkfdmw4ll56zb0walm5gfmmmzivsn1i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU0Cn0="},
     "45": {"version": "57", "sha256": "0qpzc1njng95ck1svw9nig2j9i5p7nqbgaxm1x7gg3i9jn8rgwqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU3Cn0="},
-    "46": {"version": "59", "sha256": "0fq3rjch1ciqk0xpr8zkmsvmbd7jsch10mg0jdchjmscim14cvii", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDU5Cn0="}
+    "46": {"version": "60", "sha256": "19kqy6xfl8kxc4h1nn1gl979m6jk3c2s91hbrxjd2lvak3sap0wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBhbiBpbmRpY2F0b3Igb24gdGhlIHBhbmVsIHNpZ25hbGluZyBpbiB3aGljaCB3b3Jrc3BhY2UgeW91IGFyZSwgYW5kIGdpdmUgeW91IHRoZSBwb3NzaWJpbGl0eSBvZiBzd2l0Y2hpbmcgdG8gYW5vdGhlciBvbmUuIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvciIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiZXJpY2sucmVkQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYwCn0="}
   }}
 , {"uuid": "gTile@vibou", "name": "gTile", "pname": "gtile", "description": "Tile windows on a grid", "link": "https://extensions.gnome.org/extension/28/gtile/", "shell_version_map": {
     "38": {"version": "52", "sha256": "0j3mva9qzsz3nvww9d99ig5z4nr9g339lirmavfzry9yf8l29cwz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGdyaWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RpbGVAdmlib3UiLAogICJuYW1lIjogImdUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmd0aWxlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nVGlsZS9nVGlsZSIsCiAgInV1aWQiOiAiZ1RpbGVAdmlib3UiLAogICJ2ZXJzaW9uIjogNTIKfQ=="},
@@ -387,7 +387,7 @@
     "43": {"version": "35", "sha256": "1i96p4jzi3yfkccbzv7r7x059xr834wispzg1n2888im51zz6x4h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzUKfQ=="},
     "44": {"version": "36", "sha256": "06rhp1difpb7j1l49lay3h5wscf8nv2p0xqs70rss6yvjywsgi34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzYKfQ=="},
     "45": {"version": "39", "sha256": "0ap68r89z2z95vvmr6k009gczijanlkp002dbvkr5dpvzknzzc09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="},
-    "46": {"version": "41", "sha256": "1yfdrnnxm1f1pmqqgrjb9k4rcq2nbj2wv94ljbw4g8wgmkh2ddfy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="}
+    "46": {"version": "42", "sha256": "0gn1wj1z104k6xwk04bgd04ipjmqw1mfpv0rsm14byv7mga9b6fb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}
   }}
 , {"uuid": "window-list@gnome-shell-extensions.gcampax.github.com", "name": "Window List", "pname": "window-list", "description": "Display a window list at the bottom of the screen.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/602/window-list/", "shell_version_map": {
     "38": {"version": "34", "sha256": "06jww5sv3a32plbvnl1xch10y19q807dx6zn6z5gwpvq8n0nvnx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldpbmRvdyBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvdy1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
@@ -397,7 +397,7 @@
     "43": {"version": "47", "sha256": "1nzdl0zb8i7wipsnnrixkpj6rrsv3vz4c1snqspb23h494232wmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDcKfQ=="},
     "44": {"version": "48", "sha256": "121n3vcy1kk3vj7say292synnl5ig3kl94i039d2b40pslh4zlq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDgKfQ=="},
     "45": {"version": "51", "sha256": "1nb3iwyhn08m9ylyb8jn9lncqmj08vrldvjvn642wkibi0vg1dwf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTEKfQ=="},
-    "46": {"version": "53", "sha256": "0x3bb1615z1cbacawgr5d82993kwi7qapm453ncsj82nibmp578y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTMKfQ=="}
+    "46": {"version": "54", "sha256": "1944z394b9sfll8jmyc8p5q9nl69xxvkk1626gykaaavywn9y7y9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTQKfQ=="}
   }}
 , {"uuid": "MultiClock@mibus.org", "name": "MultiClock", "pname": "multiclock", "description": "A clock for showing a second timezone in the panel.", "link": "https://extensions.gnome.org/extension/605/multiclock/", "shell_version_map": {
     "40": {"version": "8", "sha256": "1pp1cnmpix668mrywpv6mkyb45lw7f6cwibjl6bc7cgb01hkzd53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgY2xvY2sgZm9yIHNob3dpbmcgYSBzZWNvbmQgdGltZXpvbmUgaW4gdGhlIHBhbmVsLiIsCiAgIm5hbWUiOiAiTXVsdGlDbG9jayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5taWJ1c011bHRpQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWJ1cy9NdWx0aUNsb2NrIiwKICAidXVpZCI6ICJNdWx0aUNsb2NrQG1pYnVzLm9yZyIsCiAgInZlcnNpb24iOiA4Cn0="}
@@ -628,7 +628,7 @@
     "43": {"version": "30", "sha256": "036h42fs0yjgfjncvv97wpb2y860rhncfhz0znw4npj0gab5pn42", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzAKfQ=="},
     "44": {"version": "32", "sha256": "1km4mvmv9350172fjihzmjd18l6ypm8hb22vz1k09xpcas01p448", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="},
     "45": {"version": "35", "sha256": "0id9z143wm1xqb4ppvvwrfqrjm9qwaqgxz6hb37s0h2gvr5lamw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzUKfQ=="},
-    "46": {"version": "37", "sha256": "0k0j0f3dm4brwngw8nv1svxhc23sw4n8w1vfax27gcmj8nga7jfm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}
+    "46": {"version": "38", "sha256": "0a3vxfywsqmjr2pfm27aic4hvv4sx00crkgi4lrhl8nrivh5gj4a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2l6ZSB3aW5kb3dzIGZvciBHTk9NRSBTb2Z0d2FyZSBzY3JlZW5zaG90cyIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW5zaG90LXdpbmRvdy1zaXplciIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBXaW5kb3cgU2l6ZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuc2hvdC13aW5kb3ctc2l6ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAic2NyZWVuc2hvdC13aW5kb3ctc2l6ZXJAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzgKfQ=="}
   }}
 , {"uuid": "mailnag@pulb.github.com", "name": "Mailnag", "pname": "mailnag", "description": "Mail indicator (GMail, IMAP, POP) for GNOME.\n\nPlease note that this extension requires the mailnag daemon.\nInstall it from your distros package repositories or get it here:\nhttps://github.com/pulb/mailnag\n\nPlease also note that this version of the extension does not support avatars (as shown in the screenshot).\nIf you like to have avatar support install this extension from your distros package repositories or get a package from here:\nhttps://github.com/pulb/mailnag-gnome-shell\n\nIMPORTANT:\nI do not get notifications for user comments. Please always report bugs here:\nhttps://github.com/pulb/mailnag-gnome-shell/issues", "link": "https://extensions.gnome.org/extension/886/mailnag/", "shell_version_map": {
     "38": {"version": "20", "sha256": "15n816y34qlc7va72q75ngzw1my3n5j7xhg9a6dc0g8q4dd0g2r9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1haWwgaW5kaWNhdG9yIChHTWFpbCwgSU1BUCwgUE9QKSBmb3IgR05PTUUuXG5cblBsZWFzZSBub3RlIHRoYXQgdGhpcyBleHRlbnNpb24gcmVxdWlyZXMgdGhlIG1haWxuYWcgZGFlbW9uLlxuSW5zdGFsbCBpdCBmcm9tIHlvdXIgZGlzdHJvcyBwYWNrYWdlIHJlcG9zaXRvcmllcyBvciBnZXQgaXQgaGVyZTpcbmh0dHBzOi8vZ2l0aHViLmNvbS9wdWxiL21haWxuYWdcblxuUGxlYXNlIGFsc28gbm90ZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGRvZXMgbm90IHN1cHBvcnQgYXZhdGFycyAoYXMgc2hvd24gaW4gdGhlIHNjcmVlbnNob3QpLlxuSWYgeW91IGxpa2UgdG8gaGF2ZSBhdmF0YXIgc3VwcG9ydCBpbnN0YWxsIHRoaXMgZXh0ZW5zaW9uIGZyb20geW91ciBkaXN0cm9zIHBhY2thZ2UgcmVwb3NpdG9yaWVzIG9yIGdldCBhIHBhY2thZ2UgZnJvbSBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbFxuXG5JTVBPUlRBTlQ6XG5JIGRvIG5vdCBnZXQgbm90aWZpY2F0aW9ucyBmb3IgdXNlciBjb21tZW50cy4gUGxlYXNlIGFsd2F5cyByZXBvcnQgYnVncyBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbC9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJtYWlsbmFnLWdub21lLXNoZWxsIiwKICAibmFtZSI6ICJNYWlsbmFnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1haWxuYWciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibWFpbG5hZ0BwdWxiLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="},
@@ -870,7 +870,8 @@
     "42": {"version": "28", "sha256": "0kv6s72wg5ws02ixy6nddwdlinipqkr7wv549rgm4cgb73qb2mvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="},
     "43": {"version": "28", "sha256": "0kv6s72wg5ws02ixy6nddwdlinipqkr7wv549rgm4cgb73qb2mvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="},
     "44": {"version": "28", "sha256": "0kv6s72wg5ws02ixy6nddwdlinipqkr7wv549rgm4cgb73qb2mvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjgKfQ=="},
-    "45": {"version": "34", "sha256": "1w4hfv8fcyc9yrr0rc8ffw8mnhmk2dig5881ggw9bqfg9s5p6byx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}
+    "45": {"version": "36", "sha256": "09cl6f9m126mcq0gh5h5q1jcimqgk8fwc6b7wg1xl2h0bs6kk5v0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yIiwKICAidXVpZCI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM2Cn0="},
+    "46": {"version": "36", "sha256": "09cl6f9m126mcq0gh5h5q1jcimqgk8fwc6b7wg1xl2h0bs6kk5v0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yIiwKICAidXVpZCI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM2Cn0="}
   }}
 , {"uuid": "syncthing@gnome.2nv2u.com", "name": "Syncthing Indicator", "pname": "syncthing-indicator", "description": "Shell indicator for starting, monitoring and controlling the Syncthing daemon using SystemD", "link": "https://extensions.gnome.org/extension/1070/syncthing-indicator/", "shell_version_map": {
     "38": {"version": "27", "sha256": "08l9xsbndgi7v863x76q4br89gjysaxwx8rhfkcp2nwqw247wfa2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8ybnYydS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nLWluZGljYXRvciIsCiAgInV1aWQiOiAic3luY3RoaW5nQGdub21lLjJudjJ1LmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"},
@@ -1126,7 +1127,8 @@
     "42": {"version": "21", "sha256": "0iz189f0wjz1m57g48hj6zpg5ix0hghr8qlybxsfqd4kyh5ls6an", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1tYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50ZXJzIiwKICAidXVpZCI6ICJwcmludGVyc0BsaW51eC1tYW4ub3JnIiwKICAidmVyc2lvbiI6IDIxCn0="},
     "43": {"version": "21", "sha256": "0iz189f0wjz1m57g48hj6zpg5ix0hghr8qlybxsfqd4kyh5ls6an", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1tYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50ZXJzIiwKICAidXVpZCI6ICJwcmludGVyc0BsaW51eC1tYW4ub3JnIiwKICAidmVyc2lvbiI6IDIxCn0="},
     "44": {"version": "21", "sha256": "0iz189f0wjz1m57g48hj6zpg5ix0hghr8qlybxsfqd4kyh5ls6an", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1tYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50ZXJzIiwKICAidXVpZCI6ICJwcmludGVyc0BsaW51eC1tYW4ub3JnIiwKICAidmVyc2lvbiI6IDIxCn0="},
-    "45": {"version": "24", "sha256": "1jwnzqlr5nhjg9sj9wmwipm7gxq9d6cvqq4b6is8fsz7icxax85x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwcmludGVycyIsCiAgIm5hbWUiOiAiUHJpbnRlcnMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvYW8uY2FsZGFzLmxvcGVzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHJpbnRlcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAyNAp9"}
+    "45": {"version": "24", "sha256": "1jwnzqlr5nhjg9sj9wmwipm7gxq9d6cvqq4b6is8fsz7icxax85x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwcmludGVycyIsCiAgIm5hbWUiOiAiUHJpbnRlcnMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvYW8uY2FsZGFzLmxvcGVzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHJpbnRlcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAyNAp9"},
+    "46": {"version": "25", "sha256": "13g5913d5dm45iq1wcbrg6pp61d0pxi4y0j2k6qbfb8wzwc8dv2c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwcmludGVycyIsCiAgIm5hbWUiOiAiUHJpbnRlcnMiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvYW8uY2FsZGFzLmxvcGVzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucHJpbnRlcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAyNQp9"}
   }}
 , {"uuid": "move-osd-windows@maestroschan.fr", "name": "Move OSD Windows", "pname": "move-osd-windows", "description": "Change the position of OSD windows (sound & luminosity popups).", "link": "https://extensions.gnome.org/extension/1220/move-osd-windows/", "shell_version_map": {
     "38": {"version": "3", "sha256": "1nmvbx7qbr9a9al5wirnsfwn4qb1qbql2w9f7fpajipasill9hkd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgcG9zaXRpb24gb2YgT1NEIHdpbmRvd3MgKHNvdW5kICYgbHVtaW5vc2l0eSBwb3B1cHMpLiIsCiAgImdldHRleHQtZG9tYWluIjogIm1vdmUtb3NkLXdpbmRvd3MiLAogICJuYW1lIjogIk1vdmUgT1NEIFdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYWVzdHJvc2NoYW4vTW92ZS1PU0QtV2luZG93cy1HTk9NRS1FeHRlbnNpb24iLAogICJ1dWlkIjogIm1vdmUtb3NkLXdpbmRvd3NAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDMKfQ=="}
@@ -1165,8 +1167,8 @@
     "42": {"version": "31", "sha256": "0f6wsvdfqzf7fpsk0rgp7rjm267xsy64ksq504krdlg9wpgammhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="},
     "43": {"version": "31", "sha256": "0f6wsvdfqzf7fpsk0rgp7rjm267xsy64ksq504krdlg9wpgammhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="},
     "44": {"version": "31", "sha256": "0f6wsvdfqzf7fpsk0rgp7rjm267xsy64ksq504krdlg9wpgammhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="},
-    "45": {"version": "39", "sha256": "0havccc37vgkqyf5fl00wxyzw56gdx75bb175i3zwxzck6cajj2v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG4tIEhvbGlkYXkgY2hhbm5lbHMgKG9ubHkgaW4gRGVjZW1iZXIpXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM5Cn0="},
-    "46": {"version": "39", "sha256": "0havccc37vgkqyf5fl00wxyzw56gdx75bb175i3zwxzck6cajj2v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG4tIEhvbGlkYXkgY2hhbm5lbHMgKG9ubHkgaW4gRGVjZW1iZXIpXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM5Cn0="}
+    "45": {"version": "40", "sha256": "03151gwjrr5b8jb73fgpx1n6180xs9f956cd25ybmcwszh0372ph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG4tIEhvbGlkYXkgY2hhbm5lbHMgKG9ubHkgaW4gRGVjZW1iZXIpXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="},
+    "46": {"version": "40", "sha256": "03151gwjrr5b8jb73fgpx1n6180xs9f956cd25ybmcwszh0372ph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG4tIEhvbGlkYXkgY2hhbm5lbHMgKG9ubHkgaW4gRGVjZW1iZXIpXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQwCn0="}
   }}
 , {"uuid": "timepp@zagortenay333", "name": "Time++", "pname": "time", "description": "All-in-one timer, stopwatch, pomodoro, alarm, todo and time tracker\n\nThis extension has been renamed and is available at:\n\nhttps://extensions.gnome.org/extension/6003/cronomix/\n", "link": "https://extensions.gnome.org/extension/1238/time/", "shell_version_map": {
     "38": {"version": "155", "sha256": "0q3612mlccfzma6i9vs3g42xg71axach3gi7llajrlx59y5jjgb5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQWxsLWluLW9uZSB0aW1lciwgc3RvcHdhdGNoLCBwb21vZG9ybywgYWxhcm0sIHRvZG8gYW5kIHRpbWUgdHJhY2tlclxuXG5UaGlzIGV4dGVuc2lvbiBoYXMgYmVlbiByZW5hbWVkIGFuZCBpcyBhdmFpbGFibGUgYXQ6XG5cbmh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzYwMDMvY3Jvbm9taXgvXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lKysiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvY3Jvbm9taXgiLAogICJ1dWlkIjogInRpbWVwcEB6YWdvcnRlbmF5MzMzIiwKICAidmVyc2lvbiI6IDE1NQp9"},
@@ -1626,7 +1628,8 @@
     "42": {"version": "60", "sha256": "1f79yi0g8pdnxpbfq098xi52shg5qn1s8gy5yi83i38brz3dv4bp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIENob29zZSBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBZb3VyIGRhc2ggd2lsbCBoYXZlIHVuaXF1ZSBmYXZvdXJpdGUgYXBwbGljYXRpb25zIG9uIGVhY2ggd29ya3NwYWNlXG4qIE9wdGlvbmFsbHkgaXNvbGF0ZSBydW5uaW5nIGFwcGxpY2F0aW9ucyB0byBvbmx5IGFwcGVhciBvbiB0aGUgZGFzaCBpbiB0aGVpciByZXNwZWN0aXZlIHdvcmtzcGFjZVxuKiBPcHRpb25hbGx5IHNob3cgd29ya3NwYWNlIGluZm9ybWF0aW9uIGFuZCBhY3Rpb25zIGluIHRoZSBvdmVydmlld1xuKiBTZXQgZWFjaCBjdXN0b21pc2VkIHdvcmtzcGFjZSB0byBhdXRvbG9hZCBvbiBzcGVjaWZpYyB3b3Jrc3BhY2VzXG4qIEhpZGUgdGhlIGV4dGVuc2lvbiBvbmNlIHlvdSd2ZSBjb25maWd1cmVkIHlvdXIgcHJlZmVyZW5jZXMgdG8gZW5qb3kgc2VhbWxlc3NseSB1cGdyYWRlZCB3b3Jrc3BhY2VzIGluIGdub21lIHNoZWxsXG5cblBsZWFzZSBkbyBub3QgbGVhdmUgYSBjb21tZW50IGZvciBpc3N1ZXMgYW5kIGluc3RlYWQgcmVwb3J0IGl0IGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGlway9DdXN0b21pc2VkLVdvcmtzcGFjZXMvaXNzdWVzIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzZXRzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NldHMiLAogICJuYW1lIjogIkN1c3RvbWlzZWQgV29ya3NwYWNlcyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJibGlwayIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNjAKfQ=="},
     "43": {"version": "60", "sha256": "1f79yi0g8pdnxpbfq098xi52shg5qn1s8gy5yi83i38brz3dv4bp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIENob29zZSBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBZb3VyIGRhc2ggd2lsbCBoYXZlIHVuaXF1ZSBmYXZvdXJpdGUgYXBwbGljYXRpb25zIG9uIGVhY2ggd29ya3NwYWNlXG4qIE9wdGlvbmFsbHkgaXNvbGF0ZSBydW5uaW5nIGFwcGxpY2F0aW9ucyB0byBvbmx5IGFwcGVhciBvbiB0aGUgZGFzaCBpbiB0aGVpciByZXNwZWN0aXZlIHdvcmtzcGFjZVxuKiBPcHRpb25hbGx5IHNob3cgd29ya3NwYWNlIGluZm9ybWF0aW9uIGFuZCBhY3Rpb25zIGluIHRoZSBvdmVydmlld1xuKiBTZXQgZWFjaCBjdXN0b21pc2VkIHdvcmtzcGFjZSB0byBhdXRvbG9hZCBvbiBzcGVjaWZpYyB3b3Jrc3BhY2VzXG4qIEhpZGUgdGhlIGV4dGVuc2lvbiBvbmNlIHlvdSd2ZSBjb25maWd1cmVkIHlvdXIgcHJlZmVyZW5jZXMgdG8gZW5qb3kgc2VhbWxlc3NseSB1cGdyYWRlZCB3b3Jrc3BhY2VzIGluIGdub21lIHNoZWxsXG5cblBsZWFzZSBkbyBub3QgbGVhdmUgYSBjb21tZW50IGZvciBpc3N1ZXMgYW5kIGluc3RlYWQgcmVwb3J0IGl0IGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGlway9DdXN0b21pc2VkLVdvcmtzcGFjZXMvaXNzdWVzIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzZXRzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NldHMiLAogICJuYW1lIjogIkN1c3RvbWlzZWQgV29ya3NwYWNlcyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJibGlwayIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNjAKfQ=="},
     "44": {"version": "60", "sha256": "1f79yi0g8pdnxpbfq098xi52shg5qn1s8gy5yi83i38brz3dv4bp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIENob29zZSBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBZb3VyIGRhc2ggd2lsbCBoYXZlIHVuaXF1ZSBmYXZvdXJpdGUgYXBwbGljYXRpb25zIG9uIGVhY2ggd29ya3NwYWNlXG4qIE9wdGlvbmFsbHkgaXNvbGF0ZSBydW5uaW5nIGFwcGxpY2F0aW9ucyB0byBvbmx5IGFwcGVhciBvbiB0aGUgZGFzaCBpbiB0aGVpciByZXNwZWN0aXZlIHdvcmtzcGFjZVxuKiBPcHRpb25hbGx5IHNob3cgd29ya3NwYWNlIGluZm9ybWF0aW9uIGFuZCBhY3Rpb25zIGluIHRoZSBvdmVydmlld1xuKiBTZXQgZWFjaCBjdXN0b21pc2VkIHdvcmtzcGFjZSB0byBhdXRvbG9hZCBvbiBzcGVjaWZpYyB3b3Jrc3BhY2VzXG4qIEhpZGUgdGhlIGV4dGVuc2lvbiBvbmNlIHlvdSd2ZSBjb25maWd1cmVkIHlvdXIgcHJlZmVyZW5jZXMgdG8gZW5qb3kgc2VhbWxlc3NseSB1cGdyYWRlZCB3b3Jrc3BhY2VzIGluIGdub21lIHNoZWxsXG5cblBsZWFzZSBkbyBub3QgbGVhdmUgYSBjb21tZW50IGZvciBpc3N1ZXMgYW5kIGluc3RlYWQgcmVwb3J0IGl0IGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGlway9DdXN0b21pc2VkLVdvcmtzcGFjZXMvaXNzdWVzIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzZXRzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NldHMiLAogICJuYW1lIjogIkN1c3RvbWlzZWQgV29ya3NwYWNlcyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJibGlwayIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNjAKfQ=="},
-    "45": {"version": "66", "sha256": "10dbblq7x9fwmxk66m9bv3g79nr78jv5by21nkaiph4xwj0kblqq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIENob29zZSBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBZb3VyIGRhc2ggd2lsbCBoYXZlIHVuaXF1ZSBmYXZvdXJpdGUgYXBwbGljYXRpb25zIG9uIGVhY2ggd29ya3NwYWNlXG4qIE9wdGlvbmFsbHkgaXNvbGF0ZSBydW5uaW5nIGFwcGxpY2F0aW9ucyB0byBvbmx5IGFwcGVhciBvbiB0aGUgZGFzaCBpbiB0aGVpciByZXNwZWN0aXZlIHdvcmtzcGFjZVxuKiBPcHRpb25hbGx5IHNob3cgd29ya3NwYWNlIGluZm9ybWF0aW9uIGFuZCBhY3Rpb25zIGluIHRoZSBvdmVydmlld1xuKiBTZXQgZWFjaCBjdXN0b21pc2VkIHdvcmtzcGFjZSB0byBhdXRvbG9hZCBvbiBzcGVjaWZpYyB3b3Jrc3BhY2VzXG4qIEhpZGUgdGhlIGV4dGVuc2lvbiBvbmNlIHlvdSd2ZSBjb25maWd1cmVkIHlvdXIgcHJlZmVyZW5jZXMgdG8gZW5qb3kgc2VhbWxlc3NseSB1cGdyYWRlZCB3b3Jrc3BhY2VzIGluIGdub21lIHNoZWxsXG5cblBsZWFzZSBkbyBub3QgbGVhdmUgYSBjb21tZW50IGZvciBpc3N1ZXMgYW5kIGluc3RlYWQgcmVwb3J0IGl0IGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGlway9DdXN0b21pc2VkLVdvcmtzcGFjZXMvaXNzdWVzIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzZXRzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NldHMiLAogICJuYW1lIjogIkN1c3RvbWlzZWQgV29ya3NwYWNlcyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJibGlwayIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL0N1c3RvbWlzZWQtV29ya3NwYWNlcyIsCiAgInV1aWQiOiAid29ya3NldHNAYmxpcGsueHl6IiwKICAidmVyc2lvbiI6IDY2Cn0="}
+    "45": {"version": "66", "sha256": "10dbblq7x9fwmxk66m9bv3g79nr78jv5by21nkaiph4xwj0kblqq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIENob29zZSBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBZb3VyIGRhc2ggd2lsbCBoYXZlIHVuaXF1ZSBmYXZvdXJpdGUgYXBwbGljYXRpb25zIG9uIGVhY2ggd29ya3NwYWNlXG4qIE9wdGlvbmFsbHkgaXNvbGF0ZSBydW5uaW5nIGFwcGxpY2F0aW9ucyB0byBvbmx5IGFwcGVhciBvbiB0aGUgZGFzaCBpbiB0aGVpciByZXNwZWN0aXZlIHdvcmtzcGFjZVxuKiBPcHRpb25hbGx5IHNob3cgd29ya3NwYWNlIGluZm9ybWF0aW9uIGFuZCBhY3Rpb25zIGluIHRoZSBvdmVydmlld1xuKiBTZXQgZWFjaCBjdXN0b21pc2VkIHdvcmtzcGFjZSB0byBhdXRvbG9hZCBvbiBzcGVjaWZpYyB3b3Jrc3BhY2VzXG4qIEhpZGUgdGhlIGV4dGVuc2lvbiBvbmNlIHlvdSd2ZSBjb25maWd1cmVkIHlvdXIgcHJlZmVyZW5jZXMgdG8gZW5qb3kgc2VhbWxlc3NseSB1cGdyYWRlZCB3b3Jrc3BhY2VzIGluIGdub21lIHNoZWxsXG5cblBsZWFzZSBkbyBub3QgbGVhdmUgYSBjb21tZW50IGZvciBpc3N1ZXMgYW5kIGluc3RlYWQgcmVwb3J0IGl0IGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGlway9DdXN0b21pc2VkLVdvcmtzcGFjZXMvaXNzdWVzIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzZXRzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NldHMiLAogICJuYW1lIjogIkN1c3RvbWlzZWQgV29ya3NwYWNlcyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJibGlwayIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL0N1c3RvbWlzZWQtV29ya3NwYWNlcyIsCiAgInV1aWQiOiAid29ya3NldHNAYmxpcGsueHl6IiwKICAidmVyc2lvbiI6IDY2Cn0="},
+    "46": {"version": "68", "sha256": "129d2bwkq48pmm8vja9ywi2nsydvsqs60kc67zm1ffwakyny2c7a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIENob29zZSBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBZb3VyIGRhc2ggd2lsbCBoYXZlIHVuaXF1ZSBmYXZvdXJpdGUgYXBwbGljYXRpb25zIG9uIGVhY2ggd29ya3NwYWNlXG4qIE9wdGlvbmFsbHkgaXNvbGF0ZSBydW5uaW5nIGFwcGxpY2F0aW9ucyB0byBvbmx5IGFwcGVhciBvbiB0aGUgZGFzaCBpbiB0aGVpciByZXNwZWN0aXZlIHdvcmtzcGFjZVxuKiBPcHRpb25hbGx5IHNob3cgd29ya3NwYWNlIGluZm9ybWF0aW9uIGFuZCBhY3Rpb25zIGluIHRoZSBvdmVydmlld1xuKiBTZXQgZWFjaCBjdXN0b21pc2VkIHdvcmtzcGFjZSB0byBhdXRvbG9hZCBvbiBzcGVjaWZpYyB3b3Jrc3BhY2VzXG4qIEhpZGUgdGhlIGV4dGVuc2lvbiBvbmNlIHlvdSd2ZSBjb25maWd1cmVkIHlvdXIgcHJlZmVyZW5jZXMgdG8gZW5qb3kgc2VhbWxlc3NseSB1cGdyYWRlZCB3b3Jrc3BhY2VzIGluIGdub21lIHNoZWxsXG5cblBsZWFzZSBkbyBub3QgbGVhdmUgYSBjb21tZW50IGZvciBpc3N1ZXMgYW5kIGluc3RlYWQgcmVwb3J0IGl0IGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGlway9DdXN0b21pc2VkLVdvcmtzcGFjZXMvaXNzdWVzIiwKICAiZXh0ZW5zaW9uLWlkIjogIndvcmtzZXRzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NldHMiLAogICJuYW1lIjogIkN1c3RvbWlzZWQgV29ya3NwYWNlcyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJibGlwayIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL0N1c3RvbWlzZWQtV29ya3NwYWNlcyIsCiAgInV1aWQiOiAid29ya3NldHNAYmxpcGsueHl6IiwKICAidmVyc2lvbiI6IDY4Cn0="}
   }}
 , {"uuid": "NordVPN_Connect@poilrouge.fr", "name": "NordVPN Connect", "pname": "nordvpn-connect", "description": "Unofficial Gnome-Shell Extension to provide a GUI for the official NordVPN CLI Tool.", "link": "https://extensions.gnome.org/extension/1595/nordvpn-connect/", "shell_version_map": {
     "38": {"version": "15", "sha256": "0xccvy3kqgglhcjhixlxi65sa49lbm896lra2sks65arkx3fh63k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FsZXhQb2lscm91Z2UvTm9yZFZQTi1jb25uZWN0IiwKICAidXVpZCI6ICJOb3JkVlBOX0Nvbm5lY3RAcG9pbHJvdWdlLmZyIiwKICAidmVyc2lvbiI6IDE1Cn0="},
@@ -1678,11 +1681,13 @@
     "44": {"version": "19", "sha256": "0aznblvswlnxbykwb0p1yn4mzasa7bmqz1f45ka0j06kj4747ns5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAxOQp9"},
     "45": {"version": "21", "sha256": "1mrprqbxrxky06rad99ichlvz5479w518r33y1xw5qkw3k38hy43", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vbml0b3IgdGhlIHVzZSBvZiBzeXN0ZW0gcmVzb3VyY2VzIGxpa2UgY3B1LCByYW0sIGRpc2ssIG5ldHdvcmsgYW5kIGRpc3BsYXkgdGhlbSBpbiBnbm9tZSBzaGVsbCB0b3AgYmFyLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJwYXlwYWwiOiAiMHJ5MG4iCiAgfSwKICAiZ2V0dGV4dC1kb21haW4iOiAiY29tLWdpdGh1Yi1Pcnkwbi1SZXNvdXJjZV9Nb25pdG9yIiwKICAibmFtZSI6ICJSZXNvdXJjZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuT3J5MG4uUmVzb3VyY2VfTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAyMQp9"}
   }}
-, {"uuid": "tweaks-system-menu@extensions.gnome-shell.fifi.org", "name": "Tweaks & Extensions in System Menu", "pname": "tweaks-in-system-menu", "description": "Put Gnome Tweaks and Extensions (on Shell 40 and later) in the System menu.", "link": "https://extensions.gnome.org/extension/1653/tweaks-in-system-menu/", "shell_version_map": {
+, {"uuid": "tweaks-system-menu@extensions.gnome-shell.fifi.org", "name": "Tweaks & Extensions in System Menu", "pname": "tweaks-in-system-menu", "description": "Put Gnome Tweaks, Extensions, Extension Manager and any other application in the System menu.", "link": "https://extensions.gnome.org/extension/1653/tweaks-in-system-menu/", "shell_version_map": {
     "38": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="},
     "40": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="},
     "41": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="},
-    "42": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="}
+    "42": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="},
+    "45": {"version": "19", "sha256": "05qbjlyzwvshm0aa8i7ig30g6vg2wnxw57bcv50d5azij7dv173k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0YtaS1mL3R3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgInV1aWQiOiAidHdlYWtzLXN5c3RlbS1tZW51QGV4dGVuc2lvbnMuZ25vbWUtc2hlbGwuZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjE5LTAtZzE1ZDg2NTAiLAogICJ2ZXJzaW9uIjogMTkKfQ=="},
+    "46": {"version": "19", "sha256": "05qbjlyzwvshm0aa8i7ig30g6vg2wnxw57bcv50d5azij7dv173k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0YtaS1mL3R3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgInV1aWQiOiAidHdlYWtzLXN5c3RlbS1tZW51QGV4dGVuc2lvbnMuZ25vbWUtc2hlbGwuZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjE5LTAtZzE1ZDg2NTAiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}
   }}
 , {"uuid": "topiconsfix@aleskva@devnullmail.com", "name": "TopIconsFix", "pname": "topiconsfix", "description": "Shows legacy tray icons on top – the fixed version of https://extensions.gnome.org/extension/495/topicons/", "link": "https://extensions.gnome.org/extension/1674/topiconsfix/", "shell_version_map": {
     "38": {"version": "13", "sha256": "1q9zzjcy8pyifqm51p51wb290casl3464k1w1p5ijgwf492va6gf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9waWNvbnNmaXhAYWxlc2t2YUBkZXZudWxsbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="},
@@ -1709,7 +1714,8 @@
     "42": {"version": "23", "sha256": "1r5q5fx4px07m1mlqifaygcvn1jahcdni6v42qlmvpdk6iaxd66h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gQWx3YXlzIHNob3cgY2xvc2UgYnV0dG9ucyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gV2luZG93IHRpdGxlcyBwb3NpdGlvbiAoQm90dG9tLCBDZW50ZXIpXG4tIE1vdmUgd2luZG93IHRpdGxlcyB0byB0aGUgYm90dG9tIHdoZW4gZnVsbHNjcmVlblxuLSBNb3ZlIHdpbmRvdyB0aXRsZXMgdG8gdGhlIGJvdHRvbSBmb3IgdmlkZW8vVFYgcGxheWVycywgbGlrZSBTTVBsYXllclxuLSBTaG93L2hpZGUgYXBwIGljb25zXG4tIEFwcCBpY29uIHBvc2l0aW9uOiBCb3R0b20sIENlbnRlclxuLSBTaG93L2hpZGUgdGhlIGFwcCBpY29uIHdoZW4gYSB3aW5kb3cgaXMgaW4gZnVsbHNjcmVlbiBtb2RlXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXJcbi0gVHdlYWsgdGhlIHdpbmRvdyB0aHVtYm5haWwgYWN0aXZlIHNpemUgaW5jcmVtZW50IChmcm9tIDUgdG8gNjAsIHRoZSBkZWZhdWx0IGlzIDE1KVxuLSBIaWRlIHRoZSBiYWNrZ3JvdW5kIFxuXG4iLAogICJuYW1lIjogIkFsd2F5cyBTaG93IFRpdGxlcyBJbiBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="},
     "43": {"version": "23", "sha256": "1r5q5fx4px07m1mlqifaygcvn1jahcdni6v42qlmvpdk6iaxd66h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gQWx3YXlzIHNob3cgY2xvc2UgYnV0dG9ucyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gV2luZG93IHRpdGxlcyBwb3NpdGlvbiAoQm90dG9tLCBDZW50ZXIpXG4tIE1vdmUgd2luZG93IHRpdGxlcyB0byB0aGUgYm90dG9tIHdoZW4gZnVsbHNjcmVlblxuLSBNb3ZlIHdpbmRvdyB0aXRsZXMgdG8gdGhlIGJvdHRvbSBmb3IgdmlkZW8vVFYgcGxheWVycywgbGlrZSBTTVBsYXllclxuLSBTaG93L2hpZGUgYXBwIGljb25zXG4tIEFwcCBpY29uIHBvc2l0aW9uOiBCb3R0b20sIENlbnRlclxuLSBTaG93L2hpZGUgdGhlIGFwcCBpY29uIHdoZW4gYSB3aW5kb3cgaXMgaW4gZnVsbHNjcmVlbiBtb2RlXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXJcbi0gVHdlYWsgdGhlIHdpbmRvdyB0aHVtYm5haWwgYWN0aXZlIHNpemUgaW5jcmVtZW50IChmcm9tIDUgdG8gNjAsIHRoZSBkZWZhdWx0IGlzIDE1KVxuLSBIaWRlIHRoZSBiYWNrZ3JvdW5kIFxuXG4iLAogICJuYW1lIjogIkFsd2F5cyBTaG93IFRpdGxlcyBJbiBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="},
     "44": {"version": "23", "sha256": "1r5q5fx4px07m1mlqifaygcvn1jahcdni6v42qlmvpdk6iaxd66h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gQWx3YXlzIHNob3cgY2xvc2UgYnV0dG9ucyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gV2luZG93IHRpdGxlcyBwb3NpdGlvbiAoQm90dG9tLCBDZW50ZXIpXG4tIE1vdmUgd2luZG93IHRpdGxlcyB0byB0aGUgYm90dG9tIHdoZW4gZnVsbHNjcmVlblxuLSBNb3ZlIHdpbmRvdyB0aXRsZXMgdG8gdGhlIGJvdHRvbSBmb3IgdmlkZW8vVFYgcGxheWVycywgbGlrZSBTTVBsYXllclxuLSBTaG93L2hpZGUgYXBwIGljb25zXG4tIEFwcCBpY29uIHBvc2l0aW9uOiBCb3R0b20sIENlbnRlclxuLSBTaG93L2hpZGUgdGhlIGFwcCBpY29uIHdoZW4gYSB3aW5kb3cgaXMgaW4gZnVsbHNjcmVlbiBtb2RlXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXJcbi0gVHdlYWsgdGhlIHdpbmRvdyB0aHVtYm5haWwgYWN0aXZlIHNpemUgaW5jcmVtZW50IChmcm9tIDUgdG8gNjAsIHRoZSBkZWZhdWx0IGlzIDE1KVxuLSBIaWRlIHRoZSBiYWNrZ3JvdW5kIFxuXG4iLAogICJuYW1lIjogIkFsd2F5cyBTaG93IFRpdGxlcyBJbiBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="},
-    "45": {"version": "25", "sha256": "0z1l6l3gl9g8y19c51gm9p68bzgkh65g0fgbhzgkzqlwac87jwm1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gQWx3YXlzIHNob3cgY2xvc2UgYnV0dG9ucyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gV2luZG93IHRpdGxlcyBwb3NpdGlvbiAoQm90dG9tLCBDZW50ZXIpXG4tIE1vdmUgd2luZG93IHRpdGxlcyB0byB0aGUgYm90dG9tIHdoZW4gZnVsbHNjcmVlblxuLSBNb3ZlIHdpbmRvdyB0aXRsZXMgdG8gdGhlIGJvdHRvbSBmb3IgdmlkZW8vVFYgcGxheWVycywgbGlrZSBTTVBsYXllclxuLSBTaG93L2hpZGUgYXBwIGljb25zXG4tIEFwcCBpY29uIHBvc2l0aW9uOiBCb3R0b20sIENlbnRlclxuLSBTaG93L2hpZGUgdGhlIGFwcCBpY29uIHdoZW4gYSB3aW5kb3cgaXMgaW4gZnVsbHNjcmVlbiBtb2RlXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXJcbi0gVHdlYWsgdGhlIHdpbmRvdyB0aHVtYm5haWwgYWN0aXZlIHNpemUgaW5jcmVtZW50IChmcm9tIDUgdG8gNjAsIHRoZSBkZWZhdWx0IGlzIDE1KVxuLSBIaWRlIHRoZSBiYWNrZ3JvdW5kIFxuXG4iLAogICJuYW1lIjogIkFsd2F5cyBTaG93IFRpdGxlcyBJbiBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL0Fsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlldyIsCiAgInV1aWQiOiAiQWx3YXlzLVNob3ctVGl0bGVzLUluLU92ZXJ2aWV3QGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}
+    "45": {"version": "26", "sha256": "0g2a2d1d4j8j4ly00zf3m5qs5advf10wh3jkhs2rrrrv29pihx0y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gQWx3YXlzIHNob3cgY2xvc2UgYnV0dG9ucyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gV2luZG93IHRpdGxlcyBwb3NpdGlvbiAoQm90dG9tLCBDZW50ZXIpXG4tIE1vdmUgd2luZG93IHRpdGxlcyB0byB0aGUgYm90dG9tIHdoZW4gZnVsbHNjcmVlblxuLSBNb3ZlIHdpbmRvdyB0aXRsZXMgdG8gdGhlIGJvdHRvbSBmb3IgdmlkZW8vVFYgcGxheWVycywgbGlrZSBTTVBsYXllclxuLSBTaG93L2hpZGUgYXBwIGljb25zXG4tIEFwcCBpY29uIHBvc2l0aW9uOiBCb3R0b20sIENlbnRlclxuLSBTaG93L2hpZGUgdGhlIGFwcCBpY29uIHdoZW4gYSB3aW5kb3cgaXMgaW4gZnVsbHNjcmVlbiBtb2RlXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXJcbi0gVHdlYWsgdGhlIHdpbmRvdyB0aHVtYm5haWwgYWN0aXZlIHNpemUgaW5jcmVtZW50IChmcm9tIDUgdG8gNjAsIHRoZSBkZWZhdWx0IGlzIDE1KVxuLSBIaWRlIHRoZSBiYWNrZ3JvdW5kIFxuXG4iLAogICJuYW1lIjogIkFsd2F5cyBTaG93IFRpdGxlcyBJbiBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjYKfQ=="},
+    "46": {"version": "26", "sha256": "0g2a2d1d4j8j4ly00zf3m5qs5advf10wh3jkhs2rrrrv29pihx0y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gQWx3YXlzIHNob3cgY2xvc2UgYnV0dG9ucyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gV2luZG93IHRpdGxlcyBwb3NpdGlvbiAoQm90dG9tLCBDZW50ZXIpXG4tIE1vdmUgd2luZG93IHRpdGxlcyB0byB0aGUgYm90dG9tIHdoZW4gZnVsbHNjcmVlblxuLSBNb3ZlIHdpbmRvdyB0aXRsZXMgdG8gdGhlIGJvdHRvbSBmb3IgdmlkZW8vVFYgcGxheWVycywgbGlrZSBTTVBsYXllclxuLSBTaG93L2hpZGUgYXBwIGljb25zXG4tIEFwcCBpY29uIHBvc2l0aW9uOiBCb3R0b20sIENlbnRlclxuLSBTaG93L2hpZGUgdGhlIGFwcCBpY29uIHdoZW4gYSB3aW5kb3cgaXMgaW4gZnVsbHNjcmVlbiBtb2RlXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXJcbi0gVHdlYWsgdGhlIHdpbmRvdyB0aHVtYm5haWwgYWN0aXZlIHNpemUgaW5jcmVtZW50IChmcm9tIDUgdG8gNjAsIHRoZSBkZWZhdWx0IGlzIDE1KVxuLSBIaWRlIHRoZSBiYWNrZ3JvdW5kIFxuXG4iLAogICJuYW1lIjogIkFsd2F5cyBTaG93IFRpdGxlcyBJbiBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjYKfQ=="}
   }}
 , {"uuid": "overview-navigation@nathanielsimard.github.com", "name": "Overview Navigation", "pname": "overview-navigation", "description": "This extension aims to make Gnome Shell easier to navigate using only the keyboard. It is inspired by the vim plugins of Firefox and Chrome.", "link": "https://extensions.gnome.org/extension/1702/overview-navigation/", "shell_version_map": {
     "38": {"version": "14", "sha256": "10i2j0klcyi22qakmw1f338ldc87w54a0jlg1bwq84ifflmnm8nq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFpbXMgdG8gbWFrZSBHbm9tZSBTaGVsbCBlYXNpZXIgdG8gbmF2aWdhdGUgdXNpbmcgb25seSB0aGUga2V5Ym9hcmQuIEl0IGlzIGluc3BpcmVkIGJ5IHRoZSB2aW0gcGx1Z2lucyBvZiBGaXJlZm94IGFuZCBDaHJvbWUuIiwKICAibmFtZSI6ICJPdmVydmlldyBOYXZpZ2F0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uYXRoYW5pZWxzaW1hcmQvb3ZlcnZpZXctbmF2aWdhdGlvbiIsCiAgInV1aWQiOiAib3ZlcnZpZXctbmF2aWdhdGlvbkBuYXRoYW5pZWxzaW1hcmQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"},
@@ -1926,7 +1932,8 @@
     "42": {"version": "8", "sha256": "02m37kg428knfsli8gj6vbj1lqmy1lklsgfapp1hiabbmmn0mjlf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDgKfQ=="},
     "43": {"version": "8", "sha256": "02m37kg428knfsli8gj6vbj1lqmy1lklsgfapp1hiabbmmn0mjlf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDgKfQ=="},
     "44": {"version": "8", "sha256": "02m37kg428knfsli8gj6vbj1lqmy1lklsgfapp1hiabbmmn0mjlf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDgKfQ=="},
-    "45": {"version": "9", "sha256": "0y9b5znddndqdaskq0nxpdxl2xn4wqhql0vz4b04mc5algnjlx6s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrb2tvQGtva29uZy5pbmZvIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52aW0tYWx0dGFiIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tva28tbmcvdmltLWFsdFRhYiIsCiAgInV1aWQiOiAidmltLWFsdFRhYkBrb2tvbmcuaW5mbyIsCiAgInZlcnNpb24iOiA5Cn0="}
+    "45": {"version": "10", "sha256": "0mfhmvj44x9ffdi4fvz8xjqwlfv5046bw99m4xcv4m6pq5kz30zs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrb2tvQGtva29uZy5pbmZvIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52aW0tYWx0dGFiIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb2tvLW5nL3ZpbS1hbHRUYWIiLAogICJ1dWlkIjogInZpbS1hbHRUYWJAa29rb25nLmluZm8iLAogICJ2ZXJzaW9uIjogMTAKfQ=="},
+    "46": {"version": "10", "sha256": "0mfhmvj44x9ffdi4fvz8xjqwlfv5046bw99m4xcv4m6pq5kz30zs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJrb2tvQGtva29uZy5pbmZvIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52aW0tYWx0dGFiIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb2tvLW5nL3ZpbS1hbHRUYWIiLAogICJ1dWlkIjogInZpbS1hbHRUYWJAa29rb25nLmluZm8iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}
   }}
 , {"uuid": "easy_docker_containers@red.software.systems", "name": "Easy Docker Containers", "pname": "easy-docker-containers", "description": "A GNOME Shell extension (GNOME Panel applet) to be able to generally control your available Docker containers.", "link": "https://extensions.gnome.org/extension/2224/easy-docker-containers/", "shell_version_map": {
     "38": {"version": "20", "sha256": "0dh3km7fnl2wg5p13knp3kzwfm5sfx2rlw4hcmpplqarwc3xxfp9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SZWRTb2Z0d2FyZVN5c3RlbXMvZWFzeV9kb2NrZXJfY29udGFpbmVycyIsCiAgInV1aWQiOiAiZWFzeV9kb2NrZXJfY29udGFpbmVyc0ByZWQuc29mdHdhcmUuc3lzdGVtcyIsCiAgInZlcnNpb24iOiAyMAp9"},
@@ -2006,7 +2013,8 @@
     "42": {"version": "46", "sha256": "0z3anwi0kbsn9adbsmczcbywnasqq3xvkq190jbxmvbh9bxaawrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSByZW1pbmRlciBhbGFybSBjbG9jayB3aWxsIHJlbWluZCB5b3Ugb2YgYW4gaW1wb3J0YW50IGV2ZW50IGF0IHRoZSBhcHBvaW50ZWQgdGltZS4iLAogICJuYW1lIjogIlJlbWluZGVyIEFsYXJtIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90cmlmb25vdmt2L1JlbWluZGVyQWxhcm1DbG9jayIsCiAgInV1aWQiOiAicmVtaW5kZXJfYWxhcm1fY2xvY2tAdHJpZm9ub3Zrdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDYKfQ=="},
     "43": {"version": "46", "sha256": "0z3anwi0kbsn9adbsmczcbywnasqq3xvkq190jbxmvbh9bxaawrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSByZW1pbmRlciBhbGFybSBjbG9jayB3aWxsIHJlbWluZCB5b3Ugb2YgYW4gaW1wb3J0YW50IGV2ZW50IGF0IHRoZSBhcHBvaW50ZWQgdGltZS4iLAogICJuYW1lIjogIlJlbWluZGVyIEFsYXJtIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90cmlmb25vdmt2L1JlbWluZGVyQWxhcm1DbG9jayIsCiAgInV1aWQiOiAicmVtaW5kZXJfYWxhcm1fY2xvY2tAdHJpZm9ub3Zrdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDYKfQ=="},
     "44": {"version": "46", "sha256": "0z3anwi0kbsn9adbsmczcbywnasqq3xvkq190jbxmvbh9bxaawrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSByZW1pbmRlciBhbGFybSBjbG9jayB3aWxsIHJlbWluZCB5b3Ugb2YgYW4gaW1wb3J0YW50IGV2ZW50IGF0IHRoZSBhcHBvaW50ZWQgdGltZS4iLAogICJuYW1lIjogIlJlbWluZGVyIEFsYXJtIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90cmlmb25vdmt2L1JlbWluZGVyQWxhcm1DbG9jayIsCiAgInV1aWQiOiAicmVtaW5kZXJfYWxhcm1fY2xvY2tAdHJpZm9ub3Zrdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDYKfQ=="},
-    "45": {"version": "48", "sha256": "0mgqiw41rfcaadba02rcnldkqdmsn28lwvisdxyyd2ly2yh3cbkb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSByZW1pbmRlciBhbGFybSBjbG9jayB3aWxsIHJlbWluZCB5b3Ugb2YgYW4gaW1wb3J0YW50IGV2ZW50IGF0IHRoZSBhcHBvaW50ZWQgdGltZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyZW1pbmRlckFsYXJtQ2xvY2siLAogICJuYW1lIjogIlJlbWluZGVyIEFsYXJtIENsb2NrIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJlbWluZGVyYWxhcm1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90cmlmb25vdmt2L1JlbWluZGVyQWxhcm1DbG9jayIsCiAgInV1aWQiOiAicmVtaW5kZXJfYWxhcm1fY2xvY2tAdHJpZm9ub3Zrdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDgKfQ=="}
+    "45": {"version": "50", "sha256": "0anyjj3qfrgv1igvnsy7sypp2zc4ibhws0a4h97fl80l8f5a0x9s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSByZW1pbmRlciBhbGFybSBjbG9jayB3aWxsIHJlbWluZCB5b3Ugb2YgYW4gaW1wb3J0YW50IGV2ZW50IGF0IHRoZSBhcHBvaW50ZWQgdGltZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyZW1pbmRlckFsYXJtQ2xvY2siLAogICJuYW1lIjogIlJlbWluZGVyIEFsYXJtIENsb2NrIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJlbWluZGVyYWxhcm1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHJpZm9ub3Zrdi9SZW1pbmRlckFsYXJtQ2xvY2siLAogICJ1dWlkIjogInJlbWluZGVyX2FsYXJtX2Nsb2NrQHRyaWZvbm92a3YuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUwCn0="},
+    "46": {"version": "51", "sha256": "0y5ypxm6idc7k0mrnikl69fkcihz3ab80mrns5clgdj540kvfq4z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSByZW1pbmRlciBhbGFybSBjbG9jayB3aWxsIHJlbWluZCB5b3Ugb2YgYW4gaW1wb3J0YW50IGV2ZW50IGF0IHRoZSBhcHBvaW50ZWQgdGltZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyZW1pbmRlckFsYXJtQ2xvY2siLAogICJuYW1lIjogIlJlbWluZGVyIEFsYXJtIENsb2NrIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJlbWluZGVyYWxhcm1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uRTBzSWdoVC9SZW1pbmRlckFsYXJtQ2xvY2siLAogICJ1dWlkIjogInJlbWluZGVyX2FsYXJtX2Nsb2NrQHRyaWZvbm92a3YuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUxCn0="}
   }}
 , {"uuid": "TaskBar@c0ldplasma", "name": "TaskBar 2020", "pname": "taskbar-updated", "description": "!!! Development stopped !!!!  Look at Dash to Panel as an alternative: https://extensions.gnome.org/extension/1160/dash-to-panel/\n\n----------------------------------------------------------------------\n\nTaskBar 2020 displays icons of running applications and favorites on the top panel or alternatively on a new bottom panel. Activate, minimize or close tasks with a simple click. \n\nTaskBar 2020 is a dock-like windows list on the top/bottom bar. \n\nFork of zpydr/gnome-shell-extension-taskbar to support newer versions of GNOME", "link": "https://extensions.gnome.org/extension/2506/taskbar-updated/", "shell_version_map": {
     "38": {"version": "5", "sha256": "09yn1p0vmq70ll7vi3jdjvj479cm38r4am0mw08nca8hl4zdiamj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiEhISBEZXZlbG9wbWVudCBzdG9wcGVkICEhISEgIExvb2sgYXQgRGFzaCB0byBQYW5lbCBhcyBhbiBhbHRlcm5hdGl2ZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRhc2tCYXIgMjAyMCBkaXNwbGF5cyBpY29ucyBvZiBydW5uaW5nIGFwcGxpY2F0aW9ucyBhbmQgZmF2b3JpdGVzIG9uIHRoZSB0b3AgcGFuZWwgb3IgYWx0ZXJuYXRpdmVseSBvbiBhIG5ldyBib3R0b20gcGFuZWwuIEFjdGl2YXRlLCBtaW5pbWl6ZSBvciBjbG9zZSB0YXNrcyB3aXRoIGEgc2ltcGxlIGNsaWNrLiBcblxuVGFza0JhciAyMDIwIGlzIGEgZG9jay1saWtlIHdpbmRvd3MgbGlzdCBvbiB0aGUgdG9wL2JvdHRvbSBiYXIuIFxuXG5Gb3JrIG9mIHpweWRyL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIHRvIHN1cHBvcnQgbmV3ZXIgdmVyc2lvbnMgb2YgR05PTUUiLAogICJuYW1lIjogIlRhc2tCYXIgMjAyMCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2MwbGRwbGFzbWEvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2tiYXIiLAogICJ1dWlkIjogIlRhc2tCYXJAYzBsZHBsYXNtYSIsCiAgInZlcnNpb24iOiA1Cn0="},
@@ -2156,7 +2164,7 @@
     "43": {"version": "41", "sha256": "0irsbwxbh9xvb76j4nfiy508kir72x11h9bbmwhsyd531d0jmyjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcbkxpa2U6IEJUQywgRVRILCBCTkIsIERPR0UgYW5kIGV0Yy4uXG5cblNvdXJjZXM6IEJpbmFuY2UsIENyeXB0bywgQ29pbmdlY2tvLCBPS1hcblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuXG5Vc2luZyBhcGkuY29pbmdlY2tvLmNvbSwgb2t4LmNvbSwgYmluYW5jZS5jb20sIGNyeXB0by5jb21cbkNvbXBsZXRlIGxpc3Qgb2YgcGFpcnM6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWxcbkNvbXBsZXRlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsI3JlYWRtZVxuXG4qKiBpZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKSIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiA0MQp9"},
     "44": {"version": "41", "sha256": "0irsbwxbh9xvb76j4nfiy508kir72x11h9bbmwhsyd531d0jmyjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcbkxpa2U6IEJUQywgRVRILCBCTkIsIERPR0UgYW5kIGV0Yy4uXG5cblNvdXJjZXM6IEJpbmFuY2UsIENyeXB0bywgQ29pbmdlY2tvLCBPS1hcblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuXG5Vc2luZyBhcGkuY29pbmdlY2tvLmNvbSwgb2t4LmNvbSwgYmluYW5jZS5jb20sIGNyeXB0by5jb21cbkNvbXBsZXRlIGxpc3Qgb2YgcGFpcnM6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWxcbkNvbXBsZXRlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsI3JlYWRtZVxuXG4qKiBpZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKSIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiA0MQp9"},
     "45": {"version": "46", "sha256": "0b9a6ngj9w83gqasg0b3h8iy4abl0ysrj9jpkqwj8xq0xr9b0g3v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcbkxpa2U6IEJUQywgRVRILCBCTkIsIERPR0UgYW5kIGV0Yy4uXG5cblNvdXJjZXM6IEJpbmFuY2UsIENyeXB0bywgQ29pbmdlY2tvLCBPS1hcblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuXG5Vc2luZyBhcGkuY29pbmdlY2tvLmNvbSwgb2t4LmNvbSwgYmluYW5jZS5jb20sIGNyeXB0by5jb21cbkNvbXBsZXRlIGxpc3Qgb2YgcGFpcnM6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWxcbkNvbXBsZXRlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsI3JlYWRtZVxuXG4qKiBpZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKSIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiA0Ngp9"},
-    "46": {"version": "46", "sha256": "0b9a6ngj9w83gqasg0b3h8iy4abl0ysrj9jpkqwj8xq0xr9b0g3v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcbkxpa2U6IEJUQywgRVRILCBCTkIsIERPR0UgYW5kIGV0Yy4uXG5cblNvdXJjZXM6IEJpbmFuY2UsIENyeXB0bywgQ29pbmdlY2tvLCBPS1hcblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuXG5Vc2luZyBhcGkuY29pbmdlY2tvLmNvbSwgb2t4LmNvbSwgYmluYW5jZS5jb20sIGNyeXB0by5jb21cbkNvbXBsZXRlIGxpc3Qgb2YgcGFpcnM6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWxcbkNvbXBsZXRlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsI3JlYWRtZVxuXG4qKiBpZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKSIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiA0Ngp9"}
+    "46": {"version": "47", "sha256": "0pmhl80q5d4h39kb9bb6abnr75hvliin0c7h9m66z3giqxq7nss0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcbkxpa2U6IEJUQywgRVRILCBCTkIsIERPR0UgYW5kIGV0Yy4uXG5cblNvdXJjZXM6IEJpbmFuY2UsIENyeXB0bywgQ29pbmdlY2tvLCBPS1hcblxuQWRkIGNvaW5zIGJ5IHN5bWJvbHMsIGZvciBleGFtcGxlOlxuKiBCaW5hbmNlIHBhaXJzOiBcIkJUQy9VU0RUXCJcbiogT0tYIHBhaXJzOiBcIkxUQy9VU0RUXCJcbiogQ29pbmdlY2tvIHBhaXJzOiBcIkJUQy9VU0RcIlxuXG5Vc2luZyBhcGkuY29pbmdlY2tvLmNvbSwgb2t4LmNvbSwgYmluYW5jZS5jb20sIGNyeXB0by5jb21cbkNvbXBsZXRlIGxpc3Qgb2YgcGFpcnM6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWxcbkNvbXBsZXRlIGd1aWRlOiBodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsI3JlYWRtZVxuXG4qKiBpZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKSIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxpcGlycGlyYW4vQ3J5cHRvLVByaWNlLVRyYWNrZXItZm9yLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJjcnlwdG9AYWxpcGlycGlyYW4uZ2l0aHViIiwKICAidmVyc2lvbiI6IDQ3Cn0="}
   }}
 , {"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"},
@@ -2508,11 +2516,12 @@
     "38": {"version": "8", "sha256": "1x016p30z0pci3qlhpmfqrsgy0vwcfxqladny66ppbb32qisbkac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIjMgZmluZ2VycyB3aW5kb3cgc3dpdGNoZXIuIFRvIG1ha2UgaXQgd29yayBvbiBYb3JnIGNoZWNrIHRoZSBzZXJ2aWNlIG9uIGdpdGh1Yi5cblxuVXAgLSBkb3duOiB0b2dnbGUgYmV0d2VlbiBvdmVydmlldyBhbmQgc2hvdyBkZXNrdG9wIChOZWVkcyBTdXBlcitEIHNob3JjdXQgdG8gYmUgc2V0IG9uIFhvcmcuIFNldCBpdCB3aXRoIGBnc2V0dGluZ3Mgc2V0IG9yZy5nbm9tZS5kZXNrdG9wLndtLmtleWJpbmRpbmdzIHNob3ctZGVza3RvcCAnPFN1cGVyPmQnYCkuXG5cbllvdSBjYW4gYWxzbyBjaGFuZ2Ugd2luZG93cyBieSBnb2luZyB0byB0aGUgb3ZlcnZpZXcgKHVwKSBhbmQgbW92aW5nIHRvIHRoZSBsZWZ0IGFuZCByaWdodCwgYW5kIGNob29zaW5nIHRoZSB3aW5kb3cgd2l0aCBkb3duLiBUaGUgb3ZlcnZpZXcgaXMgbW9kaWZpZWQgc28gaXRcdTIwMTlzIHNob3duIGluIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4iLAogICJuYW1lIjogIlRvdWNocGFkIFdpbmRvdyBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci90b3VjaHBhZC13aW5kb3ctc3dpdGNoZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ0b3VjaHBhZF93aW5kb3dfc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}
   }}
 , {"uuid": "gnome-shell-duckduckgo-search-provider@keithcirkel.co.uk", "name": "DuckDuckGo Search Provider", "pname": "duckduckgo-search-provider", "description": "Add DuckDuckGo search suggestions to Gnome Shell Search", "link": "https://extensions.gnome.org/extension/3306/duckduckgo-search-provider/", "shell_version_map": {
-    "38": {"version": "5", "sha256": "0d4y9rzq0v9iwph408mf0d9zfx2g5fyrbbk63dn61ri525v0qlzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA1Cn0="},
-    "40": {"version": "5", "sha256": "0d4y9rzq0v9iwph408mf0d9zfx2g5fyrbbk63dn61ri525v0qlzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA1Cn0="},
-    "41": {"version": "5", "sha256": "0d4y9rzq0v9iwph408mf0d9zfx2g5fyrbbk63dn61ri525v0qlzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA1Cn0="},
-    "42": {"version": "5", "sha256": "0d4y9rzq0v9iwph408mf0d9zfx2g5fyrbbk63dn61ri525v0qlzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA1Cn0="},
-    "44": {"version": "5", "sha256": "0d4y9rzq0v9iwph408mf0d9zfx2g5fyrbbk63dn61ri525v0qlzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA1Cn0="}
+    "38": {"version": "8", "sha256": "15jsbkkkx80fad5qy3fyf3c23fjf4p5x2qnvzgfi98w96w8d9875", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Ni4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIiwKICAgICI0Ni4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA4Cn0="},
+    "40": {"version": "8", "sha256": "15jsbkkkx80fad5qy3fyf3c23fjf4p5x2qnvzgfi98w96w8d9875", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Ni4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIiwKICAgICI0Ni4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA4Cn0="},
+    "41": {"version": "8", "sha256": "15jsbkkkx80fad5qy3fyf3c23fjf4p5x2qnvzgfi98w96w8d9875", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Ni4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIiwKICAgICI0Ni4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA4Cn0="},
+    "42": {"version": "8", "sha256": "15jsbkkkx80fad5qy3fyf3c23fjf4p5x2qnvzgfi98w96w8d9875", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Ni4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIiwKICAgICI0Ni4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA4Cn0="},
+    "44": {"version": "8", "sha256": "15jsbkkkx80fad5qy3fyf3c23fjf4p5x2qnvzgfi98w96w8d9875", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Ni4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIiwKICAgICI0Ni4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA4Cn0="},
+    "46": {"version": "8", "sha256": "15jsbkkkx80fad5qy3fyf3c23fjf4p5x2qnvzgfi98w96w8d9875", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0Ni4wIiwKICAgICI0Mi41IiwKICAgICI0NC4yIiwKICAgICI0Ni4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA4Cn0="}
   }}
 , {"uuid": "translate-indicator@athenstaedt.net", "name": "Translate Indicator", "pname": "translate-indicator", "description": "Translate extension for Gnome-Shell - based on translate-shell, inspired by Tudmotu's clipboard-indicator and gufoe's text-translator\n\nMenu to translate everything on your desktop.\n\nSuper + T to toggle menu. Cntl + Alt + T to use notification translation.\n\nShortcuts can be changed in the settings.\n\nOn X.org, you can translate selected text. This can be enabled in the settings. This is not supported on wayland. There, you have to copy to the clipboard for translation.\n\nBy default, this extension uses the included translate-shell version, which is probably not the newest. You can change this in the settings.\n\nIf you use the the included trans file, make sure that it is executable. You find the source of the extension usually here:\n\n~/.local/share/gnome-shell/extensions/translate-indicator@athenstaedt.net", "link": "https://extensions.gnome.org/extension/3318/translate-indicator/", "shell_version_map": {
     "38": {"version": "3", "sha256": "04c3hjbcbn8y9d94swmc3qiv63sjynn71jnwp08sgqa79nrn4cyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDMKfQ=="},
@@ -3879,7 +3888,8 @@
     "42": {"version": "16", "sha256": "0w34bvz909s3sdwk1wlpzdyn0l0a1i7ifbd6r75mm2bf4ypg905k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR25vbWVTbmFwRXh0ZW5zaW9ucy9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDE2Cn0="},
     "43": {"version": "16", "sha256": "0w34bvz909s3sdwk1wlpzdyn0l0a1i7ifbd6r75mm2bf4ypg905k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR25vbWVTbmFwRXh0ZW5zaW9ucy9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDE2Cn0="},
     "44": {"version": "16", "sha256": "0w34bvz909s3sdwk1wlpzdyn0l0a1i7ifbd6r75mm2bf4ypg905k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR25vbWVTbmFwRXh0ZW5zaW9ucy9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDE2Cn0="},
-    "45": {"version": "19", "sha256": "17ph6zd5kbfiyrd4fggs5fvpjpbd7983hm7glm3kv1hjsk6h4dsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Hbm9tZVNuYXBFeHRlbnNpb25zL2dTbmFwIiwKICAidXVpZCI6ICJnU25hcEBtaWNhaG9zYm9ybmUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}
+    "45": {"version": "22", "sha256": "1mlw7a4x3j00fsqy0c8z3v0jhb6cjhpr66qksaadv7s5s97c5393", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR25vbWVTbmFwRXh0ZW5zaW9ucy9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDIyCn0="},
+    "46": {"version": "22", "sha256": "1mlw7a4x3j00fsqy0c8z3v0jhb6cjhpr66qksaadv7s5s97c5393", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR25vbWVTbmFwRXh0ZW5zaW9ucy9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDIyCn0="}
   }}
 , {"uuid": "appswitcheronlyoncurrentworkspace@ermesonsampaio.com", "name": "Alt + Tab only on current workspace", "pname": "alt-tab-only-on-current-workspace", "description": "Force alt + tab to switch only in the current workspace.", "link": "https://extensions.gnome.org/extension/4443/alt-tab-only-on-current-workspace/", "shell_version_map": {
     "40": {"version": "3", "sha256": "1jl7gi45gz9fliggkwdg44rdqcirh6qxfkvc639vbw2sgmpbmcvw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmNlIGFsdCArIHRhYiB0byBzd2l0Y2ggb25seSBpbiB0aGUgY3VycmVudCB3b3Jrc3BhY2UuIiwKICAibmFtZSI6ICJBbHQgKyBUYWIgb25seSBvbiBjdXJyZW50IHdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lcm1lc29uc2FtcGFpby9hcHAtc3dpdGNoZXItb25seS1vbi1jdXJyZW50LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiYXBwc3dpdGNoZXJvbmx5b25jdXJyZW50d29ya3NwYWNlQGVybWVzb25zYW1wYWlvLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}
@@ -3957,8 +3967,8 @@
     "42": {"version": "68", "sha256": "19rv67nmhbx58n38srmns34hsbjm7kb47kri7lv17c3ik9h0r3zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZS9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmb3JnZSIsCiAgIm5hbWUiOiAiRm9yZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZm9yZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZSIsCiAgInV1aWQiOiAiZm9yZ2VAam1tYXJhbmFuLmNvbSIsCiAgInZlcnNpb24iOiA2OAp9"},
     "43": {"version": "72", "sha256": "00v2bclgr8fg8x8fz3pbdlwrdm2nfd403qvclk1px22gqf3527xy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZS9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmb3JnZSIsCiAgIm5hbWUiOiAiRm9yZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZm9yZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZSIsCiAgInV1aWQiOiAiZm9yZ2VAam1tYXJhbmFuLmNvbSIsCiAgInZlcnNpb24iOiA3Mgp9"},
     "44": {"version": "72", "sha256": "00v2bclgr8fg8x8fz3pbdlwrdm2nfd403qvclk1px22gqf3527xy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZS9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmb3JnZSIsCiAgIm5hbWUiOiAiRm9yZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZm9yZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZSIsCiAgInV1aWQiOiAiZm9yZ2VAam1tYXJhbmFuLmNvbSIsCiAgInZlcnNpb24iOiA3Mgp9"},
-    "45": {"version": "78", "sha256": "0biz3iw2a030l5ngnsg4w65i0zgmj3djh0ns85q6kz8ic3y2q65h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZS9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmb3JnZSIsCiAgIm5hbWUiOiAiRm9yZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mb3JnZS1leHQvZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNzgKfQ=="},
-    "46": {"version": "78", "sha256": "0biz3iw2a030l5ngnsg4w65i0zgmj3djh0ns85q6kz8ic3y2q65h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZS9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmb3JnZSIsCiAgIm5hbWUiOiAiRm9yZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mb3JnZS1leHQvZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNzgKfQ=="}
+    "45": {"version": "80", "sha256": "0kdbwm0cq4nvmw1mskmj4398a52sk9vkwpc0y05v8fvxyd63mny2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZS9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmb3JnZSIsCiAgIm5hbWUiOiAiRm9yZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mb3JnZS1leHQvZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogODAKfQ=="},
+    "46": {"version": "80", "sha256": "0kdbwm0cq4nvmw1mskmj4398a52sk9vkwpc0y05v8fvxyd63mny2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gaHR0cHM6Ly9naXRodWIuY29tL2ZvcmdlLWV4dC9mb3JnZS9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmb3JnZSIsCiAgIm5hbWUiOiAiRm9yZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVubG9jay1kaWFsb2ciLAogICAgInVzZXIiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mb3JnZS1leHQvZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogODAKfQ=="}
   }}
 , {"uuid": "autonightlight@zefty.github.io", "name": "Auto Night Light", "pname": "auto-night-light", "description": "Automatically adjust night light", "link": "https://extensions.gnome.org/extension/4482/auto-night-light/", "shell_version_map": {
     "38": {"version": "7", "sha256": "0v76v4z82agn1ay8c0mb2jgnzjf1h9kcp13jhvypcigalfq9qp4n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgYWRqdXN0IG5pZ2h0IGxpZ2h0IiwKICAibmFtZSI6ICJBdXRvIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9aZWZ0eS9BdXRvTmlnaHRMaWdodCIsCiAgInV1aWQiOiAiYXV0b25pZ2h0bGlnaHRAemVmdHkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="},
@@ -4203,7 +4213,8 @@
     "42": {"version": "7", "sha256": "16kkw81xll71lyy10dd2sh9r5dziymc0z2g3y9awndkdqvm0mzz6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"},
     "43": {"version": "7", "sha256": "16kkw81xll71lyy10dd2sh9r5dziymc0z2g3y9awndkdqvm0mzz6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"},
     "44": {"version": "7", "sha256": "16kkw81xll71lyy10dd2sh9r5dziymc0z2g3y9awndkdqvm0mzz6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"},
-    "45": {"version": "9", "sha256": "1h72lsnjidq4a2ychv3lh5fbrn44dsx5nxyb71qgbv4k9q3qxs66", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zYWlmdWxia2hhbi9hbHBoYS10aW50IiwKICAidXVpZCI6ICJhbHBoYXRpbnRAc2FpZnVsYmtoYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}
+    "45": {"version": "10", "sha256": "1s2jpl23q4myli4c5cc7f947hycfkmx4l4wapvc6mp3mg4qs85yy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="},
+    "46": {"version": "10", "sha256": "1s2jpl23q4myli4c5cc7f947hycfkmx4l4wapvc6mp3mg4qs85yy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}
   }}
 , {"uuid": "focus-changer@heartmire", "name": "Focus changer", "pname": "focus-changer", "description": "Change focus between windows in all directions.\n\nThe extension will first try to find a suitable window within the same monitor. If there is none, it will try to find one on the next monitor in that direction (in a multi-monitor setup).\n\nDefault shortcuts (can be changed in preferences):\n<Super>+h = Focus left\n<Super>+j = Focus down\n<Super>+k = Focus up\n<Super>+l = Focus right", "link": "https://extensions.gnome.org/extension/4627/focus-changer/", "shell_version_map": {
     "38": {"version": "9", "sha256": "0ngn0bw0f2fpp0vv4hq7gb0vx2xq2gk3nkkb6p393i9qbr42l3y1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiA5Cn0="},
@@ -4245,8 +4256,8 @@
     "42": {"version": "23", "sha256": "02kgp6ihg8gkkhxprxd7m9i186i0l3sy954lp6s3aq23v2ya0yn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAic2NobmVlZ2FucyIsCiAgICAia29maSI6ICJzY2huZWVnYW5zIiwKICAgICJwYXlwYWwiOiAic2ltb25zY2huZWVnYW5zIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="},
     "43": {"version": "23", "sha256": "02kgp6ihg8gkkhxprxd7m9i186i0l3sy954lp6s3aq23v2ya0yn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAic2NobmVlZ2FucyIsCiAgICAia29maSI6ICJzY2huZWVnYW5zIiwKICAgICJwYXlwYWwiOiAic2ltb25zY2huZWVnYW5zIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="},
     "44": {"version": "23", "sha256": "02kgp6ihg8gkkhxprxd7m9i186i0l3sy954lp6s3aq23v2ya0yn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAic2NobmVlZ2FucyIsCiAgICAia29maSI6ICJzY2huZWVnYW5zIiwKICAgICJwYXlwYWwiOiAic2ltb25zY2huZWVnYW5zIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="},
-    "45": {"version": "24", "sha256": "1aixlp25w5ch4g00c2rx6231ba6d385y3h9776s1cx0ykqpm1rzb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAic2NobmVlZ2FucyIsCiAgICAia29maSI6ICJzY2huZWVnYW5zIiwKICAgICJwYXlwYWwiOiAic2ltb25zY2huZWVnYW5zIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9EZXNrdG9wLUN1YmUiLAogICJ1dWlkIjogImRlc2t0b3AtY3ViZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="},
-    "46": {"version": "24", "sha256": "1aixlp25w5ch4g00c2rx6231ba6d385y3h9776s1cx0ykqpm1rzb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAic2NobmVlZ2FucyIsCiAgICAia29maSI6ICJzY2huZWVnYW5zIiwKICAgICJwYXlwYWwiOiAic2ltb25zY2huZWVnYW5zIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9EZXNrdG9wLUN1YmUiLAogICJ1dWlkIjogImRlc2t0b3AtY3ViZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="}
+    "45": {"version": "25", "sha256": "1wiaxyaa8gmd4lpd92cx7rfkln1l97cmj7500sz68xqlax4cylr0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAic2NobmVlZ2FucyIsCiAgICAia29maSI6ICJzY2huZWVnYW5zIiwKICAgICJwYXlwYWwiOiAic2ltb25zY2huZWVnYW5zIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9EZXNrdG9wLUN1YmUiLAogICJ1dWlkIjogImRlc2t0b3AtY3ViZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="},
+    "46": {"version": "25", "sha256": "1wiaxyaa8gmd4lpd92cx7rfkln1l97cmj7500sz68xqlax4cylr0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAic2NobmVlZ2FucyIsCiAgICAia29maSI6ICJzY2huZWVnYW5zIiwKICAgICJwYXlwYWwiOiAic2ltb25zY2huZWVnYW5zIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9EZXNrdG9wLUN1YmUiLAogICJ1dWlkIjogImRlc2t0b3AtY3ViZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}
   }}
 , {"uuid": "notification-banner-reloaded@marcinjakubowski.github.com", "name": "Notification Banner Reloaded", "pname": "notification-banner-reloaded", "description": "Configure notification banner position and animation to your liking.\nVersion 9: Gnome 45 changes by mannjani@github\nVersion 10: mannjani@github added a test button inside prefs", "link": "https://extensions.gnome.org/extension/4651/notification-banner-reloaded/", "shell_version_map": {
     "40": {"version": "8", "sha256": "1g0aa6xclyfbcaa4rccv5cgqmc6jr41yz821wvpa2rww64djl0jb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBub3RpZmljYXRpb24gYmFubmVyIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gdG8geW91ciBsaWtpbmciLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBCYW5uZXIgUmVsb2FkZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90aWZpY2F0aW9uLWJhbm5lci1yZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFyY2luamFrdWJvd3NraS9ub3RpZmljYXRpb24tcG9zaXRpb24tcmVsb2FkZWQiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1iYW5uZXItcmVsb2FkZWRAbWFyY2luamFrdWJvd3NraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="},
@@ -4411,7 +4422,8 @@
     "42": {"version": "41", "sha256": "09pvlskx2z4dh7wnyf934dyfs8vkp6qfyshqi5j03i7nmfxipwkl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gUmVzdG9yZSB0aGUgcHJldmlvdXMgc2Vzc2lvbiBhdCBzdGFydHVwLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IHdoZW4gbmVjZXNzYXJ5LCB0aGlzIHdpbGwgYmUgdXNlZCB0byByZXN0b3JlIHRoZSBwcmV2aW91cyBzZXNzaW9uIGF0IHN0YXJ0dXAuXG4tIENsb3NlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IGJlZm9yZSBMb2cgT3V0LCBSZXN0YXJ0LCBQb3dlciBPZmYuIGRpc2FibGVkIGJ5IGRlZmF1bHQuXG4tIENsb3NlIHJ1bm5pbmcgd2luZG93cyBncmFjZWZ1bGx5XG4tIENsb3NlIGFwcHMgd2l0aCBtdWx0aXBsZSB3aW5kb3dzIGdyYWNlZnVsbHkgdmlhIHlkb3Rvb2wgc28geW91IGRvbid0IGxvc2Ugc2Vzc2lvbnMgb2YgdGhpcyBhcHAgKFNlZSBhbHNvOiBIb3cgdG8gbWFrZSBDbG9zZSBieSBydWxlcyB3b3JrKVxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBtYW51YWxseVxuLSBSZXN0b3JlIGEgc2VsZWN0ZWQgc2Vzc2lvbiBhdCBzdGFydHVwIChTZWUgYWxzbzogIzkpLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBSZXN0b3JlIGEgc2F2ZWQgc2Vzc2lvbiBtYW51YWxseVxuLSBSZXN0b3JlIHdpbmRvdyBzdGF0ZSwgaW5jbHVkaW5nIEFsd2F5cyBvbiBUb3AsIEFsd2F5cyBvbiBWaXNpYmxlIFdvcmtzcGFjZSBhbmQgbWF4aW1pemF0aW9uXG4tIFJlc3RvcmUgd2luZG93IHdvcmtzcGFjZSwgc2l6ZSBhbmQgcG9zaXRpb25cbi0gUmVzdG9yZSAyIGNvbHVtbiB3aW5kb3cgdGlsaW5nXG4tIFN0YXNoIGFsbCBzdXBwb3J0ZWQgd2luZG93IHN0YXRlcyBzbyB0aGF0IHRob3NlIHN0YXRlcyB3aWxsIGJlIHJlc3RvcmVkIGFmdGVyIGdub21lIHNoZWxsIHJlc3RhcnRzIHZpYSBBbHQrRjIgLT4gciBvciBraWxsYWxsIC0zIGdub21lLXNoZWxsLlxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBSZW1vdmUgc2F2ZWQgc2Vzc2lvbiB0byB0cmFzaFxuLSBTZWFyY2ggc2F2ZWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbiBuYW1lIGZ1enppbHlcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSB2aXNpdCBodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyL2Jsb2IvZmVhdHVyZS1jbG9zZS1zYXZlLXNlc3Npb24td2hpbGUtbG9nb3V0L1JFQURNRS5tZC5cblxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgb24gR2l0aHViLiIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="},
     "43": {"version": "41", "sha256": "09pvlskx2z4dh7wnyf934dyfs8vkp6qfyshqi5j03i7nmfxipwkl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gUmVzdG9yZSB0aGUgcHJldmlvdXMgc2Vzc2lvbiBhdCBzdGFydHVwLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IHdoZW4gbmVjZXNzYXJ5LCB0aGlzIHdpbGwgYmUgdXNlZCB0byByZXN0b3JlIHRoZSBwcmV2aW91cyBzZXNzaW9uIGF0IHN0YXJ0dXAuXG4tIENsb3NlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IGJlZm9yZSBMb2cgT3V0LCBSZXN0YXJ0LCBQb3dlciBPZmYuIGRpc2FibGVkIGJ5IGRlZmF1bHQuXG4tIENsb3NlIHJ1bm5pbmcgd2luZG93cyBncmFjZWZ1bGx5XG4tIENsb3NlIGFwcHMgd2l0aCBtdWx0aXBsZSB3aW5kb3dzIGdyYWNlZnVsbHkgdmlhIHlkb3Rvb2wgc28geW91IGRvbid0IGxvc2Ugc2Vzc2lvbnMgb2YgdGhpcyBhcHAgKFNlZSBhbHNvOiBIb3cgdG8gbWFrZSBDbG9zZSBieSBydWxlcyB3b3JrKVxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBtYW51YWxseVxuLSBSZXN0b3JlIGEgc2VsZWN0ZWQgc2Vzc2lvbiBhdCBzdGFydHVwIChTZWUgYWxzbzogIzkpLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBSZXN0b3JlIGEgc2F2ZWQgc2Vzc2lvbiBtYW51YWxseVxuLSBSZXN0b3JlIHdpbmRvdyBzdGF0ZSwgaW5jbHVkaW5nIEFsd2F5cyBvbiBUb3AsIEFsd2F5cyBvbiBWaXNpYmxlIFdvcmtzcGFjZSBhbmQgbWF4aW1pemF0aW9uXG4tIFJlc3RvcmUgd2luZG93IHdvcmtzcGFjZSwgc2l6ZSBhbmQgcG9zaXRpb25cbi0gUmVzdG9yZSAyIGNvbHVtbiB3aW5kb3cgdGlsaW5nXG4tIFN0YXNoIGFsbCBzdXBwb3J0ZWQgd2luZG93IHN0YXRlcyBzbyB0aGF0IHRob3NlIHN0YXRlcyB3aWxsIGJlIHJlc3RvcmVkIGFmdGVyIGdub21lIHNoZWxsIHJlc3RhcnRzIHZpYSBBbHQrRjIgLT4gciBvciBraWxsYWxsIC0zIGdub21lLXNoZWxsLlxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBSZW1vdmUgc2F2ZWQgc2Vzc2lvbiB0byB0cmFzaFxuLSBTZWFyY2ggc2F2ZWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbiBuYW1lIGZ1enppbHlcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSB2aXNpdCBodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyL2Jsb2IvZmVhdHVyZS1jbG9zZS1zYXZlLXNlc3Npb24td2hpbGUtbG9nb3V0L1JFQURNRS5tZC5cblxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgb24gR2l0aHViLiIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="},
     "44": {"version": "41", "sha256": "09pvlskx2z4dh7wnyf934dyfs8vkp6qfyshqi5j03i7nmfxipwkl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gUmVzdG9yZSB0aGUgcHJldmlvdXMgc2Vzc2lvbiBhdCBzdGFydHVwLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IHdoZW4gbmVjZXNzYXJ5LCB0aGlzIHdpbGwgYmUgdXNlZCB0byByZXN0b3JlIHRoZSBwcmV2aW91cyBzZXNzaW9uIGF0IHN0YXJ0dXAuXG4tIENsb3NlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IGJlZm9yZSBMb2cgT3V0LCBSZXN0YXJ0LCBQb3dlciBPZmYuIGRpc2FibGVkIGJ5IGRlZmF1bHQuXG4tIENsb3NlIHJ1bm5pbmcgd2luZG93cyBncmFjZWZ1bGx5XG4tIENsb3NlIGFwcHMgd2l0aCBtdWx0aXBsZSB3aW5kb3dzIGdyYWNlZnVsbHkgdmlhIHlkb3Rvb2wgc28geW91IGRvbid0IGxvc2Ugc2Vzc2lvbnMgb2YgdGhpcyBhcHAgKFNlZSBhbHNvOiBIb3cgdG8gbWFrZSBDbG9zZSBieSBydWxlcyB3b3JrKVxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBtYW51YWxseVxuLSBSZXN0b3JlIGEgc2VsZWN0ZWQgc2Vzc2lvbiBhdCBzdGFydHVwIChTZWUgYWxzbzogIzkpLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBSZXN0b3JlIGEgc2F2ZWQgc2Vzc2lvbiBtYW51YWxseVxuLSBSZXN0b3JlIHdpbmRvdyBzdGF0ZSwgaW5jbHVkaW5nIEFsd2F5cyBvbiBUb3AsIEFsd2F5cyBvbiBWaXNpYmxlIFdvcmtzcGFjZSBhbmQgbWF4aW1pemF0aW9uXG4tIFJlc3RvcmUgd2luZG93IHdvcmtzcGFjZSwgc2l6ZSBhbmQgcG9zaXRpb25cbi0gUmVzdG9yZSAyIGNvbHVtbiB3aW5kb3cgdGlsaW5nXG4tIFN0YXNoIGFsbCBzdXBwb3J0ZWQgd2luZG93IHN0YXRlcyBzbyB0aGF0IHRob3NlIHN0YXRlcyB3aWxsIGJlIHJlc3RvcmVkIGFmdGVyIGdub21lIHNoZWxsIHJlc3RhcnRzIHZpYSBBbHQrRjIgLT4gciBvciBraWxsYWxsIC0zIGdub21lLXNoZWxsLlxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBSZW1vdmUgc2F2ZWQgc2Vzc2lvbiB0byB0cmFzaFxuLSBTZWFyY2ggc2F2ZWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbiBuYW1lIGZ1enppbHlcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSB2aXNpdCBodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyL2Jsb2IvZmVhdHVyZS1jbG9zZS1zYXZlLXNlc3Npb24td2hpbGUtbG9nb3V0L1JFQURNRS5tZC5cblxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgb24gR2l0aHViLiIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="},
-    "45": {"version": "46", "sha256": "1gpww5ysrnm48jhq5wp6qw3fh17n98g7wngygm400iqzv1jr4xf9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gUmVzdG9yZSB0aGUgcHJldmlvdXMgc2Vzc2lvbiBhdCBzdGFydHVwLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IHdoZW4gbmVjZXNzYXJ5LCB0aGlzIHdpbGwgYmUgdXNlZCB0byByZXN0b3JlIHRoZSBwcmV2aW91cyBzZXNzaW9uIGF0IHN0YXJ0dXAuXG4tIENsb3NlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IGJlZm9yZSBMb2cgT3V0LCBSZXN0YXJ0LCBQb3dlciBPZmYuIGRpc2FibGVkIGJ5IGRlZmF1bHQuXG4tIENsb3NlIHJ1bm5pbmcgd2luZG93cyBncmFjZWZ1bGx5XG4tIENsb3NlIGFwcHMgd2l0aCBtdWx0aXBsZSB3aW5kb3dzIGdyYWNlZnVsbHkgdmlhIHlkb3Rvb2wgc28geW91IGRvbid0IGxvc2Ugc2Vzc2lvbnMgb2YgdGhpcyBhcHAgKFNlZSBhbHNvOiBIb3cgdG8gbWFrZSBDbG9zZSBieSBydWxlcyB3b3JrKVxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBtYW51YWxseVxuLSBSZXN0b3JlIGEgc2VsZWN0ZWQgc2Vzc2lvbiBhdCBzdGFydHVwIChTZWUgYWxzbzogIzkpLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBSZXN0b3JlIGEgc2F2ZWQgc2Vzc2lvbiBtYW51YWxseVxuLSBSZXN0b3JlIHdpbmRvdyBzdGF0ZSwgaW5jbHVkaW5nIEFsd2F5cyBvbiBUb3AsIEFsd2F5cyBvbiBWaXNpYmxlIFdvcmtzcGFjZSBhbmQgbWF4aW1pemF0aW9uXG4tIFJlc3RvcmUgd2luZG93IHdvcmtzcGFjZSwgc2l6ZSBhbmQgcG9zaXRpb25cbi0gUmVzdG9yZSAyIGNvbHVtbiB3aW5kb3cgdGlsaW5nXG4tIFN0YXNoIGFsbCBzdXBwb3J0ZWQgd2luZG93IHN0YXRlcyBzbyB0aGF0IHRob3NlIHN0YXRlcyB3aWxsIGJlIHJlc3RvcmVkIGFmdGVyIGdub21lIHNoZWxsIHJlc3RhcnRzIHZpYSBBbHQrRjIgLT4gciBvciBraWxsYWxsIC0zIGdub21lLXNoZWxsLlxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBSZW1vdmUgc2F2ZWQgc2Vzc2lvbiB0byB0cmFzaFxuLSBTZWFyY2ggc2F2ZWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbiBuYW1lIGZ1enppbHlcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSB2aXNpdCBodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyL2Jsb2IvZmVhdHVyZS1jbG9zZS1zYXZlLXNlc3Npb24td2hpbGUtbG9nb3V0L1JFQURNRS5tZC5cblxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgb24gR2l0aHViLiIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciIsCiAgInV1aWQiOiAiYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Ngp9"}
+    "45": {"version": "48", "sha256": "18pci2hhrdsk34hzij2lhs8n6rvzq6w5if8lj8hgcfr8gvlhh0vs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gUmVzdG9yZSB0aGUgcHJldmlvdXMgc2Vzc2lvbiBhdCBzdGFydHVwLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IHdoZW4gbmVjZXNzYXJ5LCB0aGlzIHdpbGwgYmUgdXNlZCB0byByZXN0b3JlIHRoZSBwcmV2aW91cyBzZXNzaW9uIGF0IHN0YXJ0dXAuXG4tIENsb3NlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IGJlZm9yZSBMb2cgT3V0LCBSZXN0YXJ0LCBQb3dlciBPZmYuIGRpc2FibGVkIGJ5IGRlZmF1bHQuXG4tIENsb3NlIHJ1bm5pbmcgd2luZG93cyBncmFjZWZ1bGx5XG4tIENsb3NlIGFwcHMgd2l0aCBtdWx0aXBsZSB3aW5kb3dzIGdyYWNlZnVsbHkgdmlhIHlkb3Rvb2wgc28geW91IGRvbid0IGxvc2Ugc2Vzc2lvbnMgb2YgdGhpcyBhcHAgKFNlZSBhbHNvOiBIb3cgdG8gbWFrZSBDbG9zZSBieSBydWxlcyB3b3JrKVxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBtYW51YWxseVxuLSBSZXN0b3JlIGEgc2VsZWN0ZWQgc2Vzc2lvbiBhdCBzdGFydHVwIChTZWUgYWxzbzogIzkpLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBSZXN0b3JlIGEgc2F2ZWQgc2Vzc2lvbiBtYW51YWxseVxuLSBSZXN0b3JlIHdpbmRvdyBzdGF0ZSwgaW5jbHVkaW5nIEFsd2F5cyBvbiBUb3AsIEFsd2F5cyBvbiBWaXNpYmxlIFdvcmtzcGFjZSBhbmQgbWF4aW1pemF0aW9uXG4tIFJlc3RvcmUgd2luZG93IHdvcmtzcGFjZSwgc2l6ZSBhbmQgcG9zaXRpb25cbi0gUmVzdG9yZSAyIGNvbHVtbiB3aW5kb3cgdGlsaW5nXG4tIFN0YXNoIGFsbCBzdXBwb3J0ZWQgd2luZG93IHN0YXRlcyBzbyB0aGF0IHRob3NlIHN0YXRlcyB3aWxsIGJlIHJlc3RvcmVkIGFmdGVyIGdub21lIHNoZWxsIHJlc3RhcnRzIHZpYSBBbHQrRjIgLT4gciBvciBraWxsYWxsIC0zIGdub21lLXNoZWxsLlxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBSZW1vdmUgc2F2ZWQgc2Vzc2lvbiB0byB0cmFzaFxuLSBTZWFyY2ggc2F2ZWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbiBuYW1lIGZ1enppbHlcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSB2aXNpdCBodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyL2Jsb2IvZmVhdHVyZS1jbG9zZS1zYXZlLXNlc3Npb24td2hpbGUtbG9nb3V0L1JFQURNRS5tZC5cblxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgb24gR2l0aHViLiIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDgKfQ=="},
+    "46": {"version": "48", "sha256": "18pci2hhrdsk34hzij2lhs8n6rvzq6w5if8lj8hgcfr8gvlhh0vs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIG9wZW4gd2luZG93cyBncmFjZWZ1bGx5IGFuZCBzYXZlIHRoZW0gYXMgYSBzZXNzaW9uLiBBbmQgeW91IGNhbiByZXN0b3JlIHRoZW0gd2hlbiBuZWNlc3NhcnkgbWFudWFsbHkgb3IgYXV0b21hdGljYWxseSBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gUmVzdG9yZSB0aGUgcHJldmlvdXMgc2Vzc2lvbiBhdCBzdGFydHVwLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IHdoZW4gbmVjZXNzYXJ5LCB0aGlzIHdpbGwgYmUgdXNlZCB0byByZXN0b3JlIHRoZSBwcmV2aW91cyBzZXNzaW9uIGF0IHN0YXJ0dXAuXG4tIENsb3NlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBhdXRvbWF0aWNhbGx5IGJlZm9yZSBMb2cgT3V0LCBSZXN0YXJ0LCBQb3dlciBPZmYuIGRpc2FibGVkIGJ5IGRlZmF1bHQuXG4tIENsb3NlIHJ1bm5pbmcgd2luZG93cyBncmFjZWZ1bGx5XG4tIENsb3NlIGFwcHMgd2l0aCBtdWx0aXBsZSB3aW5kb3dzIGdyYWNlZnVsbHkgdmlhIHlkb3Rvb2wgc28geW91IGRvbid0IGxvc2Ugc2Vzc2lvbnMgb2YgdGhpcyBhcHAgKFNlZSBhbHNvOiBIb3cgdG8gbWFrZSBDbG9zZSBieSBydWxlcyB3b3JrKVxuLSBTYXZlIHJ1bm5pbmcgYXBwcyBhbmQgd2luZG93cyBtYW51YWxseVxuLSBSZXN0b3JlIGEgc2VsZWN0ZWQgc2Vzc2lvbiBhdCBzdGFydHVwIChTZWUgYWxzbzogIzkpLiBkaXNhYmxlZCBieSBkZWZhdWx0LlxuLSBSZXN0b3JlIGEgc2F2ZWQgc2Vzc2lvbiBtYW51YWxseVxuLSBSZXN0b3JlIHdpbmRvdyBzdGF0ZSwgaW5jbHVkaW5nIEFsd2F5cyBvbiBUb3AsIEFsd2F5cyBvbiBWaXNpYmxlIFdvcmtzcGFjZSBhbmQgbWF4aW1pemF0aW9uXG4tIFJlc3RvcmUgd2luZG93IHdvcmtzcGFjZSwgc2l6ZSBhbmQgcG9zaXRpb25cbi0gUmVzdG9yZSAyIGNvbHVtbiB3aW5kb3cgdGlsaW5nXG4tIFN0YXNoIGFsbCBzdXBwb3J0ZWQgd2luZG93IHN0YXRlcyBzbyB0aGF0IHRob3NlIHN0YXRlcyB3aWxsIGJlIHJlc3RvcmVkIGFmdGVyIGdub21lIHNoZWxsIHJlc3RhcnRzIHZpYSBBbHQrRjIgLT4gciBvciBraWxsYWxsIC0zIGdub21lLXNoZWxsLlxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBSZW1vdmUgc2F2ZWQgc2Vzc2lvbiB0byB0cmFzaFxuLSBTZWFyY2ggc2F2ZWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbiBuYW1lIGZ1enppbHlcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSB2aXNpdCBodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyL2Jsb2IvZmVhdHVyZS1jbG9zZS1zYXZlLXNlc3Npb24td2hpbGUtbG9nb3V0L1JFQURNRS5tZC5cblxuUGxlYXNlIHJlcG9ydCBpc3N1ZXMgb24gR2l0aHViLiIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDgKfQ=="}
   }}
 , {"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": "4", "sha256": "1argllv64lxwr4p85gxzckl5zq9bwp1n07y9acw3zk43b1l3yn9j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJwcmV2ZW50LWRvdWJsZS1lbXB0eS13aW5kb3dAc2lsbGlld291cy5ubCIsCiAgInZlcnNpb24iOiA0Cn0="},
@@ -4482,7 +4494,7 @@
     "43": {"version": "11", "sha256": "19h44pn5afqc89vn5xjrhmd375651zhf2w78cs8fgazp7pc0hsr6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWRpdHMiOiAiKEMpIEZyYW5jaXMgR3JpenpseSBTbWl0XG5cbkR1dGNoIHRyYW5zbGF0aW9uIFZpc3RhdXMgKEhlaW1lbiBTdG9mZmVscykgaHR0cHM6Ly9naXRodWIuY29tL1Zpc3RhdXNcblxuTGljZW5jZSBHUEwgdjIrXG5cbiIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy5cblxuRHV0Y2ggbGFuZ3VhZ2Ugc3VwcG9ydCBhZGRlZCBieSBWaXN0YXVzIChIZWltZW4gU3RvZmZlbHMpIGh0dHBzOi8vZ2l0aHViLmNvbS9WaXN0YXVzXG5cbnlvdSdsbCBuZWVkIHRvIHJlc3RhcnQgZ25vbWUtc2hlbGwgYWZ0ZXIgdXBncmFkZXMgc28gZWl0aGVyIHJlYm9vdCxcbmxvZyBvdXQgYW5kIGJhY2sgaW4gYWdhaW4sIG9yIGlmIHlvdXIgdXNpbmcgWDExIHRoZW4gYWx0K0YyIHRoZW4gcnVuIHIiLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyaXp6bHlzbWl0L2hwbGlwLW1lbnUyLWdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ1dWlkIjogImhwbGlwLW1lbnUyQGdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ2ZXJzaW9uIjogMTEKfQ=="},
     "44": {"version": "11", "sha256": "19h44pn5afqc89vn5xjrhmd375651zhf2w78cs8fgazp7pc0hsr6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWRpdHMiOiAiKEMpIEZyYW5jaXMgR3JpenpseSBTbWl0XG5cbkR1dGNoIHRyYW5zbGF0aW9uIFZpc3RhdXMgKEhlaW1lbiBTdG9mZmVscykgaHR0cHM6Ly9naXRodWIuY29tL1Zpc3RhdXNcblxuTGljZW5jZSBHUEwgdjIrXG5cbiIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy5cblxuRHV0Y2ggbGFuZ3VhZ2Ugc3VwcG9ydCBhZGRlZCBieSBWaXN0YXVzIChIZWltZW4gU3RvZmZlbHMpIGh0dHBzOi8vZ2l0aHViLmNvbS9WaXN0YXVzXG5cbnlvdSdsbCBuZWVkIHRvIHJlc3RhcnQgZ25vbWUtc2hlbGwgYWZ0ZXIgdXBncmFkZXMgc28gZWl0aGVyIHJlYm9vdCxcbmxvZyBvdXQgYW5kIGJhY2sgaW4gYWdhaW4sIG9yIGlmIHlvdXIgdXNpbmcgWDExIHRoZW4gYWx0K0YyIHRoZW4gcnVuIHIiLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyaXp6bHlzbWl0L2hwbGlwLW1lbnUyLWdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ1dWlkIjogImhwbGlwLW1lbnUyQGdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ2ZXJzaW9uIjogMTEKfQ=="},
     "45": {"version": "23", "sha256": "128c5qbm3sirk3slaxqallij1zr13jf9mfc50pr7dlv42bbgh864", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWRpdHMiOiAiKEMpIEZyYW5jaXMgR3JpenpseSBTbWl0XG5cbkR1dGNoIHRyYW5zbGF0aW9uIFZpc3RhdXMgKEhlaW1lbiBTdG9mZmVscykgaHR0cHM6Ly9naXRodWIuY29tL1Zpc3RhdXNcblxuTGljZW5jZSBHUEwgdjIrXG5cbiIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy5cblxuRHV0Y2ggbGFuZ3VhZ2Ugc3VwcG9ydCBhZGRlZCBieSBWaXN0YXVzIChIZWltZW4gU3RvZmZlbHMpIGh0dHBzOi8vZ2l0aHViLmNvbS9WaXN0YXVzXG5cbnlvdSdsbCBuZWVkIHRvIHJlc3RhcnQgZ25vbWUtc2hlbGwgYWZ0ZXIgdXBncmFkZXMgc28gZWl0aGVyIHJlYm9vdCxcbmxvZyBvdXQgYW5kIGJhY2sgaW4gYWdhaW4sIG9yIGlmIHlvdXIgdXNpbmcgWDExIHRoZW4gYWx0K0YyIHRoZW4gcnVuIHIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJocGxpcC1tZW51MiIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwMiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ocGxpcC1tZW51MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3JpenpseXNtaXQvaHBsaXAtbWVudTItZ3JpenpseXNtaXQuc21pdC5pZC5hdSIsCiAgInV1aWQiOiAiaHBsaXAtbWVudTJAZ3JpenpseXNtaXQuc21pdC5pZC5hdSIsCiAgInZlcnNpb24iOiAyMwp9"},
-    "46": {"version": "27", "sha256": "0yfi83bqalsw842h0h6g5cqvg0pvfgc6vk8iffn9xalqzw6wa8kh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWRpdHMiOiAiKEMpIEZyYW5jaXMgR3JpenpseSBTbWl0XG5cbkR1dGNoIHRyYW5zbGF0aW9uIFZpc3RhdXMgKEhlaW1lbiBTdG9mZmVscykgaHR0cHM6Ly9naXRodWIuY29tL1Zpc3RhdXNcblxuTGljZW5jZSBHUEwgdjIrXG5cblRoZSBjb21tcGFjdCBtb2RlIHVzZXMgY29kZSBmcm9tIHRoZSBBcHBzIE1lbnUgYnkgZm11ZWxsbmVyXG5cbiIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5OZXc6IHRoZSBtZW51IHdpbGwgYmUgdG9vIGJpZyBpZiB5b3VyIHJlc29sdXRpb24gaXMgd2F5IHRvbyBsb3cgbGlrZSA4MDB4NjAwIEkgaGF2ZSBpbXBsZW1lbnRlZCBhIGNvbXBhY3Qgb3B0aW9uIGluIHRoZSBzZXR0aW5ncywgaWYgeW91IHVzZSBpdCB0aGUgbWVudSB3aWxsIGJlY29tZSBhIHR3byBjb2xvbW4gY29tcGFjdCBmb3JtYXQgYW5kIHdpbGwgZml0IGV2ZW4gb24gc3VjaCBhIGxvdyByZXNvbHV0aW9uLlxuXG5EdXRjaCBsYW5ndWFnZSBzdXBwb3J0IGFkZGVkIGJ5IFZpc3RhdXMgKEhlaW1lbiBTdG9mZmVscykgaHR0cHM6Ly9naXRodWIuY29tL1Zpc3RhdXNcblxueW91J2xsIG5lZWQgdG8gcmVzdGFydCBnbm9tZS1zaGVsbCBhZnRlciB1cGdyYWRlcyBzbyBlaXRoZXIgcmVib290LFxubG9nIG91dCBhbmQgYmFjayBpbiBhZ2Fpbiwgb3IgaWYgeW91ciB1c2luZyBYMTEgdGhlbiBhbHQrRjIgdGhlbiBydW4gciIsCiAgImdldHRleHQtZG9tYWluIjogImhwbGlwLW1lbnUyIiwKICAibmFtZSI6ICJBbHRlcm5hdGUgTWVudSBmb3IgSHBsaXAyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhwbGlwLW1lbnUyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyaXp6bHlzbWl0L2hwbGlwLW1lbnUyLWdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ1dWlkIjogImhwbGlwLW1lbnUyQGdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}
+    "46": {"version": "33", "sha256": "071bx57yyfg9g999d0lzsii80ksq0ra0mwa4v58sdmpcj1xai241", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWRpdHMiOiAiKEMpIEZyYW5jaXMgR3JpenpseSBTbWl0XG5cbkR1dGNoIHRyYW5zbGF0aW9uIFZpc3RhdXMgKEhlaW1lbiBTdG9mZmVscykgaHR0cHM6Ly9naXRodWIuY29tL1Zpc3RhdXNcblxuTGljZW5jZSBHUEwgdjIrXG5cblRoZSBjb21tcGFjdCBtb2RlIHVzZXMgY29kZSBmcm9tIHRoZSBBcHBzIE1lbnUgYnkgZm11ZWxsbmVyXG5cbiIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5OZXc6IHRoZSBtZW51IHdpbGwgYmUgdG9vIGJpZyBpZiB5b3VyIHJlc29sdXRpb24gaXMgd2F5IHRvbyBsb3cgbGlrZSA4MDB4NjAwIEkgaGF2ZSBpbXBsZW1lbnRlZCBhIGNvbXBhY3Qgb3B0aW9uIGluIHRoZSBzZXR0aW5ncywgaWYgeW91IHVzZSBpdCB0aGUgbWVudSB3aWxsIGJlY29tZSBhIHR3byBjb2xvbW4gY29tcGFjdCBmb3JtYXQgYW5kIHdpbGwgZml0IGV2ZW4gb24gc3VjaCBhIGxvdyByZXNvbHV0aW9uLlxuXG5EdXRjaCBsYW5ndWFnZSBzdXBwb3J0IGFkZGVkIGJ5IFZpc3RhdXMgKEhlaW1lbiBTdG9mZmVscykgaHR0cHM6Ly9naXRodWIuY29tL1Zpc3RhdXNcblxueW91J2xsIG5lZWQgdG8gcmVzdGFydCBnbm9tZS1zaGVsbCBhZnRlciB1cGdyYWRlcyBzbyBlaXRoZXIgcmVib290LFxubG9nIG91dCBhbmQgYmFjayBpbiBhZ2Fpbiwgb3IgaWYgeW91ciB1c2luZyBYMTEgdGhlbiBhbHQrRjIgdGhlbiBydW4gciIsCiAgImdldHRleHQtZG9tYWluIjogImhwbGlwLW1lbnUyIiwKICAibmFtZSI6ICJBbHRlcm5hdGUgTWVudSBmb3IgSHBsaXAyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhwbGlwLW1lbnUyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyaXp6bHlzbWl0L2hwbGlwLW1lbnUyLWdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ1dWlkIjogImhwbGlwLW1lbnUyQGdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}
   }}
 , {"uuid": "dash-from-panel@fthx", "name": "Dash from Panel", "pname": "dash-from-panel", "description": "NOT MAINTAINED ANYMORE\n\nTop dock for GNOME 40+. Hover top panel and GNOME Shell dash appears without overview.\n\n Scroll on dock or panel changes workspace. Preferences UI.\n\n Does use native GNOME Shell Dash. Very light extension.\n\n Please report bugs through GitHub.", "link": "https://extensions.gnome.org/extension/4741/dash-from-panel/", "shell_version_map": {
     "40": {"version": "3", "sha256": "18ikbd1hxlc6rd28dnif2x74g3q9gdkgxc6jpag6qh7c51qd5klz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5PVCBNQUlOVEFJTkVEIEFOWU1PUkVcblxuVG9wIGRvY2sgZm9yIEdOT01FIDQwKy4gSG92ZXIgdG9wIHBhbmVsIGFuZCBHTk9NRSBTaGVsbCBkYXNoIGFwcGVhcnMgd2l0aG91dCBvdmVydmlldy5cblxuIFNjcm9sbCBvbiBkb2NrIG9yIHBhbmVsIGNoYW5nZXMgd29ya3NwYWNlLiBQcmVmZXJlbmNlcyBVSS5cblxuIERvZXMgdXNlIG5hdGl2ZSBHTk9NRSBTaGVsbCBEYXNoLiBWZXJ5IGxpZ2h0IGV4dGVuc2lvbi5cblxuIFBsZWFzZSByZXBvcnQgYnVncyB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRhc2ggZnJvbSBQYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZGFzaC1mcm9tLXBhbmVsIiwKICAidXVpZCI6ICJkYXNoLWZyb20tcGFuZWxAZnRoeCIsCiAgInZlcnNpb24iOiAzCn0="},
@@ -4614,8 +4626,8 @@
     "42": {"version": "13", "sha256": "07l1vgv9zhyh8q2h0gnn69x7h8gfn8x9q34p9lab7w08s4zn2rnb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21hcmNvc2RhbHZhcmV6L3RoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAidmVyc2lvbiI6IDEzCn0="},
     "43": {"version": "34", "sha256": "0ii1pxbnfjjli8jj0fq1g1rlhzpbn1j9088jp0sjrxvdlrmksdzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
     "44": {"version": "34", "sha256": "0ii1pxbnfjjli8jj0fq1g1rlhzpbn1j9088jp0sjrxvdlrmksdzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogMzQKfQ=="},
-    "45": {"version": "44", "sha256": "16dmvzvvhf0yi20bi9a82q3nhmpnzv1qzi8hlk0v76zjn2q4fvs8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogNDQKfQ=="},
-    "46": {"version": "44", "sha256": "16dmvzvvhf0yi20bi9a82q3nhmpnzv1qzi8hlk0v76zjn2q4fvs8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogNDQKfQ=="}
+    "45": {"version": "45", "sha256": "0l7b2g7yn0cngvf0jb5qbxkr04vb7i6bc3x0cwgggamnpcqjkbs0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogNDUKfQ=="},
+    "46": {"version": "45", "sha256": "0l7b2g7yn0cngvf0jb5qbxkr04vb7i6bc3x0cwgggamnpcqjkbs0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogNDUKfQ=="}
   }}
 , {"uuid": "lock-screen-message@advendradeswanta.gitlab.com", "name": "Lock Screen Message", "pname": "lock-screen-message", "description": "Simple extension that let's you add your message to the lock screen (unlockDialog)", "link": "https://extensions.gnome.org/extension/4801/lock-screen-message/", "shell_version_map": {
     "40": {"version": "3", "sha256": "0hkr6gm7kr69fc4zjb8rddwj75jpbpvqz4wpkfl659wjn4980s3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXNzaW9uLW1vZGVzIjogWwogICAgInVzZXIiLAogICAgInVubG9jay1kaWFsb2ciCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BZHZlbmRyYURlc3dhbnRhL2xvY2stc2NyZWVuLW1lc3NhZ2UiLAogICJ1dWlkIjogImxvY2stc2NyZWVuLW1lc3NhZ2VAYWR2ZW5kcmFkZXN3YW50YS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="},
@@ -5022,7 +5034,8 @@
     "42": {"version": "5", "sha256": "0yc5yal54vcmzc2iqr950ays12338h5b2fhzjfyl5bkvm8a08sml", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IZXhjei9TdGFydC1PdmVybGF5LWluLUFwcGxpY2F0aW9uLVZpZXctZm9yLUdub21lLTQwLSIsCiAgInV1aWQiOiAic3RhcnQtb3ZlcmxheS1pbi1hcHBsaWNhdGlvbi12aWV3QEhleF9jeiIsCiAgInZlcnNpb24iOiA1Cn0="},
     "43": {"version": "5", "sha256": "0yc5yal54vcmzc2iqr950ays12338h5b2fhzjfyl5bkvm8a08sml", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IZXhjei9TdGFydC1PdmVybGF5LWluLUFwcGxpY2F0aW9uLVZpZXctZm9yLUdub21lLTQwLSIsCiAgInV1aWQiOiAic3RhcnQtb3ZlcmxheS1pbi1hcHBsaWNhdGlvbi12aWV3QEhleF9jeiIsCiAgInZlcnNpb24iOiA1Cn0="},
     "44": {"version": "5", "sha256": "0yc5yal54vcmzc2iqr950ays12338h5b2fhzjfyl5bkvm8a08sml", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IZXhjei9TdGFydC1PdmVybGF5LWluLUFwcGxpY2F0aW9uLVZpZXctZm9yLUdub21lLTQwLSIsCiAgInV1aWQiOiAic3RhcnQtb3ZlcmxheS1pbi1hcHBsaWNhdGlvbi12aWV3QEhleF9jeiIsCiAgInZlcnNpb24iOiA1Cn0="},
-    "45": {"version": "6", "sha256": "1xcb1j8gk3bq8ib5jy6xlfzncvrjfj8k2vf5hcrb7k1djb2sna4h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0hleGN6L1N0YXJ0LU92ZXJsYXktaW4tQXBwbGljYXRpb24tVmlldy1mb3ItR25vbWUtNDAtIiwKICAidXVpZCI6ICJzdGFydC1vdmVybGF5LWluLWFwcGxpY2F0aW9uLXZpZXdASGV4X2N6IiwKICAidmVyc2lvbiI6IDYKfQ=="}
+    "45": {"version": "7", "sha256": "0w9fmlsnkbyhfff6ac4jn2fvqh8m1kaamasligcmghhcm9p39wd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IZXhjei9TdGFydC1PdmVybGF5LWluLUFwcGxpY2F0aW9uLVZpZXctZm9yLUdub21lLTQwLSIsCiAgInV1aWQiOiAic3RhcnQtb3ZlcmxheS1pbi1hcHBsaWNhdGlvbi12aWV3QEhleF9jeiIsCiAgInZlcnNpb24iOiA3Cn0="},
+    "46": {"version": "7", "sha256": "0w9fmlsnkbyhfff6ac4jn2fvqh8m1kaamasligcmghhcm9p39wd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IZXhjei9TdGFydC1PdmVybGF5LWluLUFwcGxpY2F0aW9uLVZpZXctZm9yLUdub21lLTQwLSIsCiAgInV1aWQiOiAic3RhcnQtb3ZlcmxheS1pbi1hcHBsaWNhdGlvbi12aWV3QEhleF9jeiIsCiAgInZlcnNpb24iOiA3Cn0="}
   }}
 , {"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": "6", "sha256": "0s5wgccri95gsv6alvd7cd2hsprmdap3sfpcaxa3s3apl0c0p9xf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBleHRlbnNpb24gdG8gZGlzcGxheSB0aGUgZ3JlZWsgbmFtZWRheXMiLAogICJuYW1lIjogIkVvcnRvbG9naW8iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuY2hyaXMvZW9ydG9sb2dpby1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImVvcnRvbG9naW9AZGFuY2hyaXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="},
@@ -5106,7 +5119,7 @@
     "43": {"version": "22", "sha256": "16bsn3mpd66p3p7yz56zr0ghglj8y8cmlrvn8q8fdvvrj2srkjvf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHRoZSAnQWN0aXZpdGllcycgYnV0dG9uIHdpdGggYW4gaTMtbGlrZSB3b3Jrc3BhY2VzIGJhci5cblxuT3JpZ2luYWxseSBhIGZvcmsgb2YgdGhlIGV4dGVuc2lvbiBXb3Jrc3BhY2VzIEJhciBieSBmdGh4LCB0aGlzIGV4dGVuc2lvbiBncmV3IGludG8gYSBtb3JlIGNvbXByZWhlbnNpdmUgc2V0IG9mIGZlYXR1cmVzIHRvIHN1cHBvcnQgYSB3b3Jrc3BhY2UtYmFzZWQgd29ya2Zsb3cuXG5cbkZlYXR1cmVzOlxuLSAgIEZpcnN0IGNsYXNzIHN1cHBvcnQgZm9yIHN0YXRpYyBhbmQgZHluYW1pYyB3b3Jrc3BhY2VzIGFzIHdlbGwgYXMgbXVsdGktbW9uaXRvciBzZXR1cHNcbi0gICBBZGQsIHJlbW92ZSwgYW5kIHJlbmFtZSB3b3Jrc3BhY2VzXG4tICAgUmVhcnJhbmdlIHdvcmtzcGFjZXMgdmlhIGRyYWcgYW5kIGRyb3Bcbi0gICBBdXRvbWF0aWNhbGx5IGFzc2lnbiB3b3Jrc3BhY2UgbmFtZXMgYmFzZWQgb24gc3RhcnRlZCBhcHBsaWNhdGlvbnNcbi0gICBLZXlib2FyZCBzaG9ydGN1dHMgZXh0ZW5kIGFuZCByZWZpbmUgc3lzdGVtIHNob3J0Y3V0c1xuLSAgIFNjcm9sbCB0aHJvdWdoIHdvcmtzcGFjZXMgYnkgbW91c2Ugd2hlZWwgb3ZlciB0aGUgcGFuZWxcbi0gICBDdXN0b21pemUgdGhlIGFwcGVhcmFuY2UiLAogICJuYW1lIjogIlNwYWNlIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcGFjZS1iYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RvcGhlci1sL3NwYWNlLWJhciIsCiAgInV1aWQiOiAic3BhY2UtYmFyQGx1Y2hyaW9oIiwKICAidmVyc2lvbiI6IDIyCn0="},
     "44": {"version": "22", "sha256": "16bsn3mpd66p3p7yz56zr0ghglj8y8cmlrvn8q8fdvvrj2srkjvf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHRoZSAnQWN0aXZpdGllcycgYnV0dG9uIHdpdGggYW4gaTMtbGlrZSB3b3Jrc3BhY2VzIGJhci5cblxuT3JpZ2luYWxseSBhIGZvcmsgb2YgdGhlIGV4dGVuc2lvbiBXb3Jrc3BhY2VzIEJhciBieSBmdGh4LCB0aGlzIGV4dGVuc2lvbiBncmV3IGludG8gYSBtb3JlIGNvbXByZWhlbnNpdmUgc2V0IG9mIGZlYXR1cmVzIHRvIHN1cHBvcnQgYSB3b3Jrc3BhY2UtYmFzZWQgd29ya2Zsb3cuXG5cbkZlYXR1cmVzOlxuLSAgIEZpcnN0IGNsYXNzIHN1cHBvcnQgZm9yIHN0YXRpYyBhbmQgZHluYW1pYyB3b3Jrc3BhY2VzIGFzIHdlbGwgYXMgbXVsdGktbW9uaXRvciBzZXR1cHNcbi0gICBBZGQsIHJlbW92ZSwgYW5kIHJlbmFtZSB3b3Jrc3BhY2VzXG4tICAgUmVhcnJhbmdlIHdvcmtzcGFjZXMgdmlhIGRyYWcgYW5kIGRyb3Bcbi0gICBBdXRvbWF0aWNhbGx5IGFzc2lnbiB3b3Jrc3BhY2UgbmFtZXMgYmFzZWQgb24gc3RhcnRlZCBhcHBsaWNhdGlvbnNcbi0gICBLZXlib2FyZCBzaG9ydGN1dHMgZXh0ZW5kIGFuZCByZWZpbmUgc3lzdGVtIHNob3J0Y3V0c1xuLSAgIFNjcm9sbCB0aHJvdWdoIHdvcmtzcGFjZXMgYnkgbW91c2Ugd2hlZWwgb3ZlciB0aGUgcGFuZWxcbi0gICBDdXN0b21pemUgdGhlIGFwcGVhcmFuY2UiLAogICJuYW1lIjogIlNwYWNlIEJhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcGFjZS1iYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RvcGhlci1sL3NwYWNlLWJhciIsCiAgInV1aWQiOiAic3BhY2UtYmFyQGx1Y2hyaW9oIiwKICAidmVyc2lvbiI6IDIyCn0="},
     "45": {"version": "24", "sha256": "1xmcp6292vadgwn90j4c21gid8vzq1s5h1lvspr4a78b2bb73q93", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHRoZSB0b3AtcGFuZWwgd29ya3NwYWNlIGluZGljYXRvciB3aXRoIGFuIGkzLWxpa2Ugd29ya3NwYWNlcyBiYXIuXG5cbk9yaWdpbmFsbHkgYSBmb3JrIG9mIHRoZSBleHRlbnNpb24gV29ya3NwYWNlcyBCYXIgYnkgZnRoeCwgdGhpcyBleHRlbnNpb24gZ3JldyBpbnRvIGEgbW9yZSBjb21wcmVoZW5zaXZlIHNldCBvZiBmZWF0dXJlcyB0byBzdXBwb3J0IGEgd29ya3NwYWNlLWJhc2VkIHdvcmtmbG93LlxuXG5GZWF0dXJlczpcbi0gICBGaXJzdCBjbGFzcyBzdXBwb3J0IGZvciBzdGF0aWMgYW5kIGR5bmFtaWMgd29ya3NwYWNlcyBhcyB3ZWxsIGFzIG11bHRpLW1vbml0b3Igc2V0dXBzXG4tICAgQWRkLCByZW1vdmUsIGFuZCByZW5hbWUgd29ya3NwYWNlc1xuLSAgIFJlYXJyYW5nZSB3b3Jrc3BhY2VzIHZpYSBkcmFnIGFuZCBkcm9wXG4tICAgQXV0b21hdGljYWxseSBhc3NpZ24gd29ya3NwYWNlIG5hbWVzIGJhc2VkIG9uIHN0YXJ0ZWQgYXBwbGljYXRpb25zXG4tICAgS2V5Ym9hcmQgc2hvcnRjdXRzIGV4dGVuZCBhbmQgcmVmaW5lIHN5c3RlbSBzaG9ydGN1dHNcbi0gICBTY3JvbGwgdGhyb3VnaCB3b3Jrc3BhY2VzIGJ5IG1vdXNlIHdoZWVsIG92ZXIgdGhlIHBhbmVsXG4tICAgQ3VzdG9taXplIHRoZSBhcHBlYXJhbmNlIiwKICAibmFtZSI6ICJTcGFjZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3BhY2UtYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdG9waGVyLWwvc3BhY2UtYmFyIiwKICAidXVpZCI6ICJzcGFjZS1iYXJAbHVjaHJpb2giLAogICJ2ZXJzaW9uIjogMjQKfQ=="},
-    "46": {"version": "26", "sha256": "0y7k7n0wdhpwsydv2zas6naw4nn0x8day4d553blqa7xd8yz5jlw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHRoZSB0b3AtcGFuZWwgd29ya3NwYWNlIGluZGljYXRvciB3aXRoIGFuIGkzLWxpa2Ugd29ya3NwYWNlcyBiYXIuXG5cbk9yaWdpbmFsbHkgYSBmb3JrIG9mIHRoZSBleHRlbnNpb24gV29ya3NwYWNlcyBCYXIgYnkgZnRoeCwgdGhpcyBleHRlbnNpb24gZ3JldyBpbnRvIGEgbW9yZSBjb21wcmVoZW5zaXZlIHNldCBvZiBmZWF0dXJlcyB0byBzdXBwb3J0IGEgd29ya3NwYWNlLWJhc2VkIHdvcmtmbG93LlxuXG5GZWF0dXJlczpcbi0gICBGaXJzdCBjbGFzcyBzdXBwb3J0IGZvciBzdGF0aWMgYW5kIGR5bmFtaWMgd29ya3NwYWNlcyBhcyB3ZWxsIGFzIG11bHRpLW1vbml0b3Igc2V0dXBzXG4tICAgQWRkLCByZW1vdmUsIGFuZCByZW5hbWUgd29ya3NwYWNlc1xuLSAgIFJlYXJyYW5nZSB3b3Jrc3BhY2VzIHZpYSBkcmFnIGFuZCBkcm9wXG4tICAgQXV0b21hdGljYWxseSBhc3NpZ24gd29ya3NwYWNlIG5hbWVzIGJhc2VkIG9uIHN0YXJ0ZWQgYXBwbGljYXRpb25zXG4tICAgS2V5Ym9hcmQgc2hvcnRjdXRzIGV4dGVuZCBhbmQgcmVmaW5lIHN5c3RlbSBzaG9ydGN1dHNcbi0gICBTY3JvbGwgdGhyb3VnaCB3b3Jrc3BhY2VzIGJ5IG1vdXNlIHdoZWVsIG92ZXIgdGhlIHBhbmVsXG4tICAgQ3VzdG9taXplIHRoZSBhcHBlYXJhbmNlIiwKICAibmFtZSI6ICJTcGFjZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3BhY2UtYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdG9waGVyLWwvc3BhY2UtYmFyIiwKICAidXVpZCI6ICJzcGFjZS1iYXJAbHVjaHJpb2giLAogICJ2ZXJzaW9uIjogMjYKfQ=="}
+    "46": {"version": "27", "sha256": "1x294z9zfmi6hr2zqw94bhpih4qilr368xjvjq5x2lhkimvmxk17", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHRoZSB0b3AtcGFuZWwgd29ya3NwYWNlIGluZGljYXRvciB3aXRoIGFuIGkzLWxpa2Ugd29ya3NwYWNlcyBiYXIuXG5cbk9yaWdpbmFsbHkgYSBmb3JrIG9mIHRoZSBleHRlbnNpb24gV29ya3NwYWNlcyBCYXIgYnkgZnRoeCwgdGhpcyBleHRlbnNpb24gZ3JldyBpbnRvIGEgbW9yZSBjb21wcmVoZW5zaXZlIHNldCBvZiBmZWF0dXJlcyB0byBzdXBwb3J0IGEgd29ya3NwYWNlLWJhc2VkIHdvcmtmbG93LlxuXG5GZWF0dXJlczpcbi0gICBGaXJzdCBjbGFzcyBzdXBwb3J0IGZvciBzdGF0aWMgYW5kIGR5bmFtaWMgd29ya3NwYWNlcyBhcyB3ZWxsIGFzIG11bHRpLW1vbml0b3Igc2V0dXBzXG4tICAgQWRkLCByZW1vdmUsIGFuZCByZW5hbWUgd29ya3NwYWNlc1xuLSAgIFJlYXJyYW5nZSB3b3Jrc3BhY2VzIHZpYSBkcmFnIGFuZCBkcm9wXG4tICAgQXV0b21hdGljYWxseSBhc3NpZ24gd29ya3NwYWNlIG5hbWVzIGJhc2VkIG9uIHN0YXJ0ZWQgYXBwbGljYXRpb25zXG4tICAgS2V5Ym9hcmQgc2hvcnRjdXRzIGV4dGVuZCBhbmQgcmVmaW5lIHN5c3RlbSBzaG9ydGN1dHNcbi0gICBTY3JvbGwgdGhyb3VnaCB3b3Jrc3BhY2VzIGJ5IG1vdXNlIHdoZWVsIG92ZXIgdGhlIHBhbmVsXG4tICAgQ3VzdG9taXplIHRoZSBhcHBlYXJhbmNlIiwKICAibmFtZSI6ICJTcGFjZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3BhY2UtYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdG9waGVyLWwvc3BhY2UtYmFyIiwKICAidXVpZCI6ICJzcGFjZS1iYXJAbHVjaHJpb2giLAogICJ2ZXJzaW9uIjogMjcKfQ=="}
   }}
 , {"uuid": "gnome-shellext-hide-lock@adyrosebrigg", "name": "Hide Lock item in System Menu", "pname": "hide-lock-item-in-system-menu", "description": "Hides the \"Lock\" option from the system menu dropdown in the top right.", "link": "https://extensions.gnome.org/extension/5091/hide-lock-item-in-system-menu/", "shell_version_map": {
     "42": {"version": "2", "sha256": "0ab3yc5z9yhvp21145cfgh88sby4x464argy12c80anyhf55zm79", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBcIkxvY2tcIiBvcHRpb24gZnJvbSB0aGUgc3lzdGVtIG1lbnUgZHJvcGRvd24gaW4gdGhlIHRvcCByaWdodC4iLAogICJuYW1lIjogIkhpZGUgTG9jayBpdGVtIGluIFN5c3RlbSBNZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FkeXJvc2VicmlnZy9nbm9tZS1zaGVsbGV4dC1oaWRlLWxvY2siLAogICJ1dWlkIjogImdub21lLXNoZWxsZXh0LWhpZGUtbG9ja0BhZHlyb3NlYnJpZ2ciLAogICJ2ZXJzaW9uIjogMgp9"}
@@ -5227,14 +5240,14 @@
     "45": {"version": "19", "sha256": "0j7w5bscinqzjldjf056ckfxsadzicz0mj4y0zwniisjixp2c7zj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVQb3dlciBCYXR0ZXJ5IEluZGljYXRvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cG93ZXJfYmF0dGVyeV9pbmRpY2F0b3IiLAogICJuYW1lIjogIlVQb3dlciBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jb2RpbGlhL3Vwb3dlci1iYXR0ZXJ5IiwKICAidXVpZCI6ICJ1cG93ZXItYmF0dGVyeUBjb2RpbGlhLmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"},
     "46": {"version": "19", "sha256": "0j7w5bscinqzjldjf056ckfxsadzicz0mj4y0zwniisjixp2c7zj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVQb3dlciBCYXR0ZXJ5IEluZGljYXRvci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cG93ZXJfYmF0dGVyeV9pbmRpY2F0b3IiLAogICJuYW1lIjogIlVQb3dlciBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jb2RpbGlhL3Vwb3dlci1iYXR0ZXJ5IiwKICAidXVpZCI6ICJ1cG93ZXItYmF0dGVyeUBjb2RpbGlhLmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"}
   }}
-, {"uuid": "vertical-workspaces@G-dH.github.com", "name": "V-Shell (Vertical Workspaces)", "pname": "vertical-workspaces", "description": "Customize your GNOME Shell UX to fit your workflow, whether you like horizontally or vertically stacked workspaces.\n\nDear users, the reliability and stability of this extension is my priority, however, V-Shell is an extension to the default GNOME Shell and cannot be compatible with all available extensions. If you encounter any problem, first check for conflicts with other extensions and then open an issue on the Github page linked below.\n\nV-Shell includes many workarounds to survive conflicts and work with Dash to Dock / Ubuntu Dock extensions and other popular extensions, but issues may occur. The patched Dash to Dock for V-Shell is already available in my GitHub repository.\n\nAny feedback is greatly appreciated!\n\nV-Shell features:\n- vertical or horizontal orientation of workspaces\n- customize the overview layout, dimensions and contents\n- alternative overview modes with static workspace preview that reduces unnecessary movement on the screen\n- 4 predefined and fully customizable profiles with different layout and behavior\n- wallpaper background with adjustable brightness and blur effect in the overview\n- dash icon size, content, icon click and scroll behavior\n- app grid dimensions (columns, rows), icon size, contents and behavior\n- active icons in the folder preview\n- close workspace button on workspace thumbnail\n- main panel position and visibility\n- hot corner/edge position and behavior\n- notifications, OSD and workspace switcher popup position\n- custom window attention handler behavior\n- improved app search provider with custom icon size\n- static background in the workspace switcher animation outside of the overview\n- independent workspace switching for each monitor (workaround)\n- workspace switcher popup appears even when switching workspace with a gesture\n- workspace isolated Dash\n- fixes (works around) several upstream bugs (known and reported)\n- modular structure of the V-Shell allows you to disable modules that you don't need or conflict with other extension that you like better for the task", "link": "https://extensions.gnome.org/extension/5177/vertical-workspaces/", "shell_version_map": {
+, {"uuid": "vertical-workspaces@G-dH.github.com", "name": "V-Shell (Vertical Workspaces)", "pname": "vertical-workspaces", "description": "Customize your GNOME Shell UX to fit your workflow, whether you like horizontally or vertically stacked workspaces.\n\nDear users, the reliability and stability of this extension is my priority, however, V-Shell is an extension to the default GNOME Shell and cannot be compatible with all available extensions. If you encounter any problem, first check for conflicts with other extensions and then open an issue on the Github page linked below.\n\nV-Shell includes many workarounds to survive conflicts and work with Dash to Dock / Ubuntu Dock extensions and other popular extensions, but issues may occur.\n\nAny feedback is greatly appreciated!\n\nV-Shell features:\n- vertical or horizontal orientation of workspaces\n- customize the overview layout, dimensions and contents\n- alternative overview modes with static workspace preview that reduces unnecessary movement on the screen\n- 4 predefined, fully customizable profiles with different layout and behavior\n- wallpaper background with adjustable brightness and blur effect in the overview\n- dash icon size, content, icon click and scroll behavior\n- app grid dimensions (columns, rows), icon size, contents and behavior\n- active icons in the folder preview\n- close workspace button on workspace thumbnail\n- main panel position and visibility\n- hot corner/edge position and behavior\n- notifications, OSD and workspace switcher popup position\n- custom window attention handler behavior\n- improved app search provider with custom icon size\n- static background in the workspace switcher animation outside of the overview\n- independent workspace switching for each monitor (workaround)\n- workspace switcher popup appears even when switching workspace with a gesture\n- workspace isolated Dash\n- fixes (works around) several upstream bugs (known and reported)\n- modular structure of the V-Shell allows you to disable modules that you don't need or conflict with other extension that you like better for the task", "link": "https://extensions.gnome.org/extension/5177/vertical-workspaces/", "shell_version_map": {
     "40": {"version": "23", "sha256": "0dp7qbbcs46w1lc2v46cvhfx7r8h1jrp95mhd8wip8c7npmnr66q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuXG5cbkRlYXIgdXNlcnMsIHRoZSByZWxpYWJpbGl0eSBhbmQgc3RhYmlsaXR5IG9mIHRoaXMgZXh0ZW5zaW9uIGlzIG15IHByaW9yaXR5LCBpZiB5b3UgZW5jb3VudGVyIGFueSBwcm9ibGVtLCBmaXJzdCBjaGVjayBmb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9ucyBhbmQgdGhlbiBvcGVuIGFuIGlzc3VlIG9uIHRoZSBHaXRodWIgcGFnZSBsaW5rZWQgYmVsb3cuXG5cblYtU2hlbGwgaW5jbHVkZXMgbWFueSB3b3JrYXJvdW5kcyB0byBzdXJ2aXZlIGNvbmZsaWN0cyBhbmQgd29yayB3aXRoIERhc2ggdG8gRG9jayAvIFVidW50dSBEb2NrIGV4dGVuc2lvbnMsIGJ1dCBpc3N1ZXMgbWF5IG9jY3VyLiBJbiBhbnkgY2FzZSwgVi1TaGVsbCB3b3JrcyBiZXR0ZXIgd2l0aG91dCBEYXNoIHRvIERvY2suXG5cbkFueSBmZWVkYmFjayBpcyBncmVhdGx5IGFwcHJlY2lhdGVkLCBidXQgZG9uJ3QgZm9yZ2V0IC0gaWYgeW91IHdhbnQgbWUgdG8gd29yayBmb3IgeW91LCBiZSBuaWNlIDspXG5cblYtU2hlbGwgZmVhdHVyZXM6XG4tIHZlcnRpY2FsIG9yIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlc1xuLSBjdXN0b21pemUgdGhlIG92ZXJ2aWV3IGxheW91dCwgZGltZW5zaW9ucyBhbmQgY29udGVudHNcbi0gYWx0ZXJuYXRpdmUgb3ZlcnZpZXcgbW9kZXMgd2l0aCBzdGF0aWMgd29ya3NwYWNlIHByZXZpZXcgdGhhdCByZWR1Y2VzIHVubmVjZXNzYXJ5IG1vdmVtZW50IG9uIHRoZSBzY3JlZW5cbi0gd2FsbHBhcGVyIGJhY2tncm91bmQgd2l0aCBhZGp1c3RhYmxlIGJsdXIgZWZmZWN0IGluIHRoZSBvdmVydmlld1xuLSBkYXNoIGljb24gc2l6ZSwgY29udGVudCwgaWNvbiBjbGljayBhbmQgc2Nyb2xsIGJlaGF2aW9yXG4tIGFwcCBncmlkIGRpbWVuc2lvbnMsIGljb25zIHNpemUsIGNvbnRlbnRzIGFuZCBiZWhhdmlvclxuLSBhY3RpdmUgaWNvbnMgaW4gdGhlIGZvbGRlciBwcmV2aWV3XG4tIGNsb3NlIHdvcmtzcGFjZSBidXR0b24gb24gd29ya3NwYWNlIHRodW1ibmFpbFxuLSBtYWluIHBhbmVsIHBvc2l0aW9uIGFuZCB2aXNpYmlsaXR5XG4tIGhvdCBjb3JuZXIvZWRnZSBwb3NpdGlvbiBhbmQgYmVoYXZpb3Jcbi0gbm90aWZpY2F0aW9ucywgT1NEIGFuZCB3b3Jrc3BhY2Ugc3dpdGNoZXIgcG9wdXAgcG9zaXRpb25cbi0gY3VzdG9tIHdpbmRvdyBhdHRlbnRpb24gaGFuZGxlciBiZWhhdmlvclxuLSBpbXByb3ZlZCBhcHAgc2VhcmNoIHByb3ZpZGVyIHdpdGggY3VzdG9tIGljb24gc2l6ZVxuLSB3aW5kb3cgc2VhcmNoIHByb3ZpZGVyIGZvciBxdWljayBuYXZpZ2F0aW9uIGJldHdlZW4gd2luZG93c1xuLSByZWNlbnQgZmlsZXMgc2VhcmNoIHByb3ZpZGVyXG4tIHN0YXRpYyBiYWNrZ3JvdW5kIGluIHRoZSB3b3Jrc3BhY2Ugc3dpdGNoZXIgYW5pbWF0aW9uIG91dHNpZGUgb2YgdGhlIG92ZXJ2aWV3XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJzIGV2ZW4gd2hlbiBzd2l0Y2hpbmcgd29ya3NwYWNlIHdpdGggYSBnZXN0dXJlXG4tIDQgcHJlZGVmaW5lZCBwcm9maWxlcyB3aXRoIGRpZmZlcmVudCBsYXlvdXQgYW5kIGJlaGF2aW9yIHRoYXQgY2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHlvdXIgc2V0dGluZ3Ncbi0gZml4ZXMgKHdvcmtzIGFyb3VuZCkgc2V2ZXJhbCB1cHN0cmVhbSBidWdzIChrbm93biBhbmQgcmVwb3J0ZWQpXG4tIG1vZHVsYXIgc3RydWN0dXJlIG9mIHRoZSBWLVNoZWxsIGFsbG93cyB5b3UgdG8gZGlzYWJsZSBtb2R1bGVzIHRoYXQgeW91IGRvbid0IG5lZWQgb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9uIHRoYXQgeW91IGxpa2UgYmV0dGVyIGZvciB0aGUgdGFzayIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"},
     "41": {"version": "23", "sha256": "0dp7qbbcs46w1lc2v46cvhfx7r8h1jrp95mhd8wip8c7npmnr66q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuXG5cbkRlYXIgdXNlcnMsIHRoZSByZWxpYWJpbGl0eSBhbmQgc3RhYmlsaXR5IG9mIHRoaXMgZXh0ZW5zaW9uIGlzIG15IHByaW9yaXR5LCBpZiB5b3UgZW5jb3VudGVyIGFueSBwcm9ibGVtLCBmaXJzdCBjaGVjayBmb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9ucyBhbmQgdGhlbiBvcGVuIGFuIGlzc3VlIG9uIHRoZSBHaXRodWIgcGFnZSBsaW5rZWQgYmVsb3cuXG5cblYtU2hlbGwgaW5jbHVkZXMgbWFueSB3b3JrYXJvdW5kcyB0byBzdXJ2aXZlIGNvbmZsaWN0cyBhbmQgd29yayB3aXRoIERhc2ggdG8gRG9jayAvIFVidW50dSBEb2NrIGV4dGVuc2lvbnMsIGJ1dCBpc3N1ZXMgbWF5IG9jY3VyLiBJbiBhbnkgY2FzZSwgVi1TaGVsbCB3b3JrcyBiZXR0ZXIgd2l0aG91dCBEYXNoIHRvIERvY2suXG5cbkFueSBmZWVkYmFjayBpcyBncmVhdGx5IGFwcHJlY2lhdGVkLCBidXQgZG9uJ3QgZm9yZ2V0IC0gaWYgeW91IHdhbnQgbWUgdG8gd29yayBmb3IgeW91LCBiZSBuaWNlIDspXG5cblYtU2hlbGwgZmVhdHVyZXM6XG4tIHZlcnRpY2FsIG9yIGhvcml6b250YWwgb3JpZW50YXRpb24gb2Ygd29ya3NwYWNlc1xuLSBjdXN0b21pemUgdGhlIG92ZXJ2aWV3IGxheW91dCwgZGltZW5zaW9ucyBhbmQgY29udGVudHNcbi0gYWx0ZXJuYXRpdmUgb3ZlcnZpZXcgbW9kZXMgd2l0aCBzdGF0aWMgd29ya3NwYWNlIHByZXZpZXcgdGhhdCByZWR1Y2VzIHVubmVjZXNzYXJ5IG1vdmVtZW50IG9uIHRoZSBzY3JlZW5cbi0gd2FsbHBhcGVyIGJhY2tncm91bmQgd2l0aCBhZGp1c3RhYmxlIGJsdXIgZWZmZWN0IGluIHRoZSBvdmVydmlld1xuLSBkYXNoIGljb24gc2l6ZSwgY29udGVudCwgaWNvbiBjbGljayBhbmQgc2Nyb2xsIGJlaGF2aW9yXG4tIGFwcCBncmlkIGRpbWVuc2lvbnMsIGljb25zIHNpemUsIGNvbnRlbnRzIGFuZCBiZWhhdmlvclxuLSBhY3RpdmUgaWNvbnMgaW4gdGhlIGZvbGRlciBwcmV2aWV3XG4tIGNsb3NlIHdvcmtzcGFjZSBidXR0b24gb24gd29ya3NwYWNlIHRodW1ibmFpbFxuLSBtYWluIHBhbmVsIHBvc2l0aW9uIGFuZCB2aXNpYmlsaXR5XG4tIGhvdCBjb3JuZXIvZWRnZSBwb3NpdGlvbiBhbmQgYmVoYXZpb3Jcbi0gbm90aWZpY2F0aW9ucywgT1NEIGFuZCB3b3Jrc3BhY2Ugc3dpdGNoZXIgcG9wdXAgcG9zaXRpb25cbi0gY3VzdG9tIHdpbmRvdyBhdHRlbnRpb24gaGFuZGxlciBiZWhhdmlvclxuLSBpbXByb3ZlZCBhcHAgc2VhcmNoIHByb3ZpZGVyIHdpdGggY3VzdG9tIGljb24gc2l6ZVxuLSB3aW5kb3cgc2VhcmNoIHByb3ZpZGVyIGZvciBxdWljayBuYXZpZ2F0aW9uIGJldHdlZW4gd2luZG93c1xuLSByZWNlbnQgZmlsZXMgc2VhcmNoIHByb3ZpZGVyXG4tIHN0YXRpYyBiYWNrZ3JvdW5kIGluIHRoZSB3b3Jrc3BhY2Ugc3dpdGNoZXIgYW5pbWF0aW9uIG91dHNpZGUgb2YgdGhlIG92ZXJ2aWV3XG4tIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBhcHBlYXJzIGV2ZW4gd2hlbiBzd2l0Y2hpbmcgd29ya3NwYWNlIHdpdGggYSBnZXN0dXJlXG4tIDQgcHJlZGVmaW5lZCBwcm9maWxlcyB3aXRoIGRpZmZlcmVudCBsYXlvdXQgYW5kIGJlaGF2aW9yIHRoYXQgY2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHlvdXIgc2V0dGluZ3Ncbi0gZml4ZXMgKHdvcmtzIGFyb3VuZCkgc2V2ZXJhbCB1cHN0cmVhbSBidWdzIChrbm93biBhbmQgcmVwb3J0ZWQpXG4tIG1vZHVsYXIgc3RydWN0dXJlIG9mIHRoZSBWLVNoZWxsIGFsbG93cyB5b3UgdG8gZGlzYWJsZSBtb2R1bGVzIHRoYXQgeW91IGRvbid0IG5lZWQgb3IgY29uZmxpY3RzIHdpdGggb3RoZXIgZXh0ZW5zaW9uIHRoYXQgeW91IGxpa2UgYmV0dGVyIGZvciB0aGUgdGFzayIsCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"},
-    "42": {"version": "61", "sha256": "1a4ahrz2ixf4lb04v0986xybms6rzkp9w4c8nbl2yg8mpdpsdl3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2MSwKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEyIgp9"},
-    "43": {"version": "61", "sha256": "1a4ahrz2ixf4lb04v0986xybms6rzkp9w4c8nbl2yg8mpdpsdl3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2MSwKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEyIgp9"},
-    "44": {"version": "61", "sha256": "1a4ahrz2ixf4lb04v0986xybms6rzkp9w4c8nbl2yg8mpdpsdl3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2MSwKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEyIgp9"},
-    "45": {"version": "60", "sha256": "0f0yfai0b8bb2734zf5jlclwnm0kpqrmy11hznkyxr6kf5c2h94c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYwLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuMSIKfQ=="},
-    "46": {"version": "60", "sha256": "0f0yfai0b8bb2734zf5jlclwnm0kpqrmy11hznkyxr6kf5c2h94c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYwLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuMSIKfQ=="}
+    "42": {"version": "63", "sha256": "00ywnw9q435g0ycg5x6lkgq8k888sqsrynp17jhiwz7dmx2xr3b9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2MywKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEzIgp9"},
+    "43": {"version": "63", "sha256": "00ywnw9q435g0ycg5x6lkgq8k888sqsrynp17jhiwz7dmx2xr3b9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2MywKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEzIgp9"},
+    "44": {"version": "63", "sha256": "00ywnw9q435g0ycg5x6lkgq8k888sqsrynp17jhiwz7dmx2xr3b9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC92ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC13b3Jrc3BhY2VzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2MywKICAidmVyc2lvbi1uYW1lIjogIjQ0LjEzIgp9"},
+    "45": {"version": "62", "sha256": "1ilazclbs65knmgxl3llw5zvrxq1xllwnh2sv1mr1sdl99wvi74n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYyLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuMiIKfQ=="},
+    "46": {"version": "62", "sha256": "1ilazclbs65knmgxl3llw5zvrxq1xllwnh2sv1mr1sdl99wvi74n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIEdOT01FIFNoZWxsIFVYIHRvIHN1aXQgeW91ciB3b3JrZmxvdywgd2hldGhlciB5b3UgbGlrZSBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJnZW9yZ2RoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogInZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJuYW1lIjogIlYtU2hlbGwgKFZlcnRpY2FsIFdvcmtzcGFjZXMpIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy52ZXJ0aWNhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3ZlcnRpY2FsLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogInZlcnRpY2FsLXdvcmtzcGFjZXNARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYyLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuMiIKfQ=="}
   }}
 , {"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": "8", "sha256": "0p8msiyqpic8d0cv65j97gqp03vgi935rqgs2gjrffq3cg7wy2iq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2tiYXIgYW5kIG1pc2MgYWRkaXRpb25zIGZvciB0aGUgR05PTUUgU2hlbGwuXG5cbkEgbmV3IG1ham9yIHJlbGVhc2Ugd2lsbCBiZSBvdXQgbGF0ZXIgdGhpcyB5ZWFyLi4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicm9ja2V0YmFyIiwKICAibmFtZSI6ICJSb2NrZXRiYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucm9ja2V0YmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtaXMtYXdlc29tZS9nbm9tZV9leHRlbnNpb25fcm9ja2V0YmFyIiwKICAidXVpZCI6ICJyb2NrZXRiYXJAY2hlcGt1bi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="},
@@ -5520,11 +5533,12 @@
     "45": {"version": "20", "sha256": "0rspavp64lvr51hjgf7gw51zcwvpp7v2k9mp3sg4bcmaqjmp96b1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBzY3JlZW4gcm90YXRpb24gcmVnYXJkbGVzcyBvZiB0b3VjaCBtb2RlLiBGb3JrIG9mIFNjcmVlbiBBdXRvcm90YXRlIGJ5IEtvc21vc3ByZWRhbmllLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW4tcm90YXRlIiwKICAibmFtZSI6ICJTY3JlZW4gUm90YXRlIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zY3JlZW4tcm90YXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zaHl6dXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAidXVpZCI6ICJzY3JlZW4tcm90YXRlQHNoeXp1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="},
     "46": {"version": "20", "sha256": "0rspavp64lvr51hjgf7gw51zcwvpp7v2k9mp3sg4bcmaqjmp96b1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBzY3JlZW4gcm90YXRpb24gcmVnYXJkbGVzcyBvZiB0b3VjaCBtb2RlLiBGb3JrIG9mIFNjcmVlbiBBdXRvcm90YXRlIGJ5IEtvc21vc3ByZWRhbmllLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JlZW4tcm90YXRlIiwKICAibmFtZSI6ICJTY3JlZW4gUm90YXRlIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIiwKICAgICJ1c2VyIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zY3JlZW4tcm90YXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zaHl6dXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAidXVpZCI6ICJzY3JlZW4tcm90YXRlQHNoeXp1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}
   }}
-, {"uuid": "devtools@romix.ch", "name": "Dev Tools", "pname": "dev-tools", "description": "Generate random UUID and some timestamp and base64 conversions.", "link": "https://extensions.gnome.org/extension/5393/dev-tools/", "shell_version_map": {
+, {"uuid": "devtools@romix.ch", "name": "Dev Tools", "pname": "dev-tools", "description": "Generate random UUID and current time in milliseconds as a shell extension.", "link": "https://extensions.gnome.org/extension/5393/dev-tools/", "shell_version_map": {
     "42": {"version": "11", "sha256": "10w3yl0x69nxp0ad4wkfniqav2k005sfmf6c9v87ys7qad8gp1zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYXRlIHJhbmRvbSBVVUlEIGFuZCBjdXJyZW50IHRpbWUgaW4gbWlsbGlzZWNvbmRzIGFzIGEgc2hlbGwgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiRGV2IFRvb2xzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm9taXhjaC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGV2LXRvb2xzIiwKICAidXVpZCI6ICJkZXZ0b29sc0Byb21peC5jaCIsCiAgInZlcnNpb24iOiAxMQp9"},
     "43": {"version": "11", "sha256": "10w3yl0x69nxp0ad4wkfniqav2k005sfmf6c9v87ys7qad8gp1zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYXRlIHJhbmRvbSBVVUlEIGFuZCBjdXJyZW50IHRpbWUgaW4gbWlsbGlzZWNvbmRzIGFzIGEgc2hlbGwgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiRGV2IFRvb2xzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm9taXhjaC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGV2LXRvb2xzIiwKICAidXVpZCI6ICJkZXZ0b29sc0Byb21peC5jaCIsCiAgInZlcnNpb24iOiAxMQp9"},
     "44": {"version": "11", "sha256": "10w3yl0x69nxp0ad4wkfniqav2k005sfmf6c9v87ys7qad8gp1zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYXRlIHJhbmRvbSBVVUlEIGFuZCBjdXJyZW50IHRpbWUgaW4gbWlsbGlzZWNvbmRzIGFzIGEgc2hlbGwgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiRGV2IFRvb2xzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm9taXhjaC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGV2LXRvb2xzIiwKICAidXVpZCI6ICJkZXZ0b29sc0Byb21peC5jaCIsCiAgInZlcnNpb24iOiAxMQp9"},
-    "45": {"version": "12", "sha256": "1i2fvia0d9akhqh0l78byiqkifyd6xkzf3dcb7igmclbzcx0pn2b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYXRlIHJhbmRvbSBVVUlEIGFuZCBjdXJyZW50IHRpbWUgaW4gbWlsbGlzZWNvbmRzIGFzIGEgc2hlbGwgZXh0ZW5zaW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImRldnRvb2xzQHJvbWl4LmNoIiwKICAibmFtZSI6ICJEZXYgVG9vbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm9taXhjaC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGV2LXRvb2xzIiwKICAidXVpZCI6ICJkZXZ0b29sc0Byb21peC5jaCIsCiAgInZlcnNpb24iOiAxMgp9"}
+    "45": {"version": "14", "sha256": "05da1ypz3nj1gyhyly09xhvyspnngxh5wi585157g9988g646i1h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYXRlIHJhbmRvbSBVVUlEIGFuZCBjdXJyZW50IHRpbWUgaW4gbWlsbGlzZWNvbmRzIGFzIGEgc2hlbGwgZXh0ZW5zaW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImRldnRvb2xzQHJvbWl4LmNoIiwKICAibmFtZSI6ICJEZXYgVG9vbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JvbWl4Y2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRldi10b29scyIsCiAgInV1aWQiOiAiZGV2dG9vbHNAcm9taXguY2giLAogICJ2ZXJzaW9uIjogMTQKfQ=="},
+    "46": {"version": "14", "sha256": "05da1ypz3nj1gyhyly09xhvyspnngxh5wi585157g9988g646i1h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYXRlIHJhbmRvbSBVVUlEIGFuZCBjdXJyZW50IHRpbWUgaW4gbWlsbGlzZWNvbmRzIGFzIGEgc2hlbGwgZXh0ZW5zaW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImRldnRvb2xzQHJvbWl4LmNoIiwKICAibmFtZSI6ICJEZXYgVG9vbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JvbWl4Y2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRldi10b29scyIsCiAgInV1aWQiOiAiZGV2dG9vbHNAcm9taXguY2giLAogICJ2ZXJzaW9uIjogMTQKfQ=="}
   }}
 , {"uuid": "inhibit-suspend@charlieqle", "name": "Inhibit Suspend", "pname": "inhibit-suspend", "description": "Inhibit autosuspend at the press of a button", "link": "https://extensions.gnome.org/extension/5397/inhibit-suspend/", "shell_version_map": {
     "43": {"version": "3", "sha256": "0xp3b7i46lsvxkgsk3z3lx1k1zymnwm8hnsl1v39j01zsxyh2fnj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluaGliaXQgYXV0b3N1c3BlbmQgYXQgdGhlIHByZXNzIG9mIGEgYnV0dG9uIiwKICAibmFtZSI6ICJJbmhpYml0IFN1c3BlbmQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW5oaWJpdC1zdXNwZW5kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NoYXJsaWVRTGUvZ25vbWUtZXh0ZW5zaW9uLWluaGliaXQtc3VzcGVuZCIsCiAgInV1aWQiOiAiaW5oaWJpdC1zdXNwZW5kQGNoYXJsaWVxbGUiLAogICJ2ZXJzaW9uIjogMwp9"}
@@ -5616,8 +5630,8 @@
     "42": {"version": "17", "sha256": "054k5q694ssm937qfxximg2qh5zx4m2qzcffdxjm4xd39qn4bi85", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2UgdGhlIGFwcHMgc2VhcmNoIG91dCBvZiBvdmVydmlldyIsCiAgImdldHRleHQtZG9tYWluIjogInNlYXJjaC1saWdodCIsCiAgIm5hbWUiOiAiU2VhcmNoIExpZ2h0IiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlYXJjaC1saWdodCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vc2VhcmNoLWxpZ2h0IiwKICAidXVpZCI6ICJzZWFyY2gtbGlnaHRAaWNlZG1hbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE3Cn0="},
     "43": {"version": "17", "sha256": "054k5q694ssm937qfxximg2qh5zx4m2qzcffdxjm4xd39qn4bi85", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2UgdGhlIGFwcHMgc2VhcmNoIG91dCBvZiBvdmVydmlldyIsCiAgImdldHRleHQtZG9tYWluIjogInNlYXJjaC1saWdodCIsCiAgIm5hbWUiOiAiU2VhcmNoIExpZ2h0IiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlYXJjaC1saWdodCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vc2VhcmNoLWxpZ2h0IiwKICAidXVpZCI6ICJzZWFyY2gtbGlnaHRAaWNlZG1hbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE3Cn0="},
     "44": {"version": "17", "sha256": "054k5q694ssm937qfxximg2qh5zx4m2qzcffdxjm4xd39qn4bi85", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2UgdGhlIGFwcHMgc2VhcmNoIG91dCBvZiBvdmVydmlldyIsCiAgImdldHRleHQtZG9tYWluIjogInNlYXJjaC1saWdodCIsCiAgIm5hbWUiOiAiU2VhcmNoIExpZ2h0IiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlYXJjaC1saWdodCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vc2VhcmNoLWxpZ2h0IiwKICAidXVpZCI6ICJzZWFyY2gtbGlnaHRAaWNlZG1hbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE3Cn0="},
-    "45": {"version": "22", "sha256": "0qjlaka6p38jsrif8v52b8cb1hiw97a9ipx3dssw87i1jzhwcc2z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2UgdGhlIGFwcHMgc2VhcmNoIG91dCBvZiBvdmVydmlldyIsCiAgImdldHRleHQtZG9tYWluIjogInNlYXJjaC1saWdodCIsCiAgIm5hbWUiOiAiU2VhcmNoIExpZ2h0IiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlYXJjaC1saWdodCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWNlZG1hbi9zZWFyY2gtbGlnaHQiLAogICJ1dWlkIjogInNlYXJjaC1saWdodEBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="},
-    "46": {"version": "22", "sha256": "0qjlaka6p38jsrif8v52b8cb1hiw97a9ipx3dssw87i1jzhwcc2z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2UgdGhlIGFwcHMgc2VhcmNoIG91dCBvZiBvdmVydmlldyIsCiAgImdldHRleHQtZG9tYWluIjogInNlYXJjaC1saWdodCIsCiAgIm5hbWUiOiAiU2VhcmNoIExpZ2h0IiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlYXJjaC1saWdodCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWNlZG1hbi9zZWFyY2gtbGlnaHQiLAogICJ1dWlkIjogInNlYXJjaC1saWdodEBpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}
+    "45": {"version": "27", "sha256": "142v05d9mnmphsvvf8qjcsbzcb668dh4ylymz0n5m2s5bxdzpvc4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2UgdGhlIGFwcHMgc2VhcmNoIG91dCBvZiBvdmVydmlldy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzZWFyY2gtbGlnaHQiLAogICJuYW1lIjogIlNlYXJjaCBMaWdodCIsCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zZWFyY2gtbGlnaHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vc2VhcmNoLWxpZ2h0IiwKICAidXVpZCI6ICJzZWFyY2gtbGlnaHRAaWNlZG1hbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="},
+    "46": {"version": "27", "sha256": "142v05d9mnmphsvvf8qjcsbzcb668dh4ylymz0n5m2s5bxdzpvc4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2UgdGhlIGFwcHMgc2VhcmNoIG91dCBvZiBvdmVydmlldy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzZWFyY2gtbGlnaHQiLAogICJuYW1lIjogIlNlYXJjaCBMaWdodCIsCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zZWFyY2gtbGlnaHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vc2VhcmNoLWxpZ2h0IiwKICAidXVpZCI6ICJzZWFyY2gtbGlnaHRAaWNlZG1hbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}
   }}
 , {"uuid": "ibus-switcher@kevinhwang91.github.com", "name": "IBus Switcher", "pname": "ibus-switcher", "description": "Use d-bus to switch ibus source", "link": "https://extensions.gnome.org/extension/5497/ibus-switcher/", "shell_version_map": {
     "45": {"version": "4", "sha256": "1na3cncy9kkdqbvhwzckbf3axrcpz1apidxvsv4s5qmg2vrjccgv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSBkLWJ1cyB0byBzd2l0Y2ggaWJ1cyBzb3VyY2UiLAogICJuYW1lIjogIklCdXMgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tldmluaHdhbmc5MS9nbm9tZS1zaGVsbC1pYnVzLXN3aXRjaGVyIiwKICAidXVpZCI6ICJpYnVzLXN3aXRjaGVyQGtldmluaHdhbmc5MS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="},
@@ -6065,7 +6079,7 @@
 , {"uuid": "quicktext@brainstormtrooper.github.io", "name": "Quick Text", "pname": "quick-text", "description": "Quickly capture text snippets and ideas, then convert them to tasks or events", "link": "https://extensions.gnome.org/extension/5892/quick-text/", "shell_version_map": {
     "44": {"version": "8", "sha256": "09ybjnfgf4pnyj4q9xck5cs5yi0mwin47d3mbq55m25mk8sd8grm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgY2FwdHVyZSB0ZXh0IHNuaXBwZXRzIGFuZCBpZGVhcywgdGhlbiBjb252ZXJ0IHRoZW0gdG8gdGFza3Mgb3IgZXZlbnRzIiwKICAibmFtZSI6ICJRdWljayBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JyYWluc3Rvcm10cm9vcGVyL3F1aWNrdGV4dCIsCiAgInV1aWQiOiAicXVpY2t0ZXh0QGJyYWluc3Rvcm10cm9vcGVyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA4Cn0="},
     "45": {"version": "12", "sha256": "0g9vyxvjsn0wbkmwdnj1dx1qja6ny98hq6yc05yj3kr13nh3ynx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgY2FwdHVyZSB0ZXh0IHNuaXBwZXRzIGFuZCBpZGVhcywgdGhlbiBjb252ZXJ0IHRoZW0gdG8gdGFza3Mgb3IgZXZlbnRzIiwKICAibmFtZSI6ICJRdWljayBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JyYWluc3Rvcm10cm9vcGVyL3F1aWNrdGV4dCIsCiAgInV1aWQiOiAicXVpY2t0ZXh0QGJyYWluc3Rvcm10cm9vcGVyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMgp9"},
-    "46": {"version": "13", "sha256": "0vsx3ha17hzc67z1jif1xw275gv461lmvyi2z5hkcsgikrqafksc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgY2FwdHVyZSB0ZXh0IHNuaXBwZXRzIGFuZCBpZGVhcywgdGhlbiBjb252ZXJ0IHRoZW0gdG8gdGFza3Mgb3IgZXZlbnRzIiwKICAibmFtZSI6ICJRdWljayBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JyYWluc3Rvcm10cm9vcGVyL3F1aWNrdGV4dCIsCiAgInV1aWQiOiAicXVpY2t0ZXh0QGJyYWluc3Rvcm10cm9vcGVyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMwp9"}
+    "46": {"version": "14", "sha256": "0nijbl26lp9j0jqx365h6wr107jwg6amc9rncn5k2bzjgmvwkilv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgY2FwdHVyZSB0ZXh0IHNuaXBwZXRzIGFuZCBpZGVhcywgdGhlbiBjb252ZXJ0IHRoZW0gdG8gdGFza3Mgb3IgZXZlbnRzIiwKICAibmFtZSI6ICJRdWljayBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JyYWluc3Rvcm10cm9vcGVyL3F1aWNrdGV4dCIsCiAgInV1aWQiOiAicXVpY2t0ZXh0QGJyYWluc3Rvcm10cm9vcGVyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}
   }}
 , {"uuid": "app-hider@lynith.dev", "name": "App Hider", "pname": "app-hider", "description": "Hide apps in GNOME's app menu", "link": "https://extensions.gnome.org/extension/5895/app-hider/", "shell_version_map": {
     "42": {"version": "18", "sha256": "1cqwwynvnqpgzip4v1r52yl66x8rqd15xyjabplb9i19dibwh67a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYXBwcyBpbiBHTk9NRSdzIGFwcCBtZW51IiwKICAiZG9uYXRpb25zIjogewogICAgImtvZmkiOiAibHluaXRoIgogIH0sCiAgIm5hbWUiOiAiQXBwIEhpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFwcC1oaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x5bml0aERldi9nbm9tZS1hcHAtaGlkZXIiLAogICJ1dWlkIjogImFwcC1oaWRlckBseW5pdGguZGV2IiwKICAidmVyc2lvbiI6IDE4Cn0="},
@@ -6125,7 +6139,7 @@
     "43": {"version": "45", "sha256": "00d8j387483znvsigd0cjm8kgzb7z4paipavpdilmdv5k14iv0wn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAibmFtZSI6ICJRdWljayBTZXR0aW5ncyBBdWRpbyBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5xdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQ1Cn0="},
     "44": {"version": "45", "sha256": "00d8j387483znvsigd0cjm8kgzb7z4paipavpdilmdv5k14iv0wn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAibmFtZSI6ICJRdWljayBTZXR0aW5ncyBBdWRpbyBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5xdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQ1Cn0="},
     "45": {"version": "48", "sha256": "0nckxx53fxyzxqhp68vdx66yrdw8z3flbd4yhrnp5hpqzkfwhakv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWxAcmF5emVxLmdpdGh1Yi5pbyIsCiAgIm5hbWUiOiAiUXVpY2sgU2V0dGluZ3MgQXVkaW8gUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQ4Cn0="},
-    "46": {"version": "52", "sha256": "1gy80sfdja355wlazckpb50ycpgvkmzg9bc209niqp8jdk9v3qx5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWxAcmF5emVxLmdpdGh1Yi5pbyIsCiAgIm5hbWUiOiAiUXVpY2sgU2V0dGluZ3MgQXVkaW8gUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUyCn0="}
+    "46": {"version": "53", "sha256": "1f78lyvz8dx5avrma4f0wxbrpvcrhz597jqvblsp1ik31balk01a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBhIG5ldyBwYW5lbCBjb250YWluaW5nIHZvbHVtZXMgYW5kIG1lZGlhIGNvbnRyb2wgaW4gdGhlIHF1aWNrIHNldHRpbmdzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWxAcmF5emVxLmdpdGh1Yi5pbyIsCiAgIm5hbWUiOiAiUXVpY2sgU2V0dGluZ3MgQXVkaW8gUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucXVpY2stc2V0dGluZ3MtYXVkaW8tcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmF5emVxL3F1aWNrLXNldHRpbmdzLWF1ZGlvLXBhbmVsIiwKICAidXVpZCI6ICJxdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbEByYXl6ZXEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUzCn0="}
   }}
 , {"uuid": "soft-brightness-plus@joelkitching.com", "name": "Soft Brightness Plus", "pname": "soft-brightness-plus", "description": "Add or override the brightness slider to change the brightness via an alpha layer (and optionally stop using or cooperate with the exising backlight, if present).\nEither internal, external or all monitors can be dimmed.\nSee the GitHub page for details.\n\nNote that this extension will keep running on the lock screen, as you'd also want the brightness setting to apply to the lock screen as well. Please report on GitHub if this gives you any trouble.\n\nThis extension is a fork of the original 'Soft brightness' extension, and maintains support for new GNOME releases.", "link": "https://extensions.gnome.org/extension/5943/soft-brightness-plus/", "shell_version_map": {
     "38": {"version": "5", "sha256": "08i7qzs1c9ifpa9z5xdiif31jp10g4jxr0ijnn18vmcgv2pkfyln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS5cblxuVGhpcyBleHRlbnNpb24gaXMgYSBmb3JrIG9mIHRoZSBvcmlnaW5hbCAnU29mdCBicmlnaHRuZXNzJyBleHRlbnNpb24sIGFuZCBpbmNsdWRlcyBzdXBwb3J0IGZvciBHTk9NRSA0MysuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic29mdC1icmlnaHRuZXNzLXBsdXMiLAogICJuYW1lIjogIlNvZnQgQnJpZ2h0bmVzcyBQbHVzIiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1c2VyIiwKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MtcGx1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamtpdGNoaW5nL3NvZnQtYnJpZ2h0bmVzcy1wbHVzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3MtcGx1c0Bqb2Vsa2l0Y2hpbmcuY29tIiwKICAidmNzX3JldmlzaW9uIjogIjc3YjVmOTIiLAogICJ2ZXJzaW9uIjogNQp9"},
@@ -6161,14 +6175,14 @@
     "45": {"version": "12", "sha256": "13pjpn6kvz4ml07j7b0029kx6jaqd62qsyaywk4p69y2xakx279k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgU2hlbGwgZXh0ZW5zaW9uIHRoYXQgYWxsb3dzIHlvdSB0byBoaWRlIHNlbGVjdGVkIG91dHB1dC9pbnB1dCBkZXZpY2VzIGZyb20gdGhlIFF1aWNrIFNldHRpbmdzIGF1ZGlvIGRldmljZXMgcGFuZWwuXG5UaGFua3MgdG8gaXQsIHlvdXIgUXVpY2sgU2V0dGluZ3MgcGFuZWwgd2lsbCBsaXN0IG9ubHkgdGhvc2UgZGV2aWNlcyB0aGF0IHlvdSBhY3R1YWxseSB1c2UgbWFraW5nIGl0IGVhc2llciB0byBxdWlja2x5IHN3aXRjaCBiZXR3ZWVuIHRoZW0uXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiBkb2VzIG5vdCBwbGF5IHdlbGwgd2l0aCB0aGUgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNTk0MC9xdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbC8gZXh0ZW5zaW9uLiBJdHMgb3B0aW9uIHRvXCJBbHdheXMgc2hvdyBtaWNyb3Bob25lIHZvbHVtZSBzbGlkZXJcIiBtaWdodCBub3Qgd29yayB3aGVuIFF1aWNrIFNldHRpbmdzIEF1ZGlvIERldmljZXMgSGlkZXIgaXMgZW5hYmxlZC4gQSB3b3JrYXJvdW5kIGNvdWxkIGJlIHRvIGluc3RhbGwgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNTQ0Ni9xdWljay1zZXR0aW5ncy10d2Vha2VyLywgd2hpY2ggaGFzIGEgc2ltaWxhciBmdW5jdGluYWxpdHkgdW5kZXIgdGhlIHRvZ2dsZSBcIkFsd2F5cyBzaG93IGlucHV0XCIgdW5kZXIgXCJJbnB1dC9PdXRwdXRcIiB0YWIuXG5cbkNoZWNrIG91dCB0aGUgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNjAwMC9xdWljay1zZXR0aW5ncy1hdWRpby1kZXZpY2VzLXJlbmFtZXIvIGlmIHlvdSdkIHJhdGhlciB3YW50IHRvIHJlbmFtZSBzb21lIGRldmljZSB0aGFuIGhpZGUgaXQuIiwKICAibmFtZSI6ICJRdWljayBTZXR0aW5ncyBBdWRpbyBEZXZpY2VzIEhpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmNpbmphaG4vZ25vbWUtcXVpY2tzZXR0aW5ncy1hdWRpby1kZXZpY2VzLWhpZGVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAicXVpY2tzZXR0aW5ncy1hdWRpby1kZXZpY2VzLWhpZGVyQG1hcmNpbmphaG4uY29tIiwKICAidmVyc2lvbiI6IDEyCn0="},
     "46": {"version": "13", "sha256": "1zl8bg98v1ll88fv7sv8gicryhzg2pgfylba3z9gsllwh4dcb565", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgU2hlbGwgZXh0ZW5zaW9uIHRoYXQgYWxsb3dzIHlvdSB0byBoaWRlIHNlbGVjdGVkIG91dHB1dC9pbnB1dCBkZXZpY2VzIGZyb20gdGhlIFF1aWNrIFNldHRpbmdzIGF1ZGlvIGRldmljZXMgcGFuZWwuXG5UaGFua3MgdG8gaXQsIHlvdXIgUXVpY2sgU2V0dGluZ3MgcGFuZWwgd2lsbCBsaXN0IG9ubHkgdGhvc2UgZGV2aWNlcyB0aGF0IHlvdSBhY3R1YWxseSB1c2UgbWFraW5nIGl0IGVhc2llciB0byBxdWlja2x5IHN3aXRjaCBiZXR3ZWVuIHRoZW0uXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiBkb2VzIG5vdCBwbGF5IHdlbGwgd2l0aCB0aGUgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNTk0MC9xdWljay1zZXR0aW5ncy1hdWRpby1wYW5lbC8gZXh0ZW5zaW9uLiBJdHMgb3B0aW9uIHRvXCJBbHdheXMgc2hvdyBtaWNyb3Bob25lIHZvbHVtZSBzbGlkZXJcIiBtaWdodCBub3Qgd29yayB3aGVuIFF1aWNrIFNldHRpbmdzIEF1ZGlvIERldmljZXMgSGlkZXIgaXMgZW5hYmxlZC4gQSB3b3JrYXJvdW5kIGNvdWxkIGJlIHRvIGluc3RhbGwgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNTQ0Ni9xdWljay1zZXR0aW5ncy10d2Vha2VyLywgd2hpY2ggaGFzIGEgc2ltaWxhciBmdW5jdGluYWxpdHkgdW5kZXIgdGhlIHRvZ2dsZSBcIkFsd2F5cyBzaG93IGlucHV0XCIgdW5kZXIgXCJJbnB1dC9PdXRwdXRcIiB0YWIuXG5cbkNoZWNrIG91dCB0aGUgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNjAwMC9xdWljay1zZXR0aW5ncy1hdWRpby1kZXZpY2VzLXJlbmFtZXIvIGlmIHlvdSdkIHJhdGhlciB3YW50IHRvIHJlbmFtZSBzb21lIGRldmljZSB0aGFuIGhpZGUgaXQuIiwKICAibmFtZSI6ICJRdWljayBTZXR0aW5ncyBBdWRpbyBEZXZpY2VzIEhpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmNpbmphaG4vZ25vbWUtcXVpY2tzZXR0aW5ncy1hdWRpby1kZXZpY2VzLWhpZGVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAicXVpY2tzZXR0aW5ncy1hdWRpby1kZXZpY2VzLWhpZGVyQG1hcmNpbmphaG4uY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}
   }}
-, {"uuid": "workspaces-by-open-apps@favo02.github.com", "name": "Workspaces indicator by open apps", "pname": "workspaces-indicator-by-open-apps", "description": "Display a simple workspace indicator showing icons of apps open in it.\n\nFeatures:\n\n- Show a simple indicator to display workspaces and apps open in it\n- Support for drag and drop: change an application workspace just dragging its icon\n- Right/Left click to focus/minimize application, Middle click to close\n- Workspaces scrolling: change active workspace scrolling hover the indicator\n- Support for multiple monitor (for both static and dynamic workspaces)\n- Rename workspaces directly from the extension (activate in settings)\n- Hide/show GNOME default workspace indicator (former activities button)\n\nCustomization:\n\n- Indicator position\n- Mouse scroll direction (normal or inverse)\n- Activate/deactivate 'middle click to close app'\n- Activate/deactivate 'click on active workspace to overview'\n- Activate/deactivate 'click on focused application to minimize'\n- Activate/deactivate 'workspace indicator'\n- Activate/deactivate 'app indicator'\n- Customize indicator color\n- Activate/deactivate 'round borders'\n- Show/Hide workspaces names\n- Show/Hide empty workspaces\n- Customize apps on all workspaces text indicator\n- Desaturate all icons\n- No effect/Reduce opacity/Desaturate for both minimized and inactive apps\n- Limit icons per workspace\n- Group icons of same application\n- Ignore applications (with regex)", "link": "https://extensions.gnome.org/extension/5967/workspaces-indicator-by-open-apps/", "shell_version_map": {
+, {"uuid": "workspaces-by-open-apps@favo02.github.com", "name": "Workspaces indicator by open apps", "pname": "workspaces-indicator-by-open-apps", "description": "Display a simple workspace indicator showing icons of apps open in it.\n\nFeatures:\n\n- Show a simple indicator to display workspaces and apps open in it\n- Support for drag and drop: change an application workspace just dragging its icon\n- Right/Left click to focus/minimize application, Middle click to close\n- Workspaces scrolling: change active workspace scrolling hover the indicator\n- Support for multiple monitor (for both static and dynamic workspaces)\n- Rename workspaces directly from the extension (activate in settings)\n- Hide/show GNOME default workspace indicator (former activities button)\n\nCustomization:\n\n- Indicator position\n- Mouse scroll direction (normal or inverse)\n- Activate/deactivate 'middle click to close app'\n- Activate/deactivate 'click on active workspace to overview'\n- Activate/deactivate 'click on focused application to minimize'\n- Activate/deactivate 'workspace indicator'\n- Activate/deactivate 'app indicator'\n- Customize indicator color\n- Activate/deactivate 'round borders'\n- Show/Hide workspaces names\n- Show/Hide empty workspaces\n- Customize apps on all workspaces text indicator\n- Desaturate all icons\n- No effect/Reduce opacity/Desaturate for both minimized and inactive apps\n- Limit icons per workspace\n- Group icons of same application\n- Ignore applications (with regex)\n- Spacing and Size of applications icons and labels", "link": "https://extensions.gnome.org/extension/5967/workspaces-indicator-by-open-apps/", "shell_version_map": {
     "40": {"version": "8", "sha256": "1iimby4wglgyrfx20la0kp9wdnfz3y6868n2044qvda2fbwxdx5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSBzaW1wbGUgd29ya3NwYWNlIGluZGljYXRvciBzaG93aW5nIGljb25zIG9mIGFwcHMgb3BlbiBpbiBpdC5cblxuVXNhZ2UgYW5kIGN1c3RvbWl6YXRpb246XG4tIFN1cHBvcnQgZm9yIGRyYWcgYW5kIGRyb3A6IGNoYW5nZSBhbiBhcHBsaWNhdGlvbiB3b3Jrc3BhY2UganVzdCBkcmFnZ2luZyBpdHMgaWNvblxuLSBSaWdodC9MZWZ0IGNsaWNrIHRvIGZvY3VzIGFwcGxpY2F0aW9uLCBNaWRkbGUgY2xpY2sgdG8gY2xvc2Vcbi0gV29ya3NwYWNlcyBzY3JvbGxpbmc6IGNoYW5nZSBhY3RpdmUgd29ya3NwYWNlIHNjcm9sbGluZyBob3ZlciB0aGUgaW5kaWNhdG9yXG4tIFRvZ2dsZSBhcHBsaWNhdGlvbiBpY29ucyBkZXNhdHVyYXRpb25cbi0gU2hvdy9IaWRlIHdvcmtzcGFjZXMgaW5kZXggbGFiZWxcbi0gU2hvdy9IaWRlIGFjdGl2ZSB3b3Jrc3BhY2UgYW5kIGZvY3VzZWQgYXBwIGluZGljYXRvclxuLSBDaGFuZ2UgaW5kaWNhdG9yIHN0eWxlIGFuZCBjb2xvclxuLSBTdXBwb3J0IGZvciBtdWx0aXBsZSBtb25pdG9yIChmb3IgYm90aCBzdGF0aWMgYW5kIGR5bmFtaWMgd29ya3NwYWNlcylcbi0gW05FVyFdIEhpZGUgZW1wdHkgd29ya3NwYWNlc1xuLSBbTkVXIV0gUmVuYW1lIHdvcmtzcGFjZXMgZGlyZWN0bHkgZnJvbSB0aGUgZXh0ZW5zaW9uIChzd2l0Y2ggd29ya3NwYWNlIHRvIGFwcGx5IG5ldyBuYW1lKVxuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIGluZGljYXRvciBieSBvcGVuIGFwcHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Zhdm8wMi93b3Jrc3BhY2VzLWJ5LW9wZW4tYXBwcyIsCiAgInV1aWQiOiAid29ya3NwYWNlcy1ieS1vcGVuLWFwcHNAZmF2bzAyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"},
     "41": {"version": "8", "sha256": "1iimby4wglgyrfx20la0kp9wdnfz3y6868n2044qvda2fbwxdx5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSBzaW1wbGUgd29ya3NwYWNlIGluZGljYXRvciBzaG93aW5nIGljb25zIG9mIGFwcHMgb3BlbiBpbiBpdC5cblxuVXNhZ2UgYW5kIGN1c3RvbWl6YXRpb246XG4tIFN1cHBvcnQgZm9yIGRyYWcgYW5kIGRyb3A6IGNoYW5nZSBhbiBhcHBsaWNhdGlvbiB3b3Jrc3BhY2UganVzdCBkcmFnZ2luZyBpdHMgaWNvblxuLSBSaWdodC9MZWZ0IGNsaWNrIHRvIGZvY3VzIGFwcGxpY2F0aW9uLCBNaWRkbGUgY2xpY2sgdG8gY2xvc2Vcbi0gV29ya3NwYWNlcyBzY3JvbGxpbmc6IGNoYW5nZSBhY3RpdmUgd29ya3NwYWNlIHNjcm9sbGluZyBob3ZlciB0aGUgaW5kaWNhdG9yXG4tIFRvZ2dsZSBhcHBsaWNhdGlvbiBpY29ucyBkZXNhdHVyYXRpb25cbi0gU2hvdy9IaWRlIHdvcmtzcGFjZXMgaW5kZXggbGFiZWxcbi0gU2hvdy9IaWRlIGFjdGl2ZSB3b3Jrc3BhY2UgYW5kIGZvY3VzZWQgYXBwIGluZGljYXRvclxuLSBDaGFuZ2UgaW5kaWNhdG9yIHN0eWxlIGFuZCBjb2xvclxuLSBTdXBwb3J0IGZvciBtdWx0aXBsZSBtb25pdG9yIChmb3IgYm90aCBzdGF0aWMgYW5kIGR5bmFtaWMgd29ya3NwYWNlcylcbi0gW05FVyFdIEhpZGUgZW1wdHkgd29ya3NwYWNlc1xuLSBbTkVXIV0gUmVuYW1lIHdvcmtzcGFjZXMgZGlyZWN0bHkgZnJvbSB0aGUgZXh0ZW5zaW9uIChzd2l0Y2ggd29ya3NwYWNlIHRvIGFwcGx5IG5ldyBuYW1lKVxuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIGluZGljYXRvciBieSBvcGVuIGFwcHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Zhdm8wMi93b3Jrc3BhY2VzLWJ5LW9wZW4tYXBwcyIsCiAgInV1aWQiOiAid29ya3NwYWNlcy1ieS1vcGVuLWFwcHNAZmF2bzAyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"},
     "42": {"version": "13", "sha256": "1qmwvsv7g5lh7yri6m8c3r18zhvr6bh2wcchlgydyzfdkdsvjpid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSBzaW1wbGUgd29ya3NwYWNlIGluZGljYXRvciBzaG93aW5nIGljb25zIG9mIGFwcHMgb3BlbiBpbiBpdC5cblxuRmVhdHVyZXM6XG5cbi0gU2hvdyBhIHNpbXBsZSBpbmRpY2F0b3IgdG8gZGlzcGxheSB3b3Jrc3BhY2VzIGFuZCBhcHBzIG9wZW4gaW4gaXRcbi0gU3VwcG9ydCBmb3IgZHJhZyBhbmQgZHJvcDogY2hhbmdlIGFuIGFwcGxpY2F0aW9uIHdvcmtzcGFjZSBqdXN0IGRyYWdnaW5nIGl0cyBpY29uXG4tIFJpZ2h0L0xlZnQgY2xpY2sgdG8gZm9jdXMgYXBwbGljYXRpb24sIE1pZGRsZSBjbGljayB0byBjbG9zZVxuLSBXb3Jrc3BhY2VzIHNjcm9sbGluZzogY2hhbmdlIGFjdGl2ZSB3b3Jrc3BhY2Ugc2Nyb2xsaW5nIGhvdmVyIHRoZSBpbmRpY2F0b3Jcbi0gU3VwcG9ydCBmb3IgbXVsdGlwbGUgbW9uaXRvciAoZm9yIGJvdGggc3RhdGljIGFuZCBkeW5hbWljIHdvcmtzcGFjZXMpXG4tIFJlbmFtZSB3b3Jrc3BhY2VzIGRpcmVjdGx5IGZyb20gdGhlIGV4dGVuc2lvbiAoYWN0aXZhdGUgaW4gc2V0dGluZ3MpXG5cbkN1c3RvbWl6YXRpb246XG5cbi0gSW5kaWNhdG9yIHBvc2l0aW9uXG4tIFNjcm9sbCBkaXJlY3Rpb24gKG5vcm1hbCBvciBpbnZlcnNlKVxuLSBBY3RpdmF0ZS9kZWFjdGl2YXRlICdtaWRkbGUgY2xpY2sgdG8gY2xvc2UgYXBwJ1xuLSBBY3RpdmF0ZS9kZWFjdGl2YXRlICd3b3Jrc3BhY2UgaW5kaWNhdG9yJ1xuLSBBY3RpdmF0ZS9kZWFjdGl2YXRlICdhcHAgaW5kaWNhdG9yJ1xuLSBDdXN0b21pemUgaW5kaWNhdG9yIGNvbG9yXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ3JvdW5kIGJvcmRlcnMnXG4tIFNob3cvSGlkZSB3b3Jrc3BhY2VzIG5hbWVzXG4tIFNob3cvSGlkZSBlbXB0eSB3b3Jrc3BhY2VzXG4tIEN1c3RvbWl6ZSBhcHBzIG9uIGFsbCB3b3Jrc3BhY2VzIHRleHQgaW5kaWNhdG9yXG4tIERlc2F0dXJhdGUgYWxsIGljb25zXG4tIE5vIGVmZmVjdC9SZWR1Y2Ugb3BhY2l0eS9EZXNhdHVyYXRlIGZvciBib3RoIG1pbmltaXplZCBhbmQgaW5hY3RpdmUgYXBwc1xuLSBMaW1pdCBpY29ucyBwZXIgd29ya3NwYWNlXG4tIEdyb3VwIGljb25zIG9mIHNhbWUgYXBwbGljYXRpb25cbiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlcyBpbmRpY2F0b3IgYnkgb3BlbiBhcHBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRmF2bzAyL3dvcmtzcGFjZXMtYnktb3Blbi1hcHBzIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2VzLWJ5LW9wZW4tYXBwc0BmYXZvMDIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"},
     "43": {"version": "13", "sha256": "1qmwvsv7g5lh7yri6m8c3r18zhvr6bh2wcchlgydyzfdkdsvjpid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSBzaW1wbGUgd29ya3NwYWNlIGluZGljYXRvciBzaG93aW5nIGljb25zIG9mIGFwcHMgb3BlbiBpbiBpdC5cblxuRmVhdHVyZXM6XG5cbi0gU2hvdyBhIHNpbXBsZSBpbmRpY2F0b3IgdG8gZGlzcGxheSB3b3Jrc3BhY2VzIGFuZCBhcHBzIG9wZW4gaW4gaXRcbi0gU3VwcG9ydCBmb3IgZHJhZyBhbmQgZHJvcDogY2hhbmdlIGFuIGFwcGxpY2F0aW9uIHdvcmtzcGFjZSBqdXN0IGRyYWdnaW5nIGl0cyBpY29uXG4tIFJpZ2h0L0xlZnQgY2xpY2sgdG8gZm9jdXMgYXBwbGljYXRpb24sIE1pZGRsZSBjbGljayB0byBjbG9zZVxuLSBXb3Jrc3BhY2VzIHNjcm9sbGluZzogY2hhbmdlIGFjdGl2ZSB3b3Jrc3BhY2Ugc2Nyb2xsaW5nIGhvdmVyIHRoZSBpbmRpY2F0b3Jcbi0gU3VwcG9ydCBmb3IgbXVsdGlwbGUgbW9uaXRvciAoZm9yIGJvdGggc3RhdGljIGFuZCBkeW5hbWljIHdvcmtzcGFjZXMpXG4tIFJlbmFtZSB3b3Jrc3BhY2VzIGRpcmVjdGx5IGZyb20gdGhlIGV4dGVuc2lvbiAoYWN0aXZhdGUgaW4gc2V0dGluZ3MpXG5cbkN1c3RvbWl6YXRpb246XG5cbi0gSW5kaWNhdG9yIHBvc2l0aW9uXG4tIFNjcm9sbCBkaXJlY3Rpb24gKG5vcm1hbCBvciBpbnZlcnNlKVxuLSBBY3RpdmF0ZS9kZWFjdGl2YXRlICdtaWRkbGUgY2xpY2sgdG8gY2xvc2UgYXBwJ1xuLSBBY3RpdmF0ZS9kZWFjdGl2YXRlICd3b3Jrc3BhY2UgaW5kaWNhdG9yJ1xuLSBBY3RpdmF0ZS9kZWFjdGl2YXRlICdhcHAgaW5kaWNhdG9yJ1xuLSBDdXN0b21pemUgaW5kaWNhdG9yIGNvbG9yXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ3JvdW5kIGJvcmRlcnMnXG4tIFNob3cvSGlkZSB3b3Jrc3BhY2VzIG5hbWVzXG4tIFNob3cvSGlkZSBlbXB0eSB3b3Jrc3BhY2VzXG4tIEN1c3RvbWl6ZSBhcHBzIG9uIGFsbCB3b3Jrc3BhY2VzIHRleHQgaW5kaWNhdG9yXG4tIERlc2F0dXJhdGUgYWxsIGljb25zXG4tIE5vIGVmZmVjdC9SZWR1Y2Ugb3BhY2l0eS9EZXNhdHVyYXRlIGZvciBib3RoIG1pbmltaXplZCBhbmQgaW5hY3RpdmUgYXBwc1xuLSBMaW1pdCBpY29ucyBwZXIgd29ya3NwYWNlXG4tIEdyb3VwIGljb25zIG9mIHNhbWUgYXBwbGljYXRpb25cbiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlcyBpbmRpY2F0b3IgYnkgb3BlbiBhcHBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRmF2bzAyL3dvcmtzcGFjZXMtYnktb3Blbi1hcHBzIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2VzLWJ5LW9wZW4tYXBwc0BmYXZvMDIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"},
     "44": {"version": "13", "sha256": "1qmwvsv7g5lh7yri6m8c3r18zhvr6bh2wcchlgydyzfdkdsvjpid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSBzaW1wbGUgd29ya3NwYWNlIGluZGljYXRvciBzaG93aW5nIGljb25zIG9mIGFwcHMgb3BlbiBpbiBpdC5cblxuRmVhdHVyZXM6XG5cbi0gU2hvdyBhIHNpbXBsZSBpbmRpY2F0b3IgdG8gZGlzcGxheSB3b3Jrc3BhY2VzIGFuZCBhcHBzIG9wZW4gaW4gaXRcbi0gU3VwcG9ydCBmb3IgZHJhZyBhbmQgZHJvcDogY2hhbmdlIGFuIGFwcGxpY2F0aW9uIHdvcmtzcGFjZSBqdXN0IGRyYWdnaW5nIGl0cyBpY29uXG4tIFJpZ2h0L0xlZnQgY2xpY2sgdG8gZm9jdXMgYXBwbGljYXRpb24sIE1pZGRsZSBjbGljayB0byBjbG9zZVxuLSBXb3Jrc3BhY2VzIHNjcm9sbGluZzogY2hhbmdlIGFjdGl2ZSB3b3Jrc3BhY2Ugc2Nyb2xsaW5nIGhvdmVyIHRoZSBpbmRpY2F0b3Jcbi0gU3VwcG9ydCBmb3IgbXVsdGlwbGUgbW9uaXRvciAoZm9yIGJvdGggc3RhdGljIGFuZCBkeW5hbWljIHdvcmtzcGFjZXMpXG4tIFJlbmFtZSB3b3Jrc3BhY2VzIGRpcmVjdGx5IGZyb20gdGhlIGV4dGVuc2lvbiAoYWN0aXZhdGUgaW4gc2V0dGluZ3MpXG5cbkN1c3RvbWl6YXRpb246XG5cbi0gSW5kaWNhdG9yIHBvc2l0aW9uXG4tIFNjcm9sbCBkaXJlY3Rpb24gKG5vcm1hbCBvciBpbnZlcnNlKVxuLSBBY3RpdmF0ZS9kZWFjdGl2YXRlICdtaWRkbGUgY2xpY2sgdG8gY2xvc2UgYXBwJ1xuLSBBY3RpdmF0ZS9kZWFjdGl2YXRlICd3b3Jrc3BhY2UgaW5kaWNhdG9yJ1xuLSBBY3RpdmF0ZS9kZWFjdGl2YXRlICdhcHAgaW5kaWNhdG9yJ1xuLSBDdXN0b21pemUgaW5kaWNhdG9yIGNvbG9yXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ3JvdW5kIGJvcmRlcnMnXG4tIFNob3cvSGlkZSB3b3Jrc3BhY2VzIG5hbWVzXG4tIFNob3cvSGlkZSBlbXB0eSB3b3Jrc3BhY2VzXG4tIEN1c3RvbWl6ZSBhcHBzIG9uIGFsbCB3b3Jrc3BhY2VzIHRleHQgaW5kaWNhdG9yXG4tIERlc2F0dXJhdGUgYWxsIGljb25zXG4tIE5vIGVmZmVjdC9SZWR1Y2Ugb3BhY2l0eS9EZXNhdHVyYXRlIGZvciBib3RoIG1pbmltaXplZCBhbmQgaW5hY3RpdmUgYXBwc1xuLSBMaW1pdCBpY29ucyBwZXIgd29ya3NwYWNlXG4tIEdyb3VwIGljb25zIG9mIHNhbWUgYXBwbGljYXRpb25cbiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlcyBpbmRpY2F0b3IgYnkgb3BlbiBhcHBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRmF2bzAyL3dvcmtzcGFjZXMtYnktb3Blbi1hcHBzIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2VzLWJ5LW9wZW4tYXBwc0BmYXZvMDIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"},
-    "45": {"version": "16", "sha256": "1kgbpn8i999k5y90sz0kimc2vlaq4pnanfnrg9xf5n0inyb1mkhv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSBzaW1wbGUgd29ya3NwYWNlIGluZGljYXRvciBzaG93aW5nIGljb25zIG9mIGFwcHMgb3BlbiBpbiBpdC5cblxuRmVhdHVyZXM6XG5cbi0gU2hvdyBhIHNpbXBsZSBpbmRpY2F0b3IgdG8gZGlzcGxheSB3b3Jrc3BhY2VzIGFuZCBhcHBzIG9wZW4gaW4gaXRcbi0gU3VwcG9ydCBmb3IgZHJhZyBhbmQgZHJvcDogY2hhbmdlIGFuIGFwcGxpY2F0aW9uIHdvcmtzcGFjZSBqdXN0IGRyYWdnaW5nIGl0cyBpY29uXG4tIFJpZ2h0L0xlZnQgY2xpY2sgdG8gZm9jdXMvbWluaW1pemUgYXBwbGljYXRpb24sIE1pZGRsZSBjbGljayB0byBjbG9zZVxuLSBXb3Jrc3BhY2VzIHNjcm9sbGluZzogY2hhbmdlIGFjdGl2ZSB3b3Jrc3BhY2Ugc2Nyb2xsaW5nIGhvdmVyIHRoZSBpbmRpY2F0b3Jcbi0gU3VwcG9ydCBmb3IgbXVsdGlwbGUgbW9uaXRvciAoZm9yIGJvdGggc3RhdGljIGFuZCBkeW5hbWljIHdvcmtzcGFjZXMpXG4tIFJlbmFtZSB3b3Jrc3BhY2VzIGRpcmVjdGx5IGZyb20gdGhlIGV4dGVuc2lvbiAoYWN0aXZhdGUgaW4gc2V0dGluZ3MpXG4tIEhpZGUvc2hvdyBHTk9NRSBkZWZhdWx0IHdvcmtzcGFjZSBpbmRpY2F0b3IgKGZvcm1lciBhY3Rpdml0aWVzIGJ1dHRvbilcblxuQ3VzdG9taXphdGlvbjpcblxuLSBJbmRpY2F0b3IgcG9zaXRpb25cbi0gTW91c2Ugc2Nyb2xsIGRpcmVjdGlvbiAobm9ybWFsIG9yIGludmVyc2UpXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ21pZGRsZSBjbGljayB0byBjbG9zZSBhcHAnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2NsaWNrIG9uIGFjdGl2ZSB3b3Jrc3BhY2UgdG8gb3ZlcnZpZXcnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2NsaWNrIG9uIGZvY3VzZWQgYXBwbGljYXRpb24gdG8gbWluaW1pemUnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ3dvcmtzcGFjZSBpbmRpY2F0b3InXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2FwcCBpbmRpY2F0b3InXG4tIEN1c3RvbWl6ZSBpbmRpY2F0b3IgY29sb3Jcbi0gQWN0aXZhdGUvZGVhY3RpdmF0ZSAncm91bmQgYm9yZGVycydcbi0gU2hvdy9IaWRlIHdvcmtzcGFjZXMgbmFtZXNcbi0gU2hvdy9IaWRlIGVtcHR5IHdvcmtzcGFjZXNcbi0gQ3VzdG9taXplIGFwcHMgb24gYWxsIHdvcmtzcGFjZXMgdGV4dCBpbmRpY2F0b3Jcbi0gRGVzYXR1cmF0ZSBhbGwgaWNvbnNcbi0gTm8gZWZmZWN0L1JlZHVjZSBvcGFjaXR5L0Rlc2F0dXJhdGUgZm9yIGJvdGggbWluaW1pemVkIGFuZCBpbmFjdGl2ZSBhcHBzXG4tIExpbWl0IGljb25zIHBlciB3b3Jrc3BhY2Vcbi0gR3JvdXAgaWNvbnMgb2Ygc2FtZSBhcHBsaWNhdGlvblxuLSBJZ25vcmUgYXBwbGljYXRpb25zICh3aXRoIHJlZ2V4KSIsCiAgIm5hbWUiOiAiV29ya3NwYWNlcyBpbmRpY2F0b3IgYnkgb3BlbiBhcHBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZXMtaW5kaWNhdG9yLWJ5LW9wZW4tYXBwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRmF2bzAyL3dvcmtzcGFjZXMtYnktb3Blbi1hcHBzIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2VzLWJ5LW9wZW4tYXBwc0BmYXZvMDIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"},
-    "46": {"version": "16", "sha256": "1kgbpn8i999k5y90sz0kimc2vlaq4pnanfnrg9xf5n0inyb1mkhv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSBzaW1wbGUgd29ya3NwYWNlIGluZGljYXRvciBzaG93aW5nIGljb25zIG9mIGFwcHMgb3BlbiBpbiBpdC5cblxuRmVhdHVyZXM6XG5cbi0gU2hvdyBhIHNpbXBsZSBpbmRpY2F0b3IgdG8gZGlzcGxheSB3b3Jrc3BhY2VzIGFuZCBhcHBzIG9wZW4gaW4gaXRcbi0gU3VwcG9ydCBmb3IgZHJhZyBhbmQgZHJvcDogY2hhbmdlIGFuIGFwcGxpY2F0aW9uIHdvcmtzcGFjZSBqdXN0IGRyYWdnaW5nIGl0cyBpY29uXG4tIFJpZ2h0L0xlZnQgY2xpY2sgdG8gZm9jdXMvbWluaW1pemUgYXBwbGljYXRpb24sIE1pZGRsZSBjbGljayB0byBjbG9zZVxuLSBXb3Jrc3BhY2VzIHNjcm9sbGluZzogY2hhbmdlIGFjdGl2ZSB3b3Jrc3BhY2Ugc2Nyb2xsaW5nIGhvdmVyIHRoZSBpbmRpY2F0b3Jcbi0gU3VwcG9ydCBmb3IgbXVsdGlwbGUgbW9uaXRvciAoZm9yIGJvdGggc3RhdGljIGFuZCBkeW5hbWljIHdvcmtzcGFjZXMpXG4tIFJlbmFtZSB3b3Jrc3BhY2VzIGRpcmVjdGx5IGZyb20gdGhlIGV4dGVuc2lvbiAoYWN0aXZhdGUgaW4gc2V0dGluZ3MpXG4tIEhpZGUvc2hvdyBHTk9NRSBkZWZhdWx0IHdvcmtzcGFjZSBpbmRpY2F0b3IgKGZvcm1lciBhY3Rpdml0aWVzIGJ1dHRvbilcblxuQ3VzdG9taXphdGlvbjpcblxuLSBJbmRpY2F0b3IgcG9zaXRpb25cbi0gTW91c2Ugc2Nyb2xsIGRpcmVjdGlvbiAobm9ybWFsIG9yIGludmVyc2UpXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ21pZGRsZSBjbGljayB0byBjbG9zZSBhcHAnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2NsaWNrIG9uIGFjdGl2ZSB3b3Jrc3BhY2UgdG8gb3ZlcnZpZXcnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2NsaWNrIG9uIGZvY3VzZWQgYXBwbGljYXRpb24gdG8gbWluaW1pemUnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ3dvcmtzcGFjZSBpbmRpY2F0b3InXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2FwcCBpbmRpY2F0b3InXG4tIEN1c3RvbWl6ZSBpbmRpY2F0b3IgY29sb3Jcbi0gQWN0aXZhdGUvZGVhY3RpdmF0ZSAncm91bmQgYm9yZGVycydcbi0gU2hvdy9IaWRlIHdvcmtzcGFjZXMgbmFtZXNcbi0gU2hvdy9IaWRlIGVtcHR5IHdvcmtzcGFjZXNcbi0gQ3VzdG9taXplIGFwcHMgb24gYWxsIHdvcmtzcGFjZXMgdGV4dCBpbmRpY2F0b3Jcbi0gRGVzYXR1cmF0ZSBhbGwgaWNvbnNcbi0gTm8gZWZmZWN0L1JlZHVjZSBvcGFjaXR5L0Rlc2F0dXJhdGUgZm9yIGJvdGggbWluaW1pemVkIGFuZCBpbmFjdGl2ZSBhcHBzXG4tIExpbWl0IGljb25zIHBlciB3b3Jrc3BhY2Vcbi0gR3JvdXAgaWNvbnMgb2Ygc2FtZSBhcHBsaWNhdGlvblxuLSBJZ25vcmUgYXBwbGljYXRpb25zICh3aXRoIHJlZ2V4KSIsCiAgIm5hbWUiOiAiV29ya3NwYWNlcyBpbmRpY2F0b3IgYnkgb3BlbiBhcHBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZXMtaW5kaWNhdG9yLWJ5LW9wZW4tYXBwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRmF2bzAyL3dvcmtzcGFjZXMtYnktb3Blbi1hcHBzIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2VzLWJ5LW9wZW4tYXBwc0BmYXZvMDIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}
+    "45": {"version": "19", "sha256": "1c140xhvh8c6smm0kfrfq2gglxc5nx4h0k88lakhidl7kikfls1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSBzaW1wbGUgd29ya3NwYWNlIGluZGljYXRvciBzaG93aW5nIGljb25zIG9mIGFwcHMgb3BlbiBpbiBpdC5cblxuRmVhdHVyZXM6XG5cbi0gU2hvdyBhIHNpbXBsZSBpbmRpY2F0b3IgdG8gZGlzcGxheSB3b3Jrc3BhY2VzIGFuZCBhcHBzIG9wZW4gaW4gaXRcbi0gU3VwcG9ydCBmb3IgZHJhZyBhbmQgZHJvcDogY2hhbmdlIGFuIGFwcGxpY2F0aW9uIHdvcmtzcGFjZSBqdXN0IGRyYWdnaW5nIGl0cyBpY29uXG4tIFJpZ2h0L0xlZnQgY2xpY2sgdG8gZm9jdXMvbWluaW1pemUgYXBwbGljYXRpb24sIE1pZGRsZSBjbGljayB0byBjbG9zZVxuLSBXb3Jrc3BhY2VzIHNjcm9sbGluZzogY2hhbmdlIGFjdGl2ZSB3b3Jrc3BhY2Ugc2Nyb2xsaW5nIGhvdmVyIHRoZSBpbmRpY2F0b3Jcbi0gU3VwcG9ydCBmb3IgbXVsdGlwbGUgbW9uaXRvciAoZm9yIGJvdGggc3RhdGljIGFuZCBkeW5hbWljIHdvcmtzcGFjZXMpXG4tIFJlbmFtZSB3b3Jrc3BhY2VzIGRpcmVjdGx5IGZyb20gdGhlIGV4dGVuc2lvbiAoYWN0aXZhdGUgaW4gc2V0dGluZ3MpXG4tIEhpZGUvc2hvdyBHTk9NRSBkZWZhdWx0IHdvcmtzcGFjZSBpbmRpY2F0b3IgKGZvcm1lciBhY3Rpdml0aWVzIGJ1dHRvbilcblxuQ3VzdG9taXphdGlvbjpcblxuLSBJbmRpY2F0b3IgcG9zaXRpb25cbi0gTW91c2Ugc2Nyb2xsIGRpcmVjdGlvbiAobm9ybWFsIG9yIGludmVyc2UpXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ21pZGRsZSBjbGljayB0byBjbG9zZSBhcHAnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2NsaWNrIG9uIGFjdGl2ZSB3b3Jrc3BhY2UgdG8gb3ZlcnZpZXcnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2NsaWNrIG9uIGZvY3VzZWQgYXBwbGljYXRpb24gdG8gbWluaW1pemUnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ3dvcmtzcGFjZSBpbmRpY2F0b3InXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2FwcCBpbmRpY2F0b3InXG4tIEN1c3RvbWl6ZSBpbmRpY2F0b3IgY29sb3Jcbi0gQWN0aXZhdGUvZGVhY3RpdmF0ZSAncm91bmQgYm9yZGVycydcbi0gU2hvdy9IaWRlIHdvcmtzcGFjZXMgbmFtZXNcbi0gU2hvdy9IaWRlIGVtcHR5IHdvcmtzcGFjZXNcbi0gQ3VzdG9taXplIGFwcHMgb24gYWxsIHdvcmtzcGFjZXMgdGV4dCBpbmRpY2F0b3Jcbi0gRGVzYXR1cmF0ZSBhbGwgaWNvbnNcbi0gTm8gZWZmZWN0L1JlZHVjZSBvcGFjaXR5L0Rlc2F0dXJhdGUgZm9yIGJvdGggbWluaW1pemVkIGFuZCBpbmFjdGl2ZSBhcHBzXG4tIExpbWl0IGljb25zIHBlciB3b3Jrc3BhY2Vcbi0gR3JvdXAgaWNvbnMgb2Ygc2FtZSBhcHBsaWNhdGlvblxuLSBJZ25vcmUgYXBwbGljYXRpb25zICh3aXRoIHJlZ2V4KVxuLSBTcGFjaW5nIGFuZCBTaXplIG9mIGFwcGxpY2F0aW9ucyBpY29ucyBhbmQgbGFiZWxzIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIGluZGljYXRvciBieSBvcGVuIGFwcHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlcy1pbmRpY2F0b3ItYnktb3Blbi1hcHBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GYXZvMDIvd29ya3NwYWNlcy1ieS1vcGVuLWFwcHMiLAogICJ1dWlkIjogIndvcmtzcGFjZXMtYnktb3Blbi1hcHBzQGZhdm8wMi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="},
+    "46": {"version": "19", "sha256": "1c140xhvh8c6smm0kfrfq2gglxc5nx4h0k88lakhidl7kikfls1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSBzaW1wbGUgd29ya3NwYWNlIGluZGljYXRvciBzaG93aW5nIGljb25zIG9mIGFwcHMgb3BlbiBpbiBpdC5cblxuRmVhdHVyZXM6XG5cbi0gU2hvdyBhIHNpbXBsZSBpbmRpY2F0b3IgdG8gZGlzcGxheSB3b3Jrc3BhY2VzIGFuZCBhcHBzIG9wZW4gaW4gaXRcbi0gU3VwcG9ydCBmb3IgZHJhZyBhbmQgZHJvcDogY2hhbmdlIGFuIGFwcGxpY2F0aW9uIHdvcmtzcGFjZSBqdXN0IGRyYWdnaW5nIGl0cyBpY29uXG4tIFJpZ2h0L0xlZnQgY2xpY2sgdG8gZm9jdXMvbWluaW1pemUgYXBwbGljYXRpb24sIE1pZGRsZSBjbGljayB0byBjbG9zZVxuLSBXb3Jrc3BhY2VzIHNjcm9sbGluZzogY2hhbmdlIGFjdGl2ZSB3b3Jrc3BhY2Ugc2Nyb2xsaW5nIGhvdmVyIHRoZSBpbmRpY2F0b3Jcbi0gU3VwcG9ydCBmb3IgbXVsdGlwbGUgbW9uaXRvciAoZm9yIGJvdGggc3RhdGljIGFuZCBkeW5hbWljIHdvcmtzcGFjZXMpXG4tIFJlbmFtZSB3b3Jrc3BhY2VzIGRpcmVjdGx5IGZyb20gdGhlIGV4dGVuc2lvbiAoYWN0aXZhdGUgaW4gc2V0dGluZ3MpXG4tIEhpZGUvc2hvdyBHTk9NRSBkZWZhdWx0IHdvcmtzcGFjZSBpbmRpY2F0b3IgKGZvcm1lciBhY3Rpdml0aWVzIGJ1dHRvbilcblxuQ3VzdG9taXphdGlvbjpcblxuLSBJbmRpY2F0b3IgcG9zaXRpb25cbi0gTW91c2Ugc2Nyb2xsIGRpcmVjdGlvbiAobm9ybWFsIG9yIGludmVyc2UpXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ21pZGRsZSBjbGljayB0byBjbG9zZSBhcHAnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2NsaWNrIG9uIGFjdGl2ZSB3b3Jrc3BhY2UgdG8gb3ZlcnZpZXcnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2NsaWNrIG9uIGZvY3VzZWQgYXBwbGljYXRpb24gdG8gbWluaW1pemUnXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ3dvcmtzcGFjZSBpbmRpY2F0b3InXG4tIEFjdGl2YXRlL2RlYWN0aXZhdGUgJ2FwcCBpbmRpY2F0b3InXG4tIEN1c3RvbWl6ZSBpbmRpY2F0b3IgY29sb3Jcbi0gQWN0aXZhdGUvZGVhY3RpdmF0ZSAncm91bmQgYm9yZGVycydcbi0gU2hvdy9IaWRlIHdvcmtzcGFjZXMgbmFtZXNcbi0gU2hvdy9IaWRlIGVtcHR5IHdvcmtzcGFjZXNcbi0gQ3VzdG9taXplIGFwcHMgb24gYWxsIHdvcmtzcGFjZXMgdGV4dCBpbmRpY2F0b3Jcbi0gRGVzYXR1cmF0ZSBhbGwgaWNvbnNcbi0gTm8gZWZmZWN0L1JlZHVjZSBvcGFjaXR5L0Rlc2F0dXJhdGUgZm9yIGJvdGggbWluaW1pemVkIGFuZCBpbmFjdGl2ZSBhcHBzXG4tIExpbWl0IGljb25zIHBlciB3b3Jrc3BhY2Vcbi0gR3JvdXAgaWNvbnMgb2Ygc2FtZSBhcHBsaWNhdGlvblxuLSBJZ25vcmUgYXBwbGljYXRpb25zICh3aXRoIHJlZ2V4KVxuLSBTcGFjaW5nIGFuZCBTaXplIG9mIGFwcGxpY2F0aW9ucyBpY29ucyBhbmQgbGFiZWxzIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIGluZGljYXRvciBieSBvcGVuIGFwcHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud29ya3NwYWNlcy1pbmRpY2F0b3ItYnktb3Blbi1hcHBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GYXZvMDIvd29ya3NwYWNlcy1ieS1vcGVuLWFwcHMiLAogICJ1dWlkIjogIndvcmtzcGFjZXMtYnktb3Blbi1hcHBzQGZhdm8wMi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}
   }}
 , {"uuid": "fshyperlinks@nuclear.polygon", "name": "FS Hyperlinks", "pname": "fs-hyperlinks", "description": "Select a path to jump there (When Ctrl is down)\nAlt+J to open file or directory with default app (when its path is in clipboard)", "link": "https://extensions.gnome.org/extension/5970/fs-hyperlinks/", "shell_version_map": {
     "38": {"version": "5", "sha256": "0q6gsl75vivslv9yw8ik5pfapdz4ivvr9bmai2pjy2ls7cw9zf9k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlbGVjdCBhIHBhdGggdG8ganVtcCB0aGVyZSAoV2hlbiBDdHJsIGlzIGRvd24pXG5BbHQrSiB0byBvcGVuIGZpbGUgb3IgZGlyZWN0b3J5IHdpdGggZGVmYXVsdCBhcHAgKHdoZW4gaXRzIHBhdGggaXMgaW4gY2xpcGJvYXJkKSIsCiAgIm5hbWUiOiAiRlMgSHlwZXJsaW5rcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbnVjbGVhcnBvbHlnb24vZnNfaHlwZXJsaW5rc19nbm9tZV9leHRlbnNpb24iLAogICJ1dWlkIjogImZzaHlwZXJsaW5rc0BudWNsZWFyLnBvbHlnb24iLAogICJ2ZXJzaW9uIjogNQp9"},
@@ -6184,8 +6198,8 @@
     "42": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
     "43": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
     "44": {"version": "95", "sha256": "0myj4g5351fi04w3iwpshjhy9a5vgq85nwd186ymlvnjby12d6fh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi4iLAogICJuYW1lIjogIkdpdGh1YiBBY3Rpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJhcm9ub25ha0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGh1Yi1hY3Rpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm9ub25hay9naXRodWItYWN0aW9ucy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGh1Yi1hY3Rpb25zQGFyb25vbmFrLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA5NQp9"},
-    "45": {"version": "138", "sha256": "0fr1n41yi070waxvs9yx53n78hw8nc2mxyr9b5pn70znyhh7iqvy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJvbm9uYWsvZ2l0aHViLWFjdGlvbnMtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRodWItYWN0aW9uc0Bhcm9ub25hay5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTM4Cn0="},
-    "46": {"version": "138", "sha256": "0fr1n41yi070waxvs9yx53n78hw8nc2mxyr9b5pn70znyhh7iqvy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJvbm9uYWsvZ2l0aHViLWFjdGlvbnMtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRodWItYWN0aW9uc0Bhcm9ub25hay5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTM4Cn0="}
+    "45": {"version": "140", "sha256": "1jkzhxl47dkh5jijcgf6z00jnrr518xpmdiv7fw0mjr91m0a3g2b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJvbm9uYWsvZ2l0aHViLWFjdGlvbnMtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRodWItYWN0aW9uc0Bhcm9ub25hay5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQwCn0="},
+    "46": {"version": "140", "sha256": "1jkzhxl47dkh5jijcgf6z00jnrr518xpmdiv7fw0mjr91m0a3g2b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvb2wgdG8gU2hvdyBHaXRodWIgQWN0aW9ucyBzdGF0dXMgb24gR25vbWUgRGVza3RvcC5cblxuQ2hlY2sgb24gZ2l0aHViIGhvdyB0byBpbnN0YWxsLlxuaWYgeW91IGxpa2UgaXQgZ2l2ZSBtZSBhIHN0YXIgb24gZ2l0aHViICFcblxuQWZ0ZXIgdXBkYXRpbmcsIGlmIHlvdSBnZXQgYW4gZXJyb3IsIHBsZWFzZSByZWxvZ2luLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBNaWNyb3NvZnQgYW5kIEdpdEh1Yi5cblxuVmVyc2lvbnMgYmVsb3cgZ25vbWUgNDUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIDovIiwKICAibmFtZSI6ICJHaXRodWIgQWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiYXJvbm9uYWtAZ21haWwuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5naXRodWItYWN0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJvbm9uYWsvZ2l0aHViLWFjdGlvbnMtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRodWItYWN0aW9uc0Bhcm9ub25hay5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQwCn0="}
   }}
 , {"uuid": "dim-completed-calendar-events@marcinjahn.com", "name": "Dim Completed Calendar Events", "pname": "dim-completed-calendar-events", "description": "Dim completed events in the top panel menu to easily distinguish between upcoming and past events. You can also highlight events that are ongoing.", "link": "https://extensions.gnome.org/extension/5979/dim-completed-calendar-events/", "shell_version_map": {
     "44": {"version": "3", "sha256": "0dpyrhdc70f77wv8hx7d6xnpxx13c2qfp7dbx716mqq90raij39f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpbSBjb21wbGV0ZWQgZXZlbnRzIGluIHRoZSB0b3AgcGFuZWwgbWVudSB0byBlYXNpbHkgZGlzdGluZ3Vpc2ggYmV0d2VlbiB1cGNvbWluZyBhbmQgcGFzdCBldmVudHMuIFlvdSBjYW4gYWxzbyBoaWdobGlnaHQgZXZlbnRzIHRoYXQgYXJlIG9uZ29pbmcuIiwKICAibmFtZSI6ICJEaW0gQ29tcGxldGVkIENhbGVuZGFyIEV2ZW50cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXJjaW5qYWhuL2dub21lLWRpbS1jb21wbGV0ZWQtY2FsZW5kYXItZXZlbnRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZGltLWNvbXBsZXRlZC1jYWxlbmRhci1ldmVudHNAbWFyY2luamFobi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"},
@@ -6266,7 +6280,8 @@
 , {"uuid": "systemd-status@ne0sight.github.io", "name": "Systemd Status", "pname": "systemd-status", "description": "Show systemd system state", "link": "https://extensions.gnome.org/extension/6045/systemd-status/", "shell_version_map": {
     "43": {"version": "5", "sha256": "103f6rn0py6ivrxhgmr11bxqj7lnd15w8f4pl1k88a11r2gkpqb8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc3lzdGVtZCBzeXN0ZW0gc3RhdGUiLAogICJuYW1lIjogIlN5c3RlbWQgU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uRTBzSWdoVC9zeXN0ZW1kLXN0YXR1cy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogInN5c3RlbWQtc3RhdHVzQG5lMHNpZ2h0LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="},
     "44": {"version": "5", "sha256": "103f6rn0py6ivrxhgmr11bxqj7lnd15w8f4pl1k88a11r2gkpqb8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc3lzdGVtZCBzeXN0ZW0gc3RhdGUiLAogICJuYW1lIjogIlN5c3RlbWQgU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uRTBzSWdoVC9zeXN0ZW1kLXN0YXR1cy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogInN5c3RlbWQtc3RhdHVzQG5lMHNpZ2h0LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="},
-    "45": {"version": "6", "sha256": "0mwsyg2df835cww9hmp86mz5ncxlggiw746r0kyl3xa6pqyxpfrx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc3lzdGVtZCBzeXN0ZW0gc3RhdGUiLAogICJuYW1lIjogIlN5c3RlbWQgU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25FMHNJZ2hUL3N5c3RlbWQtc3RhdHVzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3lzdGVtZC1zdGF0dXNAbmUwc2lnaHQuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}
+    "45": {"version": "7", "sha256": "09i43vmzrrkm1iv7jwfw497q02rx1swcwsacq77qj2nwwlbnjwwb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc3lzdGVtZCBzeXN0ZW0gc3RhdGUiLAogICJuYW1lIjogIlN5c3RlbWQgU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uRTBzSWdoVC9zeXN0ZW1kLXN0YXR1cy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogInN5c3RlbWQtc3RhdHVzQG5lMHNpZ2h0LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="},
+    "46": {"version": "7", "sha256": "09i43vmzrrkm1iv7jwfw497q02rx1swcwsacq77qj2nwwlbnjwwb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc3lzdGVtZCBzeXN0ZW0gc3RhdGUiLAogICJuYW1lIjogIlN5c3RlbWQgU3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uRTBzSWdoVC9zeXN0ZW1kLXN0YXR1cy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogInN5c3RlbWQtc3RhdHVzQG5lMHNpZ2h0LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}
   }}
 , {"uuid": "peek-top-bar-on-fullscreen@marcinjahn.com", "name": "Peek Top Bar on Fullscreen", "pname": "peek-top-bar-on-fullscreen", "description": "Show the top bar (panel) on demand while having full screen content on (like a YouTube video). Just hover the mouse cursor to the top of the screen, and the panel will show up. This way, you can quickly check the time, or swich some toggles. This is similar to what macOS offers for full screen apps.\n\nThis extension is incompatible with Blur My Shell extension.", "link": "https://extensions.gnome.org/extension/6048/peek-top-bar-on-fullscreen/", "shell_version_map": {
     "43": {"version": "8", "sha256": "1p196by16zmgsy5af1jsgrm38p6vrrzh1pn2nbar6zw25pldsn8p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHRvcCBiYXIgKHBhbmVsKSBvbiBkZW1hbmQgd2hpbGUgaGF2aW5nIGZ1bGwgc2NyZWVuIGNvbnRlbnQgb24gKGxpa2UgYSBZb3VUdWJlIHZpZGVvKS4gSnVzdCBob3ZlciB0aGUgbW91c2UgY3Vyc29yIHRvIHRoZSB0b3Agb2YgdGhlIHNjcmVlbiwgYW5kIHRoZSBwYW5lbCB3aWxsIHNob3cgdXAuIFRoaXMgd2F5LCB5b3UgY2FuIHF1aWNrbHkgY2hlY2sgdGhlIHRpbWUsIG9yIHN3aWNoIHNvbWUgdG9nZ2xlcy4gVGhpcyBpcyBzaW1pbGFyIHRvIHdoYXQgbWFjT1Mgb2ZmZXJzIGZvciBmdWxsIHNjcmVlbiBhcHBzLlxuXG5PbiBXYXlsYW5kLCB0byBoaWRlIHRoZSB0b3AgYmFyLCB5b3UgbmVlZCB0byBjbGljayB0aGUgcHJpbWFyeSBtb3VzZSBidXR0b24gc29tZXdoZXJlIG91dHNpZGUgb2YgdGhlIGJhci4gT24gWDExLCBqdXN0IHRha2UgdGhlIGN1cnNvciBhd2F5IGZyb20gdGhlIGJhci5cblRoaXMgZXh0ZW5zaW9uIGlzIGluY29tcGF0aWJsZSB3aXRoIEJsdXIgTXkgU2hlbGwgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiUGVlayBUb3AgQmFyIG9uIEZ1bGxzY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmNpbmphaG4vZ25vbWUtcGVlay10b3AtYmFyLW9uLWZ1bGxzY3JlZW4tZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJwZWVrLXRvcC1iYXItb24tZnVsbHNjcmVlbkBtYXJjaW5qYWhuLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="},
@@ -6336,7 +6351,7 @@
     "43": {"version": "13", "sha256": "0wb5blp4kx1wasfqlwb8nh0kpcc14azm9rr5xqr4cw3wm3z2n29q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBFeHRlbnNpb24gdGhhdCBzaG93cyB5b3VyIGN1cnJlbnQgcHVibGljIElQIGFkZHJlc3MuIEl0J3MgcmV0cmlldmVkIGJ5IGEgY3VybCBjb21tYW5kIHRvIGlwLmxhY29kaWZpY2Fkb3JhLmNvbSIsCiAgIm5hbWUiOiAiU2hvdyBQdWJsaWMgSVAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VsY2FtaWxldC9zaG93LWlwLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic2hvd2lwQGxhY29kaWZpY2Fkb3JhLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"},
     "44": {"version": "13", "sha256": "0wb5blp4kx1wasfqlwb8nh0kpcc14azm9rr5xqr4cw3wm3z2n29q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBFeHRlbnNpb24gdGhhdCBzaG93cyB5b3VyIGN1cnJlbnQgcHVibGljIElQIGFkZHJlc3MuIEl0J3MgcmV0cmlldmVkIGJ5IGEgY3VybCBjb21tYW5kIHRvIGlwLmxhY29kaWZpY2Fkb3JhLmNvbSIsCiAgIm5hbWUiOiAiU2hvdyBQdWJsaWMgSVAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VsY2FtaWxldC9zaG93LWlwLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic2hvd2lwQGxhY29kaWZpY2Fkb3JhLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}
   }}
-, {"uuid": "smile-extension@mijorus.it", "name": "Smile - complementary extension", "pname": "smile-complementary-extension", "description": "Automatically paste Emojis from the Smile emoji picker", "link": "https://extensions.gnome.org/extension/6096/smile-complementary-extension/", "shell_version_map": {
+, {"uuid": "smile-extension@mijorus.it", "name": "Smile - complementary extension", "pname": "smile-complementary-extension", "description": "Automatically paste Emojis from the Smile emoji picker.", "link": "https://extensions.gnome.org/extension/6096/smile-complementary-extension/", "shell_version_map": {
     "42": {"version": "4", "sha256": "1nzzsm6ai8b0l8c5xvx83cspm4gzx1n6wfdrbik3g7xam06hr861", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcGFzdGUgRW1vamlzIGZyb20gdGhlIFNtaWxlIGVtb2ppIHBpY2tlciIsCiAgIm5hbWUiOiAiU21pbGUgLSBjb21wbGVtZW50YXJ5IGV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pam9ydXMvc21pbGUtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzbWlsZS1leHRlbnNpb25AbWlqb3J1cy5pdCIsCiAgInZlcnNpb24iOiA0Cn0="},
     "43": {"version": "4", "sha256": "1nzzsm6ai8b0l8c5xvx83cspm4gzx1n6wfdrbik3g7xam06hr861", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcGFzdGUgRW1vamlzIGZyb20gdGhlIFNtaWxlIGVtb2ppIHBpY2tlciIsCiAgIm5hbWUiOiAiU21pbGUgLSBjb21wbGVtZW50YXJ5IGV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pam9ydXMvc21pbGUtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzbWlsZS1leHRlbnNpb25AbWlqb3J1cy5pdCIsCiAgInZlcnNpb24iOiA0Cn0="},
     "44": {"version": "4", "sha256": "1nzzsm6ai8b0l8c5xvx83cspm4gzx1n6wfdrbik3g7xam06hr861", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgcGFzdGUgRW1vamlzIGZyb20gdGhlIFNtaWxlIGVtb2ppIHBpY2tlciIsCiAgIm5hbWUiOiAiU21pbGUgLSBjb21wbGVtZW50YXJ5IGV4dGVuc2lvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pam9ydXMvc21pbGUtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzbWlsZS1leHRlbnNpb25AbWlqb3J1cy5pdCIsCiAgInZlcnNpb24iOiA0Cn0="},
@@ -6347,8 +6362,8 @@
     "42": {"version": "101", "sha256": "1f88bvkwdvvp35ih4spxkff11n30blh043dr1xnihw8hh78bwphi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAxLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDQuMTguMCIKfQ=="},
     "43": {"version": "101", "sha256": "1f88bvkwdvvp35ih4spxkff11n30blh043dr1xnihw8hh78bwphi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAxLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDQuMTguMCIKfQ=="},
     "44": {"version": "101", "sha256": "1f88bvkwdvvp35ih4spxkff11n30blh043dr1xnihw8hh78bwphi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJuYW1lIjogIlBhcGVyV00iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGFwZXJ3bSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAxLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDQuMTguMCIKfQ=="},
-    "45": {"version": "108", "sha256": "1h2py70a2x608m08bvd1yrhldbdrs297biphswq90pq60sla3pzc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogImpheXRhYWxhIiwKICAgICJwYXRyZW9uIjogInZhbHBhY2tldHQiCiAgfSwKICAibmFtZSI6ICJQYXBlcldNIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhcGVyd20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTA4LAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuOS4wIgp9"},
-    "46": {"version": "108", "sha256": "1h2py70a2x608m08bvd1yrhldbdrs297biphswq90pq60sla3pzc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogImpheXRhYWxhIiwKICAgICJwYXRyZW9uIjogInZhbHBhY2tldHQiCiAgfSwKICAibmFtZSI6ICJQYXBlcldNIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhcGVyd20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTA4LAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuOS4wIgp9"}
+    "45": {"version": "111", "sha256": "0jn8lp0ncxbj20kma1gikz89a7y6wbb1h4qkc3ksv22lygmwkaf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogImpheXRhYWxhIiwKICAgICJwYXRyZW9uIjogInZhbHBhY2tldHQiCiAgfSwKICAibmFtZSI6ICJQYXBlcldNIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhcGVyd20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTExLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuMTAuMSIKfQ=="},
+    "46": {"version": "111", "sha256": "0jn8lp0ncxbj20kma1gikz89a7y6wbb1h4qkc3ksv22lygmwkaf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGEgdHdpc3QiLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogImpheXRhYWxhIiwKICAgICJwYXRyZW9uIjogInZhbHBhY2tldHQiCiAgfSwKICAibmFtZSI6ICJQYXBlcldNIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhcGVyd20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcGVyd20vUGFwZXJXTSIsCiAgInV1aWQiOiAicGFwZXJ3bUBwYXBlcndtLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTExLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuMTAuMSIKfQ=="}
   }}
 , {"uuid": "lightshell@dikasp.gitlab", "name": "Light Shell", "pname": "light-shell", "description": "the missing full light style gnome shell theme you had been looking for :D\n\nNOTE: later release are merged and continue within Luminus extension. brings various improvement and dark mode integration.", "link": "https://extensions.gnome.org/extension/6102/light-shell/", "shell_version_map": {
     "42": {"version": "11", "sha256": "0fqshl06w2amy8d3gw2car4rab6zqpi79dg5dr05d5swggq1vm8n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGx5IGZ1bGwgbGlnaHQgdGhlbWUgaW50byBkZWZhdWx0IGdub21lIHNoZWxsLCBpbmNsdWRpbmcgbGlnaHQgb3ZlcnZpZXcuIiwKICAibmFtZSI6ICJMaWdodCBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9kaWthc2V0eWFwcmF5b2dpL2xpZ2h0LXNoZWxsIiwKICAidXVpZCI6ICJsaWdodHNoZWxsQGRpa2FzcC5naXRsYWIiLAogICJ2ZXJzaW9uIjogMTEKfQ=="},
@@ -6449,7 +6464,8 @@
     "42": {"version": "8", "sha256": "0g1bcs897k5qyw5qpxmd0w7kb64jqkddk70xqznlvbcycy7x59nh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FyaWZlc2F0L1VTRC1UUlktR1NoZWxsIiwKICAidXVpZCI6ICJ1c2QtdHJ5LWdzaGVsbEBhcmlmZXNhdC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="},
     "43": {"version": "4", "sha256": "03dajywpcvvhxcwz8jv1yq230iznh30i2lbxs01gpijl4gir7rhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJpZmVzYXQvVVNELVRSWS1HU2hlbGwiLAogICJ1dWlkIjogInVzZC10cnktZ3NoZWxsQGFyaWZlc2F0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"},
     "44": {"version": "4", "sha256": "03dajywpcvvhxcwz8jv1yq230iznh30i2lbxs01gpijl4gir7rhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJpZmVzYXQvVVNELVRSWS1HU2hlbGwiLAogICJ1dWlkIjogInVzZC10cnktZ3NoZWxsQGFyaWZlc2F0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"},
-    "45": {"version": "7", "sha256": "0045lld30k30425scg2f686isnh2sqvwq41n62p9jc2lx4kvh5kg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmlmZXNhdC9VU0QtVFJZLUdTaGVsbCIsCiAgInV1aWQiOiAidXNkLXRyeS1nc2hlbGxAYXJpZmVzYXQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}
+    "45": {"version": "7", "sha256": "0045lld30k30425scg2f686isnh2sqvwq41n62p9jc2lx4kvh5kg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmlmZXNhdC9VU0QtVFJZLUdTaGVsbCIsCiAgInV1aWQiOiAidXNkLXRyeS1nc2hlbGxAYXJpZmVzYXQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="},
+    "46": {"version": "9", "sha256": "0inpjrk1vg12i82y4xzb4zipc8xssxg62da96b5xddw9ld9qbl67", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVTRCAoVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gVFJZIChUdXJraXNoIExpcmEpLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzLlxuXG5JdCBpcyBhIGZvcmsgb2YgRG9sbGFyLVBLUi4gVGhpcyBleHRlbnNpb24gdXNlcyBlY29ub21pYS5hd2Vzb21lYXBpLmNvbS5iciIsCiAgIm5hbWUiOiAiVVNELVRSWSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmlmZXNhdC9VU0QtVFJZLUdTaGVsbCIsCiAgInV1aWQiOiAidXNkLXRyeS1nc2hlbGxAYXJpZmVzYXQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}
   }}
 , {"uuid": "hide-dock-in-overview@roslax", "name": "Hide the dock in overview", "pname": "hide-the-dock-in-overview", "description": "hides the dock in overview mode", "link": "https://extensions.gnome.org/extension/6195/hide-the-dock-in-overview/", "shell_version_map": {
     "43": {"version": "16", "sha256": "1gbwm8gwcrk2qslxgcb65jqgbcnlpsp4wbl655dg7wj8fa88l6ns", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIHRoZSBkb2NrIGluIG92ZXJ2aWV3IG1vZGUiLAogICJuYW1lIjogIkhpZGUgdGhlIGRvY2sgaW4gb3ZlcnZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUm9zR3RIdWIvSGlkZS1kb2NrLWluLW92ZXJ2aWV3IiwKICAidXVpZCI6ICJoaWRlLWRvY2staW4tb3ZlcnZpZXdAcm9zbGF4IiwKICAidmVyc2lvbiI6IDE2Cn0="},
@@ -6459,7 +6475,7 @@
   }}
 , {"uuid": "light-style@gnome-shell-extensions.gcampax.github.com", "name": "Light Style", "pname": "light-style", "description": "Switch default to light style", "link": "https://extensions.gnome.org/extension/6198/light-style/", "shell_version_map": {
     "45": {"version": "3", "sha256": "1x846d9s4knv36g0wh3zmkmpkvv14jbb15qh9pa5xwmysbpbawh7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBkZWZhdWx0IHRvIGxpZ2h0IHN0eWxlIiwKICAiZXh0ZW5zaW9uLWlkIjogImxpZ2h0LXN0eWxlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxpZ2h0LXN0eWxlIiwKICAibmFtZSI6ICJMaWdodCBTdHlsZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1zdHlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsaWdodC1zdHlsZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="},
-    "46": {"version": "5", "sha256": "1ms18x61w2vx2yl399871haav4iklyxlv91xfljanlkig6mmbq0g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBkZWZhdWx0IHRvIGxpZ2h0IHN0eWxlIiwKICAiZXh0ZW5zaW9uLWlkIjogImxpZ2h0LXN0eWxlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxpZ2h0LXN0eWxlIiwKICAibmFtZSI6ICJMaWdodCBTdHlsZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1zdHlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsaWdodC1zdHlsZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}
+    "46": {"version": "6", "sha256": "0pcqcf6lypm6hlcj73436y0bp5jl9h4syppc34bidjczq4hza1ij", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBkZWZhdWx0IHRvIGxpZ2h0IHN0eWxlIiwKICAiZXh0ZW5zaW9uLWlkIjogImxpZ2h0LXN0eWxlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxpZ2h0LXN0eWxlIiwKICAibmFtZSI6ICJMaWdodCBTdHlsZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1zdHlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsaWdodC1zdHlsZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}
   }}
 , {"uuid": "transmission-daemon-ng@glerro.pm.me", "name": "Transmission Daemon Indicator NG", "pname": "transmission-daemon-indicator-ng", "description": "Monitor and control transmission-daemon or transmission-gtk.\nThe extension use the Transmission RPC protocol for interacting with it.\n\nFragments 2.0 user also can use this extension because it is a frontend for transmission-daemon.\n\nThis extension is only for Gnome Shell version major or equal to 43 because it use libsoup3.", "link": "https://extensions.gnome.org/extension/6204/transmission-daemon-indicator-ng/", "shell_version_map": {
     "43": {"version": "5", "sha256": "1g4dxrw7d9yik2y86l66nm50p7glyym6x0ff005kxmd42cl7dv9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vbml0b3IgYW5kIGNvbnRyb2wgdHJhbnNtaXNzaW9uLWRhZW1vbiBvciB0cmFuc21pc3Npb24tZ3RrLlxuVGhlIGV4dGVuc2lvbiB1c2UgdGhlIFRyYW5zbWlzc2lvbiBSUEMgcHJvdG9jb2wgZm9yIGludGVyYWN0aW5nIHdpdGggaXQuXG5cbkZyYWdtZW50cyAyLjAgdXNlciBhbHNvIGNhbiB1c2UgdGhpcyBleHRlbnNpb24gYmVjYXVzZSBpdCBpcyBhIGZyb250ZW5kIGZvciB0cmFuc21pc3Npb24tZGFlbW9uLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBvbmx5IGZvciBHbm9tZSBTaGVsbCB2ZXJzaW9uIG1ham9yIG9yIGVxdWFsIHRvIDQzIGJlY2F1c2UgaXQgdXNlIGxpYnNvdXAzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJrb2ZpIjogImdsZXJybyIKICB9LAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNtaXNzaW9uLWRhZW1vbi1uZyIsCiAgIm5hbWUiOiAiVHJhbnNtaXNzaW9uIERhZW1vbiBJbmRpY2F0b3IgTkciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNtaXNzaW9uLWRhZW1vbi1uZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvZ2xlcnJvL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc21pc3Npb24tZGFlbW9uLW5nIiwKICAidXVpZCI6ICJ0cmFuc21pc3Npb24tZGFlbW9uLW5nQGdsZXJyby5wbS5tZSIsCiAgInZlcnNpb24iOiA1Cn0="},
@@ -6534,8 +6550,9 @@
     "45": {"version": "13", "sha256": "09q3av0magrm4b6xzcsmhmxi24v6h4wc9xcgfc2qjzkbr3w4v42f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBjdXN0b20gdGV4dCB0byB3b3Jrc3BhY2UgaW5kaWNhdG9ycyIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJidXltZWFjb2ZmZWUiOiAicHJhdGFwcGFuYWJha2EiCiAgfSwKICAibmFtZSI6ICJBZGQgQ3VzdG9tIFRleHQgdG8gV29ya3NwYWNlIEluZGljYXRvcnMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWRkLWN1c3RvbS10ZXh0LXRvLXdvcmtzcGFjZS1pbmRpY2F0b3JzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvYWRkLWN1c3RvbS10ZXh0LXRvLXdvcmtzcGFjZS1pbmRpY2F0b3JzIiwKICAidXVpZCI6ICJBZGRDdXN0b21UZXh0VG9Xb3JrU3BhY2VJbmRpY2F0b3JzQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAxMwp9"},
     "46": {"version": "13", "sha256": "09q3av0magrm4b6xzcsmhmxi24v6h4wc9xcgfc2qjzkbr3w4v42f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBjdXN0b20gdGV4dCB0byB3b3Jrc3BhY2UgaW5kaWNhdG9ycyIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJidXltZWFjb2ZmZWUiOiAicHJhdGFwcGFuYWJha2EiCiAgfSwKICAibmFtZSI6ICJBZGQgQ3VzdG9tIFRleHQgdG8gV29ya3NwYWNlIEluZGljYXRvcnMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWRkLWN1c3RvbS10ZXh0LXRvLXdvcmtzcGFjZS1pbmRpY2F0b3JzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvYWRkLWN1c3RvbS10ZXh0LXRvLXdvcmtzcGFjZS1pbmRpY2F0b3JzIiwKICAidXVpZCI6ICJBZGRDdXN0b21UZXh0VG9Xb3JrU3BhY2VJbmRpY2F0b3JzQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAxMwp9"}
   }}
-, {"uuid": "strings@lobau.io", "name": "Strings", "pname": "strings", "description": "Copy all kind of useful strings like dates, lorem ipsum, random colors, etc.", "link": "https://extensions.gnome.org/extension/6275/strings/", "shell_version_map": {
-    "45": {"version": "2", "sha256": "17hi757widdxfnq6b5iaddv4w03bj4ly4wvd289wbm7lbphfrk70", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkgYWxsIGtpbmQgb2YgdXNlZnVsIHN0cmluZ3MgbGlrZSBkYXRlcywgbG9yZW0gaXBzdW0sIHJhbmRvbSBjb2xvcnMsIGV0Yy4iLAogICJuYW1lIjogIlN0cmluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbG9iYXUvc3RyaW5ncy1leHRlbnNpb24iLAogICJ1dWlkIjogInN0cmluZ3NAbG9iYXUuaW8iLAogICJ2ZXJzaW9uIjogMgp9"}
+, {"uuid": "strings@lobau.io", "name": "Strings", "pname": "strings", "description": "Quickly copy to your clipboard all kind of useful strings.\n\nDates (example)\n- Full (Thursday, May 16, 2024)\n- Short (2024-05-16)\n- ISO 8601 (2024-05-16T21:49:10.881Z)\n- Epoch (1715896175628)\n\nRandom strings (example)\n- UUID (f5195029-0fee-465b-9bda-71429f258914)\n- Hash (huWH4lzEuOlYOYbq)\n- Lorem ipsum (Tortor enim enim consectetur dui tristique.)\n- HEX Color (#E34658)\n\nNOTE: UUID and Hash are NOT cryptographic, as they rely on Math.random(). If there is a better way to do in the confine of an extension, please leave a note on the repo!", "link": "https://extensions.gnome.org/extension/6275/strings/", "shell_version_map": {
+    "45": {"version": "2", "sha256": "17hi757widdxfnq6b5iaddv4w03bj4ly4wvd289wbm7lbphfrk70", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkgYWxsIGtpbmQgb2YgdXNlZnVsIHN0cmluZ3MgbGlrZSBkYXRlcywgbG9yZW0gaXBzdW0sIHJhbmRvbSBjb2xvcnMsIGV0Yy4iLAogICJuYW1lIjogIlN0cmluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbG9iYXUvc3RyaW5ncy1leHRlbnNpb24iLAogICJ1dWlkIjogInN0cmluZ3NAbG9iYXUuaW8iLAogICJ2ZXJzaW9uIjogMgp9"},
+    "46": {"version": "3", "sha256": "1f9304ly54nqdm13pqi7b8y24n2yqnf4vsnvd5v1yz42rrjkn0ni", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkgYWxsIGtpbmQgb2YgdXNlZnVsIHN0cmluZ3MgbGlrZSBkYXRlcywgbG9yZW0gaXBzdW0sIHJhbmRvbSBjb2xvcnMsIGV0Yy4iLAogICJuYW1lIjogIlN0cmluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbG9iYXUvc3RyaW5ncy1leHRlbnNpb24iLAogICJ1dWlkIjogInN0cmluZ3NAbG9iYXUuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}
   }}
 , {"uuid": "battery-usage-wattmeter@halfmexicanhalfamazing.gmail.com", "name": "Battery Usage Wattmeter", "pname": "battery-usage-wattmeter", "description": " Shows charging/discharging consumption (+/-) in Watt next to battery percentage level.\nDefault sync reload set to 4 seconds.\nNo consumption info when battery is full.\nFork of https://github.com/wennaspeedy/batt_consumption_wattmetter", "link": "https://extensions.gnome.org/extension/6278/battery-usage-wattmeter/", "shell_version_map": {
     "43": {"version": "2", "sha256": "06kg17qp07wlpsa5gcl5ah8av6dx8cp2df87xkm39rkj58whf2fp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiBTaG93cyBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRGVmYXVsdCBzeW5jIHJlbG9hZCBzZXQgdG8gNCBzZWNvbmRzLlxuTm8gY29uc3VtcHRpb24gaW5mbyB3aGVuIGJhdHRlcnkgaXMgZnVsbC5cbkZvcmsgb2YgaHR0cHM6Ly9naXRodWIuY29tL3dlbm5hc3BlZWR5L2JhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlciIsCiAgIm5hbWUiOiAiQmF0dGVyeSBVc2FnZSBXYXR0bWV0ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhbGZtZXhpY2FuL2JhdHRlcnktdXNhZ2Utd2F0dG1ldGVyLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYmF0dGVyeS11c2FnZS13YXR0bWV0ZXJAaGFsZm1leGljYW5oYWxmYW1hemluZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"},
@@ -6560,7 +6577,8 @@
     "45": {"version": "1", "sha256": "1cx0gwbc020jwdpjysm1kabhdnip16kzsgz5l9sf8pv9lrrdmj06", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBTaGVsbC1vbmx5IGRlZmF1bHQgdG8gZGFyayBzdHlsZS4gVXNlZnVsIGZvciBVYnVudHUuIiwKICAiZXh0ZW5zaW9uLWlkIjogImRhcmstc3R5bGUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJEYXJrIFN0eWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRhcmstc3R5bGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9kYXJrLXN0eWxlIiwKICAidXVpZCI6ICJkYXJrLXN0eWxlQGZ0aHgiLAogICJ2ZXJzaW9uIjogMQp9"}
   }}
 , {"uuid": "custom-window-controls@icedman.github.com", "name": "Custom Window Controls", "pname": "custom-window-controls", "description": "Theme the window control buttons. (Warning: Highly Experimental)", "link": "https://extensions.gnome.org/extension/6300/custom-window-controls/", "shell_version_map": {
-    "45": {"version": "6", "sha256": "0h9v42f42i4g2in5xxpf216x1r91p507himpz2d5dz2jwm2q9kmi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZW1lIHRoZSB3aW5kb3cgY29udHJvbCBidXR0b25zLiAoV2FybmluZzogSGlnaGx5IEV4cGVyaW1lbnRhbCkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20td2luZG93LWNvbnRyb2xzIiwKICAibmFtZSI6ICJDdXN0b20gV2luZG93IENvbnRyb2xzIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS13aW5kb3ctY29udHJvbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWNlZG1hbi9jdXN0b20td2luZG93LWNvbnRyb2xzIiwKICAidXVpZCI6ICJjdXN0b20td2luZG93LWNvbnRyb2xzQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}
+    "45": {"version": "8", "sha256": "00sw6xn7kr12hqzyxkpc4b0c1ahy4717in1zixb24ny1n21736r7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZW1lIHRoZSB3aW5kb3cgY29udHJvbCBidXR0b25zLiAoV2FybmluZzogSGlnaGx5IEV4cGVyaW1lbnRhbCkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20td2luZG93LWNvbnRyb2xzIiwKICAibmFtZSI6ICJDdXN0b20gV2luZG93IENvbnRyb2xzIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS13aW5kb3ctY29udHJvbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vY3VzdG9tLXdpbmRvdy1jb250cm9scyIsCiAgInV1aWQiOiAiY3VzdG9tLXdpbmRvdy1jb250cm9sc0BpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"},
+    "46": {"version": "8", "sha256": "00sw6xn7kr12hqzyxkpc4b0c1ahy4717in1zixb24ny1n21736r7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZW1lIHRoZSB3aW5kb3cgY29udHJvbCBidXR0b25zLiAoV2FybmluZzogSGlnaGx5IEV4cGVyaW1lbnRhbCkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20td2luZG93LWNvbnRyb2xzIiwKICAibmFtZSI6ICJDdXN0b20gV2luZG93IENvbnRyb2xzIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS13aW5kb3ctY29udHJvbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vY3VzdG9tLXdpbmRvdy1jb250cm9scyIsCiAgInV1aWQiOiAiY3VzdG9tLXdpbmRvdy1jb250cm9sc0BpY2VkbWFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOAp9"}
   }}
 , {"uuid": "workspace-indicator-left@gmtborges.com", "name": "Workspace Indicator Left", "pname": "workspace-indicator-left", "description": "The same as Workspace Indicator, but on the left like swaywm.\n\nIt is a fork of Workspace Indicator by fmuellner.", "link": "https://extensions.gnome.org/extension/6303/workspace-indicator-left/", "shell_version_map": {
     "44": {"version": "2", "sha256": "0yhczb1cbh39ryrk2zw5nqmda819h748pdslpm0rxn4jy3dzpn4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBzYW1lIGFzIFdvcmtzcGFjZSBJbmRpY2F0b3IsIGJ1dCBvbiB0aGUgbGVmdCBsaWtlIHN3YXl3bS5cblxuSXQgaXMgYSBmb3JrIG9mIFdvcmtzcGFjZSBJbmRpY2F0b3IgYnkgZm11ZWxsbmVyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc3BhY2UtaW5kaWNhdG9yLWxlZnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24td29ya3NwYWNlLWluZGljYXRvci1sZWZ0IiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgSW5kaWNhdG9yIExlZnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3VzdGF2b210Ym9yZ2VzL2dub21lLXdvcmtzcGFjZS1pbmRpY2F0b3ItbGVmdC5naXQiLAogICJ1dWlkIjogIndvcmtzcGFjZS1pbmRpY2F0b3ItbGVmdEBnbXRib3JnZXMuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}
@@ -6671,7 +6689,7 @@
 , {"uuid": "update-extension@purejava.org", "name": "Fedora Linux Update Indicator", "pname": "fedora-linux-update-indicator", "description": "GNOME Shell update indicator for Fedora Linux.\n  This is based on Arch Linux Updates Indicator by Raphaël Rochet.\n  This extension is not affiliated, funded, or in any way associated with Fedora brand and Red Hat Software.", "link": "https://extensions.gnome.org/extension/6406/fedora-linux-update-indicator/", "shell_version_map": {
     "44": {"version": "8", "sha256": "1rc6431z90k7ad2bqrkqsxjwh1dwf0swkbj0r8c3df084cs62fln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIHVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eC5cbiAgVGhpcyBpcyBiYXNlZCBvbiBBcmNoIExpbnV4IFVwZGF0ZXMgSW5kaWNhdG9yIGJ5IFJhcGhhXHUwMGVibCBSb2NoZXQuXG4gIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBhZmZpbGlhdGVkLCBmdW5kZWQsIG9yIGluIGFueSB3YXkgYXNzb2NpYXRlZCB3aXRoIEZlZG9yYSBicmFuZCBhbmQgUmVkIEhhdCBTb2Z0d2FyZS5cbiAgU2VlIFJFQURNRSBhYm91dCBHbm9tZSBDb25zb2xlIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wdXJlamF2YS9mZWRvcmEtdXBkYXRlIiwKICAidXVpZCI6ICJ1cGRhdGUtZXh0ZW5zaW9uQHB1cmVqYXZhLm9yZyIsCiAgInZlcnNpb24iOiA4Cn0="},
     "45": {"version": "10", "sha256": "0ww9j0ijqpa69nggq7kjkcx19qkk5cmkv2axrjk45p1c9h3jidkg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIHVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eC5cbiAgVGhpcyBpcyBiYXNlZCBvbiBBcmNoIExpbnV4IFVwZGF0ZXMgSW5kaWNhdG9yIGJ5IFJhcGhhXHUwMGVibCBSb2NoZXQuXG4gIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBhZmZpbGlhdGVkLCBmdW5kZWQsIG9yIGluIGFueSB3YXkgYXNzb2NpYXRlZCB3aXRoIEZlZG9yYSBicmFuZCBhbmQgUmVkIEhhdCBTb2Z0d2FyZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cGRhdGUtZXh0ZW5zaW9uQHB1cmVqYXZhLm9yZyIsCiAgIm5hbWUiOiAiRmVkb3JhIExpbnV4IFVwZGF0ZSBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZmVkb3JhLXVwZGF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wdXJlamF2YS9mZWRvcmEtdXBkYXRlIiwKICAidXVpZCI6ICJ1cGRhdGUtZXh0ZW5zaW9uQHB1cmVqYXZhLm9yZyIsCiAgInZlcnNpb24iOiAxMAp9"},
-    "46": {"version": "12", "sha256": "10rnx3z3xwx0kk20fq5i2gbdhn55ybia8av2g8z7y3ybcw810pls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIHVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eC5cbiAgVGhpcyBpcyBiYXNlZCBvbiBBcmNoIExpbnV4IFVwZGF0ZXMgSW5kaWNhdG9yIGJ5IFJhcGhhXHUwMGVibCBSb2NoZXQuXG4gIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBhZmZpbGlhdGVkLCBmdW5kZWQsIG9yIGluIGFueSB3YXkgYXNzb2NpYXRlZCB3aXRoIEZlZG9yYSBicmFuZCBhbmQgUmVkIEhhdCBTb2Z0d2FyZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cGRhdGUtZXh0ZW5zaW9uQHB1cmVqYXZhLm9yZyIsCiAgIm5hbWUiOiAiRmVkb3JhIExpbnV4IFVwZGF0ZSBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZmVkb3JhLXVwZGF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wdXJlamF2YS9mZWRvcmEtdXBkYXRlIiwKICAidXVpZCI6ICJ1cGRhdGUtZXh0ZW5zaW9uQHB1cmVqYXZhLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}
+    "46": {"version": "13", "sha256": "1913s6r0pskc3qjkfndiwjyd8vr8c26pdimlzf43zi4jpqq3m3yw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIHVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eC5cbiAgVGhpcyBpcyBiYXNlZCBvbiBBcmNoIExpbnV4IFVwZGF0ZXMgSW5kaWNhdG9yIGJ5IFJhcGhhXHUwMGVibCBSb2NoZXQuXG4gIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBhZmZpbGlhdGVkLCBmdW5kZWQsIG9yIGluIGFueSB3YXkgYXNzb2NpYXRlZCB3aXRoIEZlZG9yYSBicmFuZCBhbmQgUmVkIEhhdCBTb2Z0d2FyZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ1cGRhdGUtZXh0ZW5zaW9uQHB1cmVqYXZhLm9yZyIsCiAgIm5hbWUiOiAiRmVkb3JhIExpbnV4IFVwZGF0ZSBJbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZmVkb3JhLXVwZGF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wdXJlamF2YS9mZWRvcmEtdXBkYXRlIiwKICAidXVpZCI6ICJ1cGRhdGUtZXh0ZW5zaW9uQHB1cmVqYXZhLm9yZyIsCiAgInZlcnNpb24iOiAxMwp9"}
   }}
 , {"uuid": "utc-clock@swsnr.de", "name": "UTC clock", "pname": "utc-clock", "description": "A customizable UTC clock.\n\nAdd a second clock to the bar which shows the current UTC time, in a completely customizable format.", "link": "https://extensions.gnome.org/extension/6409/utc-clock/", "shell_version_map": {
     "45": {"version": "16", "sha256": "0iyy0fyf9ry5mj7jmqpmcs9rp74hhzmdwsipzh7bwnspxsb3ldf4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgY3VzdG9taXphYmxlIFVUQyBjbG9jay5cblxuQWRkIGEgc2Vjb25kIGNsb2NrIHRvIHRoZSBiYXIgd2hpY2ggc2hvd3MgdGhlIGN1cnJlbnQgVVRDIHRpbWUsIGluIGEgY29tcGxldGVseSBjdXN0b21pemFibGUgZm9ybWF0LiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJwYXlwYWwiOiAic3dzbnIiCiAgfSwKICAibmFtZSI6ICJVVEMgY2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3dzbnItdXRjLWNsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N3c25yL2dub21lLXNoZWxsLWV4dGVuc2lvbi11dGMtY2xvY2sjcmVhZG1lIiwKICAidXVpZCI6ICJ1dGMtY2xvY2tAc3dzbnIuZGUiLAogICJ2ZXJzaW9uIjogMTYsCiAgInZlcnNpb24tbmFtZSI6ICI0NS41Igp9"},
@@ -6719,8 +6737,9 @@
 , {"uuid": "lockscreen@lfarkas.org", "name": "Lock Screen Button on Panel", "pname": "lock-screen", "description": "Add lock icon to the panel and lock the screen instead of using ctrl-alt-l (fork of https://github.com/sramkrishna/gnome3-extensions)", "link": "https://extensions.gnome.org/extension/6487/lock-screen/", "shell_version_map": {
     "45": {"version": "4", "sha256": "1nbq5rsg854d9ivi9j8ngcf91skblj7p8p4i955bv3kmxixxiwyc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsb2NrIGljb24gdG8gdGhlIHBhbmVsIGFuZCBsb2NrIHRoZSBzY3JlZW4gaW5zdGVhZCBvZiB1c2luZyBjdHJsLWFsdC1sIChmb3JrIG9mIGh0dHBzOi8vZ2l0aHViLmNvbS9zcmFta3Jpc2huYS9nbm9tZTMtZXh0ZW5zaW9ucykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIEJ1dHRvbiBvbiBQYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sZmFya2FzL2dub21lMy1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsb2Nrc2NyZWVuQGxmYXJrYXMub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="}
   }}
-, {"uuid": "overviewhover@mattdavis90", "name": "Overview Hover", "pname": "overview-hover", "description": "An extension that aims to simulate the MacOS Mission Control experience.\n\nMain Features\n* Hover a window preview in Gnome Shell's overview to bring that window into focus\n* Window focus won't change until you move your mouse\n* Window focus will revert if your mouse leaves a preview\n* Window focus doesn't change until you begin leaving overview\n\nPlease report issue on Github. Thanks", "link": "https://extensions.gnome.org/extension/6490/overview-hover/", "shell_version_map": {
-    "45": {"version": "3", "sha256": "1mkpwzykp0gc9za22bbs1k16nr0k83wj44hwzsgfjcm37smh96k1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdmVyIG92ZXIgYSB3aW5kb3cgaW4gb3ZlcnZpZXcgbW9kZSB0byBtYWtlIGl0IGFjdGl2ZSIsCiAgIm5hbWUiOiAiT3ZlcnZpZXcgSG92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWF0dGRhdmlzOTAvb3ZlcnZpZXctaG92ZXIiLAogICJ1dWlkIjogIm92ZXJ2aWV3aG92ZXJAbWF0dGRhdmlzOTAiLAogICJ2ZXJzaW9uIjogMwp9"}
+, {"uuid": "overviewhover@mattdavis90", "name": "Overview Hover", "pname": "overview-hover", "description": "Hover over a window in overview mode to make it active", "link": "https://extensions.gnome.org/extension/6490/overview-hover/", "shell_version_map": {
+    "45": {"version": "4", "sha256": "1xrxxpmrxyyz5c5ryvvsmqw5rq9izdbk5svbg1941mlx041d9n05", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdmVyIG92ZXIgYSB3aW5kb3cgaW4gb3ZlcnZpZXcgbW9kZSB0byBtYWtlIGl0IGFjdGl2ZSIsCiAgIm5hbWUiOiAiT3ZlcnZpZXcgSG92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hdHRkYXZpczkwL292ZXJ2aWV3LWhvdmVyIiwKICAidXVpZCI6ICJvdmVydmlld2hvdmVyQG1hdHRkYXZpczkwIiwKICAidmVyc2lvbiI6IDQKfQ=="},
+    "46": {"version": "4", "sha256": "1xrxxpmrxyyz5c5ryvvsmqw5rq9izdbk5svbg1941mlx041d9n05", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdmVyIG92ZXIgYSB3aW5kb3cgaW4gb3ZlcnZpZXcgbW9kZSB0byBtYWtlIGl0IGFjdGl2ZSIsCiAgIm5hbWUiOiAiT3ZlcnZpZXcgSG92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hdHRkYXZpczkwL292ZXJ2aWV3LWhvdmVyIiwKICAidXVpZCI6ICJvdmVydmlld2hvdmVyQG1hdHRkYXZpczkwIiwKICAidmVyc2lvbiI6IDQKfQ=="}
   }}
 , {"uuid": "onedrive@client.onedrive.com", "name": "Onedrive Client", "pname": "onedrive", "description": "Show and Control Onedrive Client", "link": "https://extensions.gnome.org/extension/6493/onedrive/", "shell_version_map": {
     "45": {"version": "5", "sha256": "1pjlj22hrr1aks3wy9sxm4lpd7lk38f0jhzdz5vxsb0gg8707925", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYW5kIENvbnRyb2wgT25lZHJpdmUgQ2xpZW50IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib25lZHJpdmVAY2xpZW50Lm9uZWRyaXZlLmNvbSIsCiAgIm5hbWUiOiAiT25lZHJpdmUgQ2xpZW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R2bWFzdGVyZngvT25lZHJpdmUtR25vbWUtU2hlbGwtNDUiLAogICJ1dWlkIjogIm9uZWRyaXZlQGNsaWVudC5vbmVkcml2ZS5jb20iLAogICJ2ZXJzaW9uIjogNQp9"},
@@ -6755,7 +6774,7 @@
     "45": {"version": "12", "sha256": "1zykpyzm7s19db4g2kl3p9nlywzag3rg1331mjq6vscsky2y5iy9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFxuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8iLAogICJkb25hdGlvbnMiOiB7CiAgICAiZ2l0aHViIjogImhvd2JlYSIKICB9LAogICJuYW1lIjogIkRlc2t0b3AgTG9nbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sb2dvLXdpZGdldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogMTIKfQ=="},
     "46": {"version": "14", "sha256": "1nx75ykn5c0b191k9rsr151m0jj5pllhpa4pp0ap39979ny1c3zg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGxvZ28gdG8gdGhlIGRlc2t0b3AuIFxuIFRoaXMgaXMgYSBmb3JrIG9mIEJhY2tncm91bmQgTG9nbyBleHRlbnNpb24gXG4gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vODg5L2JhY2tncm91bmQtbG9nby8iLAogICJkb25hdGlvbnMiOiB7CiAgICAiZ2l0aHViIjogImhvd2JlYSIKICB9LAogICJuYW1lIjogIkRlc2t0b3AgTG9nbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sb2dvLXdpZGdldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob3diZWEvbG9nby13aWRnZXQiLAogICJ1dWlkIjogImxvZ293aWRnZXRAZ2l0aHViLmNvbS5ob3diZWEiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}
   }}
-, {"uuid": "azan@a7medkhalaf", "name": "xAzanTimes", "pname": "xazantimes", "description": "Azan is an Islamic prayer times extension for Gnome Shell.\nIt's a fork of the extension by faissaloo.\n\nFeatures\n- List compulsory prayer times\n- Optionally display Imsak, Sunrise, Sunset and Midnight\n- Show remaining time for the upcoming prayer.\n- Show current date in Hijri calendar.\n- Display a notification when it's time for prayer.\n- Automatic Geoclue2 location detection\n- Show times in 24 hour and 12 hour formats\n- Hijri date adjusment\n- Iqamah option", "link": "https://extensions.gnome.org/extension/6538/xazantimes/", "shell_version_map": {
+, {"uuid": "azan@a7medkhalaf", "name": "xAzanTimes", "pname": "xazantimes", "description": "Azan is an Islamic prayer times extension for Gnome Shell.\nIt's a fork of the extension by faissaloo.\nFor Gnome 46 check: https://extensions.gnome.org/extension/6997/athantimes/\n\nFeatures\n- List compulsory prayer times\n- Optionally display Imsak, Sunrise, Sunset and Midnight\n- Show remaining time for the upcoming prayer.\n- Show current date in Hijri calendar.\n- Display a notification when it's time for prayer.\n- Automatic Geoclue2 location detection\n- Show times in 24 hour and 12 hour formats\n- Hijri date adjusment\n- Iqamah option", "link": "https://extensions.gnome.org/extension/6538/xazantimes/", "shell_version_map": {
     "45": {"version": "7", "sha256": "1h23vjk96fyyx11zvyp22b0iwjy531mn4c4jm53y0fq88g76s0jb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF6YW4gaXMgYW4gSXNsYW1pYyBwcmF5ZXIgdGltZXMgZXh0ZW5zaW9uIGZvciBHbm9tZSBTaGVsbC5cbkl0J3MgYSBmb3JrIG9mIHRoZSBleHRlbnNpb24gYnkgZmFpc3NhbG9vLlxuXG5GZWF0dXJlc1xuLSBMaXN0IGNvbXB1bHNvcnkgcHJheWVyIHRpbWVzXG4tIE9wdGlvbmFsbHkgZGlzcGxheSBJbXNhaywgU3VucmlzZSwgU3Vuc2V0IGFuZCBNaWRuaWdodFxuLSBTaG93IHJlbWFpbmluZyB0aW1lIGZvciB0aGUgdXBjb21pbmcgcHJheWVyLlxuLSBTaG93IGN1cnJlbnQgZGF0ZSBpbiBIaWpyaSBjYWxlbmRhci5cbi0gRGlzcGxheSBhIG5vdGlmaWNhdGlvbiB3aGVuIGl0J3MgdGltZSBmb3IgcHJheWVyLlxuLSBBdXRvbWF0aWMgR2VvY2x1ZTIgbG9jYXRpb24gZGV0ZWN0aW9uXG4tIFNob3cgdGltZXMgaW4gMjQgaG91ciBhbmQgMTIgaG91ciBmb3JtYXRzXG4tIEhpanJpIGRhdGUgYWRqdXNtZW50XG4tIElxYW1haCBvcHRpb24iLAogICJuYW1lIjogInhBemFuVGltZXMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXphbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hN21lZGtoYWxhZi9hemFuLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXphbkBhN21lZGtoYWxhZiIsCiAgInZlcnNpb24iOiA3Cn0="}
   }}
 , {"uuid": "restartinto@bgreco.net", "name": "Restart Into...", "pname": "restart-into", "description": "Adds a button in the Restart dialog to select a secondary operating system", "link": "https://extensions.gnome.org/extension/6541/restart-into/", "shell_version_map": {
@@ -6795,14 +6814,14 @@
     "45": {"version": "2", "sha256": "056x6bg3z8vqrknyqgr8hfgd8x04nj626jxw30p3qszvazajr8bj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgUmVnaW9uL0xhbmd1YWdlIFRyYXkgVG8gUXVpY2sgU2V0dGluZ3MiLAogICJuYW1lIjogInhMYW5ndWFnZVRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYTdtZWRraGFsYWYvTGFuZ1RyYXkiLAogICJ1dWlkIjogImxhbmdUcmF5QGE3bWVka2hhbGFmIiwKICAidmVyc2lvbiI6IDIKfQ=="}
   }}
 , {"uuid": "simplebreakreminder@castillodel.com", "name": "Simple Break Reminder", "pname": "simple-break-reminder", "description": "It's important to remember to take a break", "link": "https://extensions.gnome.org/extension/6568/simple-break-reminder/", "shell_version_map": {
-    "45": {"version": "7", "sha256": "01ad805ram91yrrgix5pha5gfa03vjmhq0iikb7pjvqy8l3q6b19", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0J3MgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiU2ltcGxlIEJyZWFrIFJlbWluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Nhc3RpbGxvRGVsL3NpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJ1dWlkIjogInNpbXBsZWJyZWFrcmVtaW5kZXJAY2FzdGlsbG9kZWwuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="},
-    "46": {"version": "7", "sha256": "01ad805ram91yrrgix5pha5gfa03vjmhq0iikb7pjvqy8l3q6b19", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0J3MgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiU2ltcGxlIEJyZWFrIFJlbWluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Nhc3RpbGxvRGVsL3NpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJ1dWlkIjogInNpbXBsZWJyZWFrcmVtaW5kZXJAY2FzdGlsbG9kZWwuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}
+    "45": {"version": "8", "sha256": "1yb861grg83vgys8s77pwiwp47xgq6qk8igcc6apm8r9hr3mfwqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0J3MgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiU2ltcGxlIEJyZWFrIFJlbWluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Nhc3RpbGxvRGVsL3NpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJ1dWlkIjogInNpbXBsZWJyZWFrcmVtaW5kZXJAY2FzdGlsbG9kZWwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="},
+    "46": {"version": "8", "sha256": "1yb861grg83vgys8s77pwiwp47xgq6qk8igcc6apm8r9hr3mfwqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0J3MgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiU2ltcGxlIEJyZWFrIFJlbWluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Nhc3RpbGxvRGVsL3NpbXBsZWJyZWFrcmVtaW5kZXIiLAogICJ1dWlkIjogInNpbXBsZWJyZWFrcmVtaW5kZXJAY2FzdGlsbG9kZWwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}
   }}
 , {"uuid": "OnTheTop@fablevi.github.io", "name": "On The Top", "pname": "on-the-top", "description": "Always on top button in the top bar", "link": "https://extensions.gnome.org/extension/6571/on-the-top/", "shell_version_map": {
     "45": {"version": "15", "sha256": "19d723mjg08yg1n9dlas0qv03gsqvsmjy5cmq3cl05l5r0jixf77", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBvbiB0b3AgYnV0dG9uIGluIHRoZSB0b3AgYmFyIiwKICAiZXh0ZW5zaW9uLWlkIjogIk9uVGhlVG9wIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiT25UaGVUb3AiLAogICJuYW1lIjogIk9uIFRoZSBUb3AiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMub24tdGhlLXRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmFibGV2aS9PblRoZVRvcCIsCiAgInV1aWQiOiAiT25UaGVUb3BAZmFibGV2aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTUKfQ=="},
     "46": {"version": "15", "sha256": "19d723mjg08yg1n9dlas0qv03gsqvsmjy5cmq3cl05l5r0jixf77", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBvbiB0b3AgYnV0dG9uIGluIHRoZSB0b3AgYmFyIiwKICAiZXh0ZW5zaW9uLWlkIjogIk9uVGhlVG9wIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiT25UaGVUb3AiLAogICJuYW1lIjogIk9uIFRoZSBUb3AiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMub24tdGhlLXRvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmFibGV2aS9PblRoZVRvcCIsCiAgInV1aWQiOiAiT25UaGVUb3BAZmFibGV2aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}
   }}
-, {"uuid": "openbar@neuromorph", "name": "Open Bar", "pname": "open-bar", "description": "Top Bar ( Top Panel ) customization / styling. Open the Top Bar and let the colors 🍹 flow.\n\n**Please report on GitHub if something is broken due to an update or if you have any suggestions.\n\nUPCOMING:\nOpen Bar 2.0: \n- Auto-theming completely renewed\n- Apply styles to Bar, Menu, Dash/Dock and rest of the shell\n- Apply accent color to Gtk/Flatpak apps\n\nUpdate (v29/v30): \n- Compatibility with more extensions: Fullscreen Avoider,  Lunar Calendar, Dash-to-Panel* and others**.\n- New option to apply the panel menu styles to all the shell pop-ups\n- Calendar day with event - dot indicator fix and toggle switch update fix\n* Dash-to-Panel: You may have to turn on 'Apply menu styles to shell' under 'Beyond Bar' in settings. Also , in case of a crash, check issue #26 in Github.\n** Others: Some extensions do not use standard widget and API (e.g. PanelMenu Button and main.addToStatusArea) when adding indicator to Panel and fixing that makes them work correctly with Open Bar or user themes.\n\nFeatures from recent updates:\n- Auto FG option to automatically switch (black/white) FG color based on widget background\n- Option to set Panel Box / Margins BG color\n- Light-Gradient option for Menu background\n- More tweaks for Border width and radius to change the way the Bar/Buttons look\n-  Auto-theming options \n-  Import, export theme settings to file.\n-  Window-Max Bar: Change Bar props when a window is maximized\n-  More settings in Menus: Menu panel and buttons radius, slider tweaks\n\nAuto Theming:\n- Note: If you want to save your current settings, please use Export Settings option before applying Auto-theme. You can import it back whenever needed.\n- Please select Bar properties esp. type of bar before applying a theme. If you change Bar type later, apply theme again.\n- There are three theme options: 'Color', 'Dark', 'Light' and two variations for each: 'Default', 'Alt'.  Try all combinations to see what you prefer for your desktop background. (Default and Alt maybe very similar or distinct depending on the background palette).\n- There are more settings in Auto-Theme. You can select if you want the secondary menu BG color to be derived from BG or auto-selected from palette. Also, you can specify any preferred accent color or let the theme choose from the background. \n- Since it is one size fit all solution, 'No Free Lunch' theorem applies. Not all options will work for all backgrounds, so the additional knobs above will help you select the desired one. One of the combinations should work for you at least with little bit tweaking if needed.\n- Once theme is applied, you can further tweak any of the manual settings, as usual, to finetune the theme. \n- There is an option for Auto-refreshing theme when background changes. This will overwrite current theme with newly generated one when background is changed.  \n\nCustomize:\n- Bar Type: Fixed, Floating or Islands / Trilands\n- Bar position, height, margin, paddings\n- Bar foreground color, font\n- Bar background color, transparency, gradient, shadow, highlights, candybar \n- Shape rectangular to pill, border width, color, neon glow\n- Menu customizations: foreground, background colors, transparency, border, shadow,  active/selection, hover colors\netc.\n- Apply to notification popups\n- Includes a custom color palette, under the default palette, in each color button popup. The palette is auto-generated from the desktop background.\n\n\nIf the panel/menu isn't looking right, you need to tweak some settings. There are a lot of knobs to allow for different setups/tastes. It can also make it a bit overwhelming if you are not familiar with css styles but with some experimentation it will become a lot easier. Here are brief notes:\n- BG/FG color: Background or Foreground colors. Foreground is typically text and icons.\n- Alpha: Transparency for the color. 0 is transparent while 1 is opaque.\n- Panel BG will affect the bar while Tri/Islands BG will affect the individual indicator buttons/combos (in Trilands/Islands mode).\n- Gradient goes from Start color to End color. If you want a single color fading, select same color for both with different Alphas. e.g. Setting end color alpha to 0 will form a gradient from Start color to transparent.\n- Highlight color: It is the background color upon hover or focus. You can choose to highlight with border instead.\n- Vertical padding: Controls size of highlights in Mainland/Floating. Also controls size of Islands/Trilands. Increase height if padding squeezes the text.\n- Panel Shadow: a downward shadow for the panel bar. Shadow Spread controls both shadow transparency and spread together.\n- Border: \n    = Width controls thickness (grows inwards for Islands). Adjust bar height accordingly, after setting border width.  \n    = Radius will control the shape from rectangle at radius 0 to Pill at radius close to bar height. \n    = Neon glow: adds a neon-light like glow to the border. You need dark, relatively opaque background with bright/neon colored, relatively opaque border. Neon will override Panel shadow in Mainland and Floating mode.\n - Menus: \n    = FG/BG, border, highlight are similar to above but for menus.\n    = Selected/active color is for menu items that are active e.g. Today's day in Calendar or WiFi in Quick Settings or even an active menu item with opened submenu. \n    = Shadow applies to the panel menu. Use white/bright color in dark theme and black/dark color in light theme for the effect to show and help with contrast. Using same color as menu border is also a good idea. Use the Alphas for both border and shadow to increase or reduce their effect.\n    = Once enabled, menu settings now also apply as soon as changed. You need to press 'Apply Menu Styles' button to enable the menu style. 'Reset Menu Styles' button will remove all menu styles and revert to your default theme.\n\nLastly, be a tiny bit gentler with the sliders in the settings as they modify the stylesheet behind the scene for every update.", "link": "https://extensions.gnome.org/extension/6580/open-bar/", "shell_version_map": {
+, {"uuid": "openbar@neuromorph", "name": "Open Bar", "pname": "open-bar", "description": "Top Bar ( Top Panel ) customization / styling. Open the Top Bar and let the colors 🍹 flow.\n\n**Please report on GitHub if something is broken due to an update or if you have any suggestions.\n\nUPCOMING:\nOpen Bar 2.0: \n(Available for test in GitHub under branch \"openbar2.0\")\n- Auto-theming completely renewed\n- Apply styles to Bar, Menu, Dash/Dock and rest of the shell\n- Apply accent color to Gtk/Flatpak apps\n\nUpdate (v29/v30): \n- Compatibility with more extensions: Fullscreen Avoider,  Lunar Calendar, Dash-to-Panel* and others**.\n- New option to apply the panel menu styles to all the shell pop-ups\n- Calendar day with event - dot indicator fix and toggle switch update fix\n* Dash-to-Panel: You may have to turn on 'Apply menu styles to shell' under 'Beyond Bar' in settings. Also , in case of a crash, check issue #26 in Github.\n** Others: Some extensions do not use standard widget and API (e.g. PanelMenu Button and main.addToStatusArea) when adding indicator to Panel and fixing that makes them work correctly with Open Bar or user themes.\n\nFeatures from recent updates:\n- Auto FG option to automatically switch (black/white) FG color based on widget background\n- Option to set Panel Box / Margins BG color\n- Light-Gradient option for Menu background\n- More tweaks for Border width and radius to change the way the Bar/Buttons look\n-  Auto-theming options \n-  Import, export theme settings to file.\n-  Window-Max Bar: Change Bar props when a window is maximized\n-  More settings in Menus: Menu panel and buttons radius, slider tweaks\n\nAuto Theming:\n- Note: If you want to save your current settings, please use Export Settings option before applying Auto-theme. You can import it back whenever needed.\n- Please select Bar properties esp. type of bar before applying a theme. If you change Bar type later, apply theme again.\n- There are three theme options: 'Color', 'Dark', 'Light' and two variations for each: 'Default', 'Alt'.  Try all combinations to see what you prefer for your desktop background. (Default and Alt maybe very similar or distinct depending on the background palette).\n- There are more settings in Auto-Theme. You can select if you want the secondary menu BG color to be derived from BG or auto-selected from palette. Also, you can specify any preferred accent color or let the theme choose from the background. \n- Since it is one size fit all solution, 'No Free Lunch' theorem applies. Not all options will work for all backgrounds, so the additional knobs above will help you select the desired one. One of the combinations should work for you at least with little bit tweaking if needed.\n- Once theme is applied, you can further tweak any of the manual settings, as usual, to finetune the theme. \n- There is an option for Auto-refreshing theme when background changes. This will overwrite current theme with newly generated one when background is changed.  \n\nCustomize:\n- Bar Type: Fixed, Floating or Islands / Trilands\n- Bar position, height, margin, paddings\n- Bar foreground color, font\n- Bar background color, transparency, gradient, shadow, highlights, candybar \n- Shape rectangular to pill, border width, color, neon glow\n- Menu customizations: foreground, background colors, transparency, border, shadow,  active/selection, hover colors\netc.\n- Apply to notification popups\n- Includes a custom color palette, under the default palette, in each color button popup. The palette is auto-generated from the desktop background.\n\n\nIf the panel/menu isn't looking right, you need to tweak some settings. There are a lot of knobs to allow for different setups/tastes. It can also make it a bit overwhelming if you are not familiar with css styles but with some experimentation it will become a lot easier. Here are brief notes:\n- BG/FG color: Background or Foreground colors. Foreground is typically text and icons.\n- Alpha: Transparency for the color. 0 is transparent while 1 is opaque.\n- Panel BG will affect the bar while Tri/Islands BG will affect the individual indicator buttons/combos (in Trilands/Islands mode).\n- Gradient goes from Start color to End color. If you want a single color fading, select same color for both with different Alphas. e.g. Setting end color alpha to 0 will form a gradient from Start color to transparent.\n- Highlight color: It is the background color upon hover or focus. You can choose to highlight with border instead.\n- Vertical padding: Controls size of highlights in Mainland/Floating. Also controls size of Islands/Trilands. Increase height if padding squeezes the text.\n- Panel Shadow: a downward shadow for the panel bar. Shadow Spread controls both shadow transparency and spread together.\n- Border: \n    = Width controls thickness (grows inwards for Islands). Adjust bar height accordingly, after setting border width.  \n    = Radius will control the shape from rectangle at radius 0 to Pill at radius close to bar height. \n    = Neon glow: adds a neon-light like glow to the border. You need dark, relatively opaque background with bright/neon colored, relatively opaque border. Neon will override Panel shadow in Mainland and Floating mode.\n - Menus: \n    = FG/BG, border, highlight are similar to above but for menus.\n    = Selected/active color is for menu items that are active e.g. Today's day in Calendar or WiFi in Quick Settings or even an active menu item with opened submenu. \n    = Shadow applies to the panel menu. Use white/bright color in dark theme and black/dark color in light theme for the effect to show and help with contrast. Using same color as menu border is also a good idea. Use the Alphas for both border and shadow to increase or reduce their effect.\n    = Once enabled, menu settings now also apply as soon as changed. You need to press 'Apply Menu Styles' button to enable the menu style. 'Reset Menu Styles' button will remove all menu styles and revert to your default theme.\n\nLastly, be a tiny bit gentler with the sliders in the settings as they modify the stylesheet behind the scene for every update.", "link": "https://extensions.gnome.org/extension/6580/open-bar/", "shell_version_map": {
     "42": {"version": "29", "sha256": "070jphah7b34hf7mrq0gcz2bm30ydrgpy0c7rngn9nl2vdhbxkcn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBCYXIgKCBUb3AgUGFuZWwgKSBjdXN0b21pemF0aW9uIC8gc3R5bGluZy4gT3BlbiB0aGUgVG9wIEJhciBhbmQgbGV0IHRoZSBjb2xvcnMgXHVkODNjXHVkZjc5IGZsb3cuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJuZXVyb21vcnBoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogIm9wZW5iYXIiLAogICJuYW1lIjogIk9wZW4gQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9wZW5iYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZXVyb21vcnBoL29wZW5iYXIiLAogICJ1dWlkIjogIm9wZW5iYXJAbmV1cm9tb3JwaCIsCiAgInZlcnNpb24iOiAyOQp9"},
     "43": {"version": "29", "sha256": "070jphah7b34hf7mrq0gcz2bm30ydrgpy0c7rngn9nl2vdhbxkcn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBCYXIgKCBUb3AgUGFuZWwgKSBjdXN0b21pemF0aW9uIC8gc3R5bGluZy4gT3BlbiB0aGUgVG9wIEJhciBhbmQgbGV0IHRoZSBjb2xvcnMgXHVkODNjXHVkZjc5IGZsb3cuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJuZXVyb21vcnBoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogIm9wZW5iYXIiLAogICJuYW1lIjogIk9wZW4gQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9wZW5iYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZXVyb21vcnBoL29wZW5iYXIiLAogICJ1dWlkIjogIm9wZW5iYXJAbmV1cm9tb3JwaCIsCiAgInZlcnNpb24iOiAyOQp9"},
     "44": {"version": "29", "sha256": "070jphah7b34hf7mrq0gcz2bm30ydrgpy0c7rngn9nl2vdhbxkcn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBCYXIgKCBUb3AgUGFuZWwgKSBjdXN0b21pemF0aW9uIC8gc3R5bGluZy4gT3BlbiB0aGUgVG9wIEJhciBhbmQgbGV0IHRoZSBjb2xvcnMgXHVkODNjXHVkZjc5IGZsb3cuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJuZXVyb21vcnBoIgogIH0sCiAgImdldHRleHQtZG9tYWluIjogIm9wZW5iYXIiLAogICJuYW1lIjogIk9wZW4gQmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9wZW5iYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZXVyb21vcnBoL29wZW5iYXIiLAogICJ1dWlkIjogIm9wZW5iYXJAbmV1cm9tb3JwaCIsCiAgInZlcnNpb24iOiAyOQp9"},
@@ -6833,8 +6852,9 @@
 , {"uuid": "move-to-next-screen@wosar.me", "name": "Move To Next Screen", "pname": "move-to-next-screen", "description": "Adds a keyboard shortcut (CTRL+SHIFT+PAGEUP) to move the current window to the next screen.", "link": "https://extensions.gnome.org/extension/6610/move-to-next-screen/", "shell_version_map": {
     "45": {"version": "1", "sha256": "0n28xnphka81ajypqwnbjpm24zwa8sdan3wzsan68f4raz9bf5xy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBrZXlib2FyZCBzaG9ydGN1dCB0byBtb3ZlIHRoZSBjdXJyZW50IHdpbmRvdyB0byB0aGUgbmV4dCBzY3JlZW4iLAogICJuYW1lIjogIk1vdmUgVG8gTmV4dCBTY3JlZW4iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubW92ZS10by1uZXh0LXNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9md29zYXIvbW92ZS10by1uZXh0LXNjcmVlbiIsCiAgInV1aWQiOiAibW92ZS10by1uZXh0LXNjcmVlbkB3b3Nhci5tZSIsCiAgInZlcnNpb24iOiAxCn0="}
   }}
-, {"uuid": "window-on-top@yousafesaeed.github.io", "name": "Window on Top", "pname": "window-on-top", "description": "Simple top panel button for toggling Always on Top for windows.", "link": "https://extensions.gnome.org/extension/6619/window-on-top/", "shell_version_map": {
-    "45": {"version": "3", "sha256": "0v1xzh8i4j3j4gf1mhc3kgfd812kwnm41m15pxcy7fryapy97mdl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB0b3AgcGFuZWwgdG9nZ2xlIGZvciBhY3RpdmF0aW5nIEFsd2F5cyBvbiBUb3AgZm9yIHdpbmRvd3MuIiwKICAibmFtZSI6ICJXaW5kb3cgb24gVG9wIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3lvdXNhZmVzYWVlZC93aW5kb3ctb24tdG9wIiwKICAidXVpZCI6ICJ3aW5kb3ctb24tdG9wQHlvdXNhZmVzYWVlZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}
+, {"uuid": "window-on-top@yousafesaeed.github.io", "name": "Window on Top", "pname": "window-on-top", "description": "Simple top panel toggle for activating Always on Top for windows.", "link": "https://extensions.gnome.org/extension/6619/window-on-top/", "shell_version_map": {
+    "45": {"version": "4", "sha256": "0zdpycnv7pk8hic84ih3nh1gb1871bv4s33x9dnl2468sv4j07k8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB0b3AgcGFuZWwgdG9nZ2xlIGZvciBhY3RpdmF0aW5nIEFsd2F5cyBvbiBUb3AgZm9yIHdpbmRvd3MuIiwKICAibmFtZSI6ICJXaW5kb3cgb24gVG9wIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS95b3VzYWZlc2FlZWQvd2luZG93LW9uLXRvcCIsCiAgInV1aWQiOiAid2luZG93LW9uLXRvcEB5b3VzYWZlc2FlZWQuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="},
+    "46": {"version": "4", "sha256": "0zdpycnv7pk8hic84ih3nh1gb1871bv4s33x9dnl2468sv4j07k8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB0b3AgcGFuZWwgdG9nZ2xlIGZvciBhY3RpdmF0aW5nIEFsd2F5cyBvbiBUb3AgZm9yIHdpbmRvd3MuIiwKICAibmFtZSI6ICJXaW5kb3cgb24gVG9wIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS95b3VzYWZlc2FlZWQvd2luZG93LW9uLXRvcCIsCiAgInV1aWQiOiAid2luZG93LW9uLXRvcEB5b3VzYWZlc2FlZWQuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}
   }}
 , {"uuid": "gmeet@pabmartine.com", "name": "GMeet", "pname": "gmeet", "description": "GNOME Shell Extension for Quick Access to Google Meet.\n\nWith this extension, you can quickly access your Google Meet bookmarks directly from the Gnome Shell panel. You can add new bookmarks, manage existing ones, and directly open Meet sessions in your browser.\n\nFeatures:\n- 'New Meet': Opens a new Google Meet session in your default browser.\n- 'Add': Allows you to add a new bookmark to your Google Meet sessions. Simply provide a name and a unique code.\n\nTo delete a bookmark, simply click on the trash icon next to each bookmark in the menu.\n\nThis extension is not affiliated, funded, or in any way associated with Google and GMeet.\n\nFor additional support, please contact the extension developer.", "link": "https://extensions.gnome.org/extension/6622/gmeet/", "shell_version_map": {
     "45": {"version": "10", "sha256": "09vacf98md7y3az904amkjqgq5dhvfvcbz4wrfhb1rnp4grzbr3y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIEV4dGVuc2lvbiBmb3IgUXVpY2sgQWNjZXNzIHRvIEdvb2dsZSBNZWV0LlxuXG5XaXRoIHRoaXMgZXh0ZW5zaW9uLCB5b3UgY2FuIHF1aWNrbHkgYWNjZXNzIHlvdXIgR29vZ2xlIE1lZXQgYm9va21hcmtzIGRpcmVjdGx5IGZyb20gdGhlIEdub21lIFNoZWxsIHBhbmVsLiBZb3UgY2FuIGFkZCBuZXcgYm9va21hcmtzLCBtYW5hZ2UgZXhpc3Rpbmcgb25lcywgYW5kIGRpcmVjdGx5IG9wZW4gTWVldCBzZXNzaW9ucyBpbiB5b3VyIGJyb3dzZXIuXG5cbkZlYXR1cmVzOlxuLSAnTmV3IE1lZXQnOiBPcGVucyBhIG5ldyBHb29nbGUgTWVldCBzZXNzaW9uIGluIHlvdXIgZGVmYXVsdCBicm93c2VyLlxuLSAnQWRkJzogQWxsb3dzIHlvdSB0byBhZGQgYSBuZXcgYm9va21hcmsgdG8geW91ciBHb29nbGUgTWVldCBzZXNzaW9ucy4gU2ltcGx5IHByb3ZpZGUgYSBuYW1lIGFuZCBhIHVuaXF1ZSBjb2RlLlxuXG5UbyBkZWxldGUgYSBib29rbWFyaywgc2ltcGx5IGNsaWNrIG9uIHRoZSB0cmFzaCBpY29uIG5leHQgdG8gZWFjaCBib29rbWFyayBpbiB0aGUgbWVudS5cblxuVGhpcyBleHRlbnNpb24gaXMgbm90IGFmZmlsaWF0ZWQsIGZ1bmRlZCwgb3IgaW4gYW55IHdheSBhc3NvY2lhdGVkIHdpdGggR29vZ2xlIGFuZCBHTWVldC5cblxuRm9yIGFkZGl0aW9uYWwgc3VwcG9ydCwgcGxlYXNlIGNvbnRhY3QgdGhlIGV4dGVuc2lvbiBkZXZlbG9wZXIuIiwKICAibmFtZSI6ICJHTWVldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYWJtYXJ0aW5lL2dtZWV0IiwKICAidXVpZCI6ICJnbWVldEBwYWJtYXJ0aW5lLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}
@@ -6908,7 +6928,8 @@
     "46": {"version": "5", "sha256": "0awrld49kqm9avm1vsb39nmw11wfa69k4x51pij40bfchwd2l34s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIDQ2IGV4dGVuc2lvbiB0aGF0IGRpc2FibGVzIHRoZSB3b3Jrc3BhY2UgYW5pbWF0aW9uIHdoZW4gc3dpdGNoaW5nIGJldHdlZW4gd29ya3NwYWNlcyIsCiAgIm5hbWUiOiAiRGlzYWJsZSBXb3Jrc3BhY2UgQW5pbWF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldGhuYXJxdWUvZ25vbWUtZGlzYWJsZS13b3Jrc3BhY2UtYW5pbWF0aW9uIiwKICAidXVpZCI6ICJkaXNhYmxlLXdvcmtzcGFjZS1hbmltYXRpb25AZXRobmFycXVlIiwKICAidmVyc2lvbiI6IDUKfQ=="}
   }}
 , {"uuid": "clipqr@drien.com", "name": "ClipQR", "pname": "clipqr", "description": "This simply adds a pop-out QR Code containing whatever text is currently in your clipboard. It's an easy way to share a link to your phone without any additional software.", "link": "https://extensions.gnome.org/extension/6697/clipqr/", "shell_version_map": {
-    "45": {"version": "2", "sha256": "1sflkyja7c2f6v56m1d4xki2hjwpnxq88mp5940d0gvr682phr1h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGx5IGFkZHMgYSBwb3Atb3V0IFFSIENvZGUgY29udGFpbmluZyB3aGF0ZXZlciB0ZXh0IGlzIGN1cnJlbnRseSBpbiB5b3VyIGNsaXBib2FyZC4gSXQncyBhbiBlYXN5IHdheSB0byBzaGFyZSBhIGxpbmsgdG8geW91ciBwaG9uZSB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHNvZnR3YXJlLiIsCiAgIm5hbWUiOiAiQ2xpcFFSIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RyaWVuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jbGlwcXIiLAogICJ1dWlkIjogImNsaXBxckBkcmllbi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}
+    "45": {"version": "3", "sha256": "0x1qbnym7j8hfgd0whnzm1chypkpxl70jfr5mx6nhnpyzrmlphm6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGx5IGFkZHMgYSBwb3Atb3V0IFFSIENvZGUgY29udGFpbmluZyB3aGF0ZXZlciB0ZXh0IGlzIGN1cnJlbnRseSBpbiB5b3VyIGNsaXBib2FyZC4gSXQncyBhbiBlYXN5IHdheSB0byBzaGFyZSBhIGxpbmsgdG8geW91ciBwaG9uZSB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHNvZnR3YXJlLiIsCiAgIm5hbWUiOiAiQ2xpcFFSIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kcmllbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcHFyIiwKICAidXVpZCI6ICJjbGlwcXJAZHJpZW4uY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="},
+    "46": {"version": "3", "sha256": "0x1qbnym7j8hfgd0whnzm1chypkpxl70jfr5mx6nhnpyzrmlphm6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGx5IGFkZHMgYSBwb3Atb3V0IFFSIENvZGUgY29udGFpbmluZyB3aGF0ZXZlciB0ZXh0IGlzIGN1cnJlbnRseSBpbiB5b3VyIGNsaXBib2FyZC4gSXQncyBhbiBlYXN5IHdheSB0byBzaGFyZSBhIGxpbmsgdG8geW91ciBwaG9uZSB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHNvZnR3YXJlLiIsCiAgIm5hbWUiOiAiQ2xpcFFSIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kcmllbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcHFyIiwKICAidXVpZCI6ICJjbGlwcXJAZHJpZW4uY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}
   }}
 , {"uuid": "debuglogging@jonathan.jdoda.ca", "name": "Enable Debug Logs", "pname": "enable-debug-logs", "description": "Turns on GNOME Shell debug logging.", "link": "https://extensions.gnome.org/extension/6706/enable-debug-logs/", "shell_version_map": {
     "45": {"version": "3", "sha256": "1zlb0l0kj8nm4q0izs1jhyry3ld36wq2qnrn64jljf0690v0lnlf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1cm5zIG9uIEdOT01FIFNoZWxsIGRlYnVnIGxvZ2dpbmcuIiwKICAibmFtZSI6ICJFbmFibGUgRGVidWcgTG9ncyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamRvZGEvZGVidWdsb2dnaW5nIiwKICAidXVpZCI6ICJkZWJ1Z2xvZ2dpbmdAam9uYXRoYW4uamRvZGEuY2EiLAogICJ2ZXJzaW9uIjogMwp9"},
@@ -6956,17 +6977,17 @@
     "44": {"version": "6", "sha256": "0vlkg847fsqpfgkgz47w0cf9hmj6bhgb1pv7f7kgq7ahyrarg949", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IHRleHQgYW55d2hlcmUgZnJvbSBzcGVlY2ggd2l0aCB0aGUgbWlkZGxlIG1vdXNlIGJ1dHRvbiIsCiAgIm5hbWUiOiAiQmx1cnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmx1cnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9RdWFudGl1c0JlbmlnbnVzL2JsdXJ0IiwKICAidXVpZCI6ICJibHVydEBxdWFudGl1c2JlbmlnbnVzLmxvY2FsIiwKICAidmVyc2lvbiI6IDYKfQ=="},
     "45": {"version": "5", "sha256": "10ajsindzad9azjfipnq2hzm2s5xliivkvxc9xckxv4hwhi4haks", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IHRleHQgZnJvbSBzcGVlY2ggYW55d2hlcmUgd2l0aCB0aGUgbWlkZGxlIG1vdXNlIGJ1dHRvbiIsCiAgIm5hbWUiOiAiQmx1cnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmx1cnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUXVhbnRpdXNCZW5pZ251cy9ibHVydCIsCiAgInV1aWQiOiAiYmx1cnRAcXVhbnRpdXNiZW5pZ251cy5sb2NhbCIsCiAgInZlcnNpb24iOiA1Cn0="}
   }}
-, {"uuid": "luminus-shell@dikasp.gitlab", "name": "Luminus Shell", "pname": "luminus-shell", "description": "Light style integration for default GNOME shell.", "link": "https://extensions.gnome.org/extension/6744/luminus-shell/", "shell_version_map": {
+, {"uuid": "luminus-shell@dikasp.gitlab", "name": "Luminus Shell", "pname": "luminus-shell", "description": "Light style integration for default gnome-shell.", "link": "https://extensions.gnome.org/extension/6744/luminus-shell/", "shell_version_map": {
     "45": {"version": "2", "sha256": "05qkb9ycrgbcf5iy71x6n3zf56wmx1iib101f5h307ig3a4mnlc1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5ncyBmdWxsIGxpZ2h0IHN0eWxlIGludGVncmF0aW9uIGludG8gZGVmYXVsdCBnbm9tZS1zaGVsbC4iLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogImRpa2FzcCIKICB9LAogICJuYW1lIjogIkx1bWludXMgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZGlrYXNldHlhcHJheW9naS9sdW1pbnVzLXByb2plY3QiLAogICJ1dWlkIjogImx1bWludXMtc2hlbGxAZGlrYXNwLmdpdGxhYiIsCiAgInZlcnNpb24iOiAyLAogICJ2ZXJzaW9uLW5hbWUiOiAiNDUuMiIKfQ=="},
-    "46": {"version": "5", "sha256": "0f9i0p3jgw2df1qmwfwala0p7lgja4yac8jjbrsj499yjzw9wdgc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0IHN0eWxlIGludGVncmF0aW9uIGZvciBkZWZhdWx0IEdOT01FIHNoZWxsLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJidXltZWFjb2ZmZWUiOiAiZGlrYXNwIgogIH0sCiAgIm5hbWUiOiAiTHVtaW51cyBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9kaWthc2V0eWFwcmF5b2dpL2x1bWludXMtcHJvamVjdCIsCiAgInV1aWQiOiAibHVtaW51cy1zaGVsbEBkaWthc3AuZ2l0bGFiIiwKICAidmVyc2lvbiI6IDUsCiAgInZlcnNpb24tbmFtZSI6ICI0Ni4zIgp9"}
+    "46": {"version": "6", "sha256": "0fga6yradg8dnp9l59c8cdy6hpjpqam0p3p7a2ld4phas7mpncah", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0IHN0eWxlIGludGVncmF0aW9uIGZvciBkZWZhdWx0IEdOT01FIHNoZWxsLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJidXltZWFjb2ZmZWUiOiAiZGlrYXNwIgogIH0sCiAgIm5hbWUiOiAiTHVtaW51cyBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9kaWthc2V0eWFwcmF5b2dpL2x1bWludXMtcHJvamVjdCIsCiAgInV1aWQiOiAibHVtaW51cy1zaGVsbEBkaWthc3AuZ2l0bGFiIiwKICAidmVyc2lvbiI6IDYsCiAgInZlcnNpb24tbmFtZSI6ICI0Ni40Igp9"}
   }}
-, {"uuid": "luminus-shell-y@dikasp.gitlab", "name": "Luminus Shell Y", "pname": "luminus-shell-y", "description": "Light style integration for Blur my Shell and other transparent theming extensions.", "link": "https://extensions.gnome.org/extension/6747/luminus-shell-y/", "shell_version_map": {
+, {"uuid": "luminus-shell-y@dikasp.gitlab", "name": "Luminus Shell Y", "pname": "luminus-shell-y", "description": "Light style integration for Blur my Shell and other transparent theming extension.", "link": "https://extensions.gnome.org/extension/6747/luminus-shell-y/", "shell_version_map": {
     "45": {"version": "2", "sha256": "16wgh92pn6i94hcxykyy09km75xk6mmnsvbr0c571mhad928a5b2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5ncyBmdWxsIGxpZ2h0IHN0eWxlIGludGVncmF0aW9uIGludG8gQmx1ciBteSBTaGVsbCBleHRlbnNpb24uIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJkaWthc3AiCiAgfSwKICAibmFtZSI6ICJMdW1pbnVzIFNoZWxsIFkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZGlrYXNldHlhcHJheW9naS9sdW1pbnVzLXByb2plY3QiLAogICJ1dWlkIjogImx1bWludXMtc2hlbGwteUBkaWthc3AuZ2l0bGFiIiwKICAidmVyc2lvbiI6IDIsCiAgInZlcnNpb24tbmFtZSI6ICI0NS4yIgp9"},
-    "46": {"version": "5", "sha256": "049d1f9v8b4zwghnz1g9nkdzld9mgx554l9lqli0f0mlmnx2i34f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0IHN0eWxlIGludGVncmF0aW9uIGZvciBCbHVyIG15IFNoZWxsIGFuZCBvdGhlciB0cmFuc3BhcmVudCB0aGVtaW5nIGV4dGVuc2lvbnMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJkaWthc3AiCiAgfSwKICAibmFtZSI6ICJMdW1pbnVzIFNoZWxsIFkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZGlrYXNldHlhcHJheW9naS9sdW1pbnVzLXByb2plY3QiLAogICJ1dWlkIjogImx1bWludXMtc2hlbGwteUBkaWthc3AuZ2l0bGFiIiwKICAidmVyc2lvbiI6IDUsCiAgInZlcnNpb24tbmFtZSI6ICI0Ni4zIgp9"}
+    "46": {"version": "6", "sha256": "1q4nf12sdyvjqz0px9snw2wj8v6hildyfxdf830n609lndf7qhcz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0IHN0eWxlIGludGVncmF0aW9uIGZvciBCbHVyIG15IFNoZWxsIGFuZCBvdGhlciB0cmFuc3BhcmVudCB0aGVtaW5nIGV4dGVuc2lvbnMuIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJkaWthc3AiCiAgfSwKICAibmFtZSI6ICJMdW1pbnVzIFNoZWxsIFkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZGlrYXNldHlhcHJheW9naS9sdW1pbnVzLXByb2plY3QiLAogICJ1dWlkIjogImx1bWludXMtc2hlbGwteUBkaWthc3AuZ2l0bGFiIiwKICAidmVyc2lvbiI6IDYsCiAgInZlcnNpb24tbmFtZSI6ICI0Ni40Igp9"}
   }}
-, {"uuid": "luminus-desktop@dikasp.gitlab", "name": "Luminus Desktop", "pname": "luminus-desktop", "description": "Global light style integration for GNOME shell and GTK apps.", "link": "https://extensions.gnome.org/extension/6750/luminus-desktop/", "shell_version_map": {
+, {"uuid": "luminus-desktop@dikasp.gitlab", "name": "Luminus Desktop", "pname": "luminus-desktop", "description": "Global light style integration for gnome-shell and libadwaita apps.", "link": "https://extensions.gnome.org/extension/6750/luminus-desktop/", "shell_version_map": {
     "45": {"version": "3", "sha256": "1ai9rzr0lx8myy6cqfsm4cck5l1v5yq8fwfil0rawpnzlbr6rmgk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5ncyBnbG9iYWwgZnVsbCBsaWdodCBzdHlsZSBpbnRlZ3JhdGlvbiBpbnRvIGdub21lLXNoZWxsIGFuZCBHVEsgYXBwcy4iLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogImRpa2FzcCIKICB9LAogICJuYW1lIjogIkx1bWludXMgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9kaWthc2V0eWFwcmF5b2dpL2x1bWludXMtcHJvamVjdCIsCiAgInV1aWQiOiAibHVtaW51cy1kZXNrdG9wQGRpa2FzcC5naXRsYWIiLAogICJ2ZXJzaW9uIjogMywKICAidmVyc2lvbi1uYW1lIjogIjQ1LjIiCn0="},
-    "46": {"version": "6", "sha256": "1yzq1y3lwc4mlqvmhwzc2sf7yqg4ynzmcpgc71lhjs52x27bmb6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBsaWdodCBzdHlsZSBpbnRlZ3JhdGlvbiBmb3IgR05PTUUgc2hlbGwgYW5kIEdUSyBhcHBzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJidXltZWFjb2ZmZWUiOiAiZGlrYXNwIgogIH0sCiAgIm5hbWUiOiAiTHVtaW51cyBEZXNrdG9wIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2Rpa2FzZXR5YXByYXlvZ2kvbHVtaW51cy1wcm9qZWN0IiwKICAidXVpZCI6ICJsdW1pbnVzLWRlc2t0b3BAZGlrYXNwLmdpdGxhYiIsCiAgInZlcnNpb24iOiA2LAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuMyIKfQ=="}
+    "46": {"version": "7", "sha256": "0a0xbrjg2fn1879cagnlnmlz3jiybg39ymrchm1f90n31sfw0rfs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBsaWdodCBzdHlsZSBpbnRlZ3JhdGlvbiBmb3IgR05PTUUgc2hlbGwgYW5kIEdUSyBhcHBzLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJidXltZWFjb2ZmZWUiOiAiZGlrYXNwIgogIH0sCiAgIm5hbWUiOiAiTHVtaW51cyBEZXNrdG9wIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2Rpa2FzZXR5YXByYXlvZ2kvbHVtaW51cy1wcm9qZWN0IiwKICAidXVpZCI6ICJsdW1pbnVzLWRlc2t0b3BAZGlrYXNwLmdpdGxhYiIsCiAgInZlcnNpb24iOiA3LAogICJ2ZXJzaW9uLW5hbWUiOiAiNDYuNCIKfQ=="}
   }}
 , {"uuid": "mypubip@snirt", "name": "MyPubIP", "pname": "mypubip", "description": "A simple extension that let the user to view and copy the public IPv4 and IPv6 address, by using ipify.org services.", "link": "https://extensions.gnome.org/extension/6765/mypubip/", "shell_version_map": {
     "45": {"version": "6", "sha256": "153q4y47xkxga06qx9lx06nknbc8d3ylr7dkywwx3062gqn6zjfy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiB0aGF0IGxldCB0aGUgdXNlciB0byB2aWV3IGFuZCBjb3B5IHRoZSBwdWJsaWMgSVB2NCBhbmQgSVB2NiBhZGRyZXNzLCBieSB1c2luZyBpcGlmeS5vcmcgc2VydmljZXMuIiwKICAibmFtZSI6ICJNeVB1YklQIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zbmlydC9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXlwdWJpcCIsCiAgInV1aWQiOiAibXlwdWJpcEBzbmlydCIsCiAgInZlcnNpb24iOiA2Cn0="},
@@ -6999,8 +7020,8 @@
     "46": {"version": "10", "sha256": "04bfpwhvkz55yilaw96dbkppn4i0h08x7v3wa4wplmhdlpslrah1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGJhdHRlcnkgbGV2ZWwgb2YgQWlyUG9kcyBhbmQgQmVhdHMgQmx1ZXRvb3RoIGhlYWRzZXRcblxuTm90ZTogVGhpcyBleHRlbnNpb24gaXMgbm90IGNvbXBhdGlibGUgd2l0aCBCbHVldG9vdGggY29uZmlndXJhdGlvbnMgaW4gQlIvRURSLW9ubHkgbW9kZS4gRHVhbCBtb2RlIGlzIHJlcXVpcmVkLiBQbGVhc2UgcmVmZXIgdG8gdGhlIFJlYWRtZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5odHRwczovL21hbmlhY3guZ2l0aHViLmlvL0FpcnBvZC1CYXR0ZXJ5LU1vbml0b3IvIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiQWlycG9kLUJhdHRlcnktTW9uaXRvckBtYW5pYWN4LmdpdGh1Yi5jb20iLAogICJuYW1lIjogIkFpcnBvZCBCYXR0ZXJ5IE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuQWlycG9kLUJhdHRlcnktTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFuaWFjeC9BaXJwb2QtQmF0dGVyeS1Nb25pdG9yIiwKICAidXVpZCI6ICJBaXJwb2QtQmF0dGVyeS1Nb25pdG9yQG1hbmlhY3guZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}
   }}
 , {"uuid": "night-light-slider-updated@vilsbeg.codeberg.org", "name": "Night Light Slider Updated", "pname": "night-light-slider-updated", "description": "Kiyui's Night Light Slider updated for GNOME 45. Provides a slider in the quick settings menu to control the night light temperature. Some nice options can be set in the extension preferences menu. Original implementation: https://codeberg.org/kiyui/gnome-shell-night-light-slider-extension/", "link": "https://extensions.gnome.org/extension/6781/night-light-slider-updated/", "shell_version_map": {
-    "45": {"version": "9", "sha256": "1c88dzp9k5krd5b4569s9c4aas86djzqwahdif5kaymi7x8cp9rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpeXVpJ3MgTmlnaHQgTGlnaHQgU2xpZGVyIHVwZGF0ZWQgZm9yIEdOT01FIDQ1LiBBIEdOT01FIGV4dGVuc2lvbiB0byBtYW5hZ2UgdGhlIGJ1aWx0LWluIG5pZ2h0IGxpZ2h0IHRlbXBlcmF0dXJlLiBPcmlnaW5hbCBpbXBsZW1lbnRhdGlvbjogaHR0cHM6Ly9jb2RlYmVyZy5vcmcvdmlsc2JlZy9uaWdodC1saWdodC1zbGlkZXItdXBkYXRlZC8iLAogICJuYW1lIjogIk5pZ2h0IExpZ2h0IFNsaWRlciBVcGRhdGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5pZ2h0bGlnaHRzbGlkZXJ1cGRhdGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vY29kZWJlcmcub3JnL3ZpbHNiZWcvbmlnaHQtbGlnaHQtc2xpZGVyLXVwZGF0ZWQiLAogICJ1dWlkIjogIm5pZ2h0LWxpZ2h0LXNsaWRlci11cGRhdGVkQHZpbHNiZWcuY29kZWJlcmcub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="},
-    "46": {"version": "9", "sha256": "1c88dzp9k5krd5b4569s9c4aas86djzqwahdif5kaymi7x8cp9rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpeXVpJ3MgTmlnaHQgTGlnaHQgU2xpZGVyIHVwZGF0ZWQgZm9yIEdOT01FIDQ1LiBBIEdOT01FIGV4dGVuc2lvbiB0byBtYW5hZ2UgdGhlIGJ1aWx0LWluIG5pZ2h0IGxpZ2h0IHRlbXBlcmF0dXJlLiBPcmlnaW5hbCBpbXBsZW1lbnRhdGlvbjogaHR0cHM6Ly9jb2RlYmVyZy5vcmcvdmlsc2JlZy9uaWdodC1saWdodC1zbGlkZXItdXBkYXRlZC8iLAogICJuYW1lIjogIk5pZ2h0IExpZ2h0IFNsaWRlciBVcGRhdGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5pZ2h0bGlnaHRzbGlkZXJ1cGRhdGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vY29kZWJlcmcub3JnL3ZpbHNiZWcvbmlnaHQtbGlnaHQtc2xpZGVyLXVwZGF0ZWQiLAogICJ1dWlkIjogIm5pZ2h0LWxpZ2h0LXNsaWRlci11cGRhdGVkQHZpbHNiZWcuY29kZWJlcmcub3JnIiwKICAidmVyc2lvbiI6IDkKfQ=="}
+    "45": {"version": "10", "sha256": "02pdykqq1zvf674qdkzrpmxvqdi3zxppxky4n6pdndmywqdxs63x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpeXVpJ3MgTmlnaHQgTGlnaHQgU2xpZGVyIHVwZGF0ZWQgZm9yIEdOT01FIDQ1LiBQcm92aWRlcyBhIHNsaWRlciBpbiB0aGUgcXVpY2sgc2V0dGluZ3MgbWVudSB0byBjb250cm9sIHRoZSBuaWdodCBsaWdodCB0ZW1wZXJhdHVyZS4gU29tZSBuaWNlIG9wdGlvbnMgY2FuIGJlIHNldCBpbiB0aGUgZXh0ZW5zaW9uIHByZWZlcmVuY2VzIG1lbnUuIE9yaWdpbmFsIGltcGxlbWVudGF0aW9uOiBodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1uaWdodC1saWdodC1zbGlkZXItZXh0ZW5zaW9uLyIsCiAgIm5hbWUiOiAiTmlnaHQgTGlnaHQgU2xpZGVyIFVwZGF0ZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmlnaHRsaWdodHNsaWRlcnVwZGF0ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9jb2RlYmVyZy5vcmcvdmlsc2JlZy9uaWdodC1saWdodC1zbGlkZXItdXBkYXRlZCIsCiAgInV1aWQiOiAibmlnaHQtbGlnaHQtc2xpZGVyLXVwZGF0ZWRAdmlsc2JlZy5jb2RlYmVyZy5vcmciLAogICJ2ZXJzaW9uIjogMTAKfQ=="},
+    "46": {"version": "10", "sha256": "02pdykqq1zvf674qdkzrpmxvqdi3zxppxky4n6pdndmywqdxs63x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpeXVpJ3MgTmlnaHQgTGlnaHQgU2xpZGVyIHVwZGF0ZWQgZm9yIEdOT01FIDQ1LiBQcm92aWRlcyBhIHNsaWRlciBpbiB0aGUgcXVpY2sgc2V0dGluZ3MgbWVudSB0byBjb250cm9sIHRoZSBuaWdodCBsaWdodCB0ZW1wZXJhdHVyZS4gU29tZSBuaWNlIG9wdGlvbnMgY2FuIGJlIHNldCBpbiB0aGUgZXh0ZW5zaW9uIHByZWZlcmVuY2VzIG1lbnUuIE9yaWdpbmFsIGltcGxlbWVudGF0aW9uOiBodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1uaWdodC1saWdodC1zbGlkZXItZXh0ZW5zaW9uLyIsCiAgIm5hbWUiOiAiTmlnaHQgTGlnaHQgU2xpZGVyIFVwZGF0ZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmlnaHRsaWdodHNsaWRlcnVwZGF0ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9jb2RlYmVyZy5vcmcvdmlsc2JlZy9uaWdodC1saWdodC1zbGlkZXItdXBkYXRlZCIsCiAgInV1aWQiOiAibmlnaHQtbGlnaHQtc2xpZGVyLXVwZGF0ZWRAdmlsc2JlZy5jb2RlYmVyZy5vcmciLAogICJ2ZXJzaW9uIjogMTAKfQ=="}
   }}
 , {"uuid": "wiggle@mechtifs", "name": "Wiggle", "pname": "wiggle", "description": "Wiggle is a GNOME 45+ port/fix for the scaling effect from Jiggle with better performance. Wiggle magnifies your cursor when the mouse is moved rapidly.", "link": "https://extensions.gnome.org/extension/6784/wiggle/", "shell_version_map": {
     "45": {"version": "2", "sha256": "14vi9cd9qm6f6z1krhh6s4l8z0121aayf1jmkgaj6i52i7559cmw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpZ2dsZSBpcyBhIEdOT01FIFNoZWxsIGV4dGVuc2lvbiB0aGF0IG1hZ25pZmllcyB0aGUgY3Vyc29yIHdoZW4gdGhlIG1vdXNlIGlzIG1vdmVkIHJhcGlkbHkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXdpZ2dsZSIsCiAgIm5hbWUiOiAiV2lnZ2xlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpZ2dsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZWNodGlmcy93aWdnbGUiLAogICJ1dWlkIjogIndpZ2dsZUBtZWNodGlmcyIsCiAgInZlcnNpb24iOiAyCn0="},
@@ -7018,18 +7039,18 @@
     "46": {"version": "37", "sha256": "01a51cffdqpzzpfdag7av5z11hsdjja21qkbsl0fsjcslxwad4fs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYXRlIFRpbWUtYmFzZWQgT25lLVRpbWUgUGFzc3dvcmRzIChUT1RQIGFrYSBPVFApIGZvciB3ZWJzaXRlcyB0aGF0IHVzZSBUd28tRmFjdG9yIEF1dGhlbnRpY2F0aW9uICgyRkEpIGxpa2UgR29vZ2xlLCBGYWNlYm9vaywgRGlzY29yZCwgQW1hem9uLCBTdGVhbSwgZXRjLiIsCiAgImdldHRleHQtZG9tYWluIjogInRvdHBAZGtvc21hcmkuZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiVE9UUCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50b3RwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ka29zbWFyaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdG90cCIsCiAgInV1aWQiOiAidG90cEBka29zbWFyaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM3Cn0="}
   }}
 , {"uuid": "better-end-session-dialog@popov895.ukr.net", "name": "Better End Session Dialog", "pname": "better-end-session-dialog", "description": "Show logout/reboot/shutdown together in the end session dialog", "link": "https://extensions.gnome.org/extension/6796/better-end-session-dialog/", "shell_version_map": {
-    "42": {"version": "10", "sha256": "040aji5xnq66mlf3hwabngwzhgmbw1vd4z6agp6r4d55y9ydblcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZyIsCiAgInV1aWQiOiAiYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZ0Bwb3Bvdjg5NS51a3IubmV0IiwKICAidmVyc2lvbiI6IDEwCn0="},
-    "43": {"version": "10", "sha256": "040aji5xnq66mlf3hwabngwzhgmbw1vd4z6agp6r4d55y9ydblcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZyIsCiAgInV1aWQiOiAiYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZ0Bwb3Bvdjg5NS51a3IubmV0IiwKICAidmVyc2lvbiI6IDEwCn0="},
-    "44": {"version": "10", "sha256": "040aji5xnq66mlf3hwabngwzhgmbw1vd4z6agp6r4d55y9ydblcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZyIsCiAgInV1aWQiOiAiYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZ0Bwb3Bvdjg5NS51a3IubmV0IiwKICAidmVyc2lvbiI6IDEwCn0="},
-    "45": {"version": "11", "sha256": "1p6yjm5cq8q85m0bsj64xiqwpnn9wp0h5yhanbxrsp0pfsgl691q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9iZXR0ZXItZW5kLXNlc3Npb24tZGlhbG9nIiwKICAidXVpZCI6ICJiZXR0ZXItZW5kLXNlc3Npb24tZGlhbG9nQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogMTEKfQ=="},
-    "46": {"version": "11", "sha256": "1p6yjm5cq8q85m0bsj64xiqwpnn9wp0h5yhanbxrsp0pfsgl691q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9iZXR0ZXItZW5kLXNlc3Npb24tZGlhbG9nIiwKICAidXVpZCI6ICJiZXR0ZXItZW5kLXNlc3Npb24tZGlhbG9nQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}
+    "42": {"version": "12", "sha256": "08ah8w609asl8k8r00f2b3i9qbiahnggya0yh8r3iipkn6b8x8zh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZyIsCiAgInV1aWQiOiAiYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZ0Bwb3Bvdjg5NS51a3IubmV0IiwKICAidmVyc2lvbiI6IDEyCn0="},
+    "43": {"version": "12", "sha256": "08ah8w609asl8k8r00f2b3i9qbiahnggya0yh8r3iipkn6b8x8zh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZyIsCiAgInV1aWQiOiAiYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZ0Bwb3Bvdjg5NS51a3IubmV0IiwKICAidmVyc2lvbiI6IDEyCn0="},
+    "44": {"version": "12", "sha256": "08ah8w609asl8k8r00f2b3i9qbiahnggya0yh8r3iipkn6b8x8zh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIsCiAgICAiNDMiLAogICAgIjQ0IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9wb3Y4OTUvYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZyIsCiAgInV1aWQiOiAiYmV0dGVyLWVuZC1zZXNzaW9uLWRpYWxvZ0Bwb3Bvdjg5NS51a3IubmV0IiwKICAidmVyc2lvbiI6IDEyCn0="},
+    "45": {"version": "13", "sha256": "0xyyychdfxfg3d26cxva72s7ffrng1phdjvlnh1khddnhlzszf5k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9iZXR0ZXItZW5kLXNlc3Npb24tZGlhbG9nIiwKICAidXVpZCI6ICJiZXR0ZXItZW5kLXNlc3Npb24tZGlhbG9nQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="},
+    "46": {"version": "13", "sha256": "0xyyychdfxfg3d26cxva72s7ffrng1phdjvlnh1khddnhlzszf5k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbG9nb3V0L3JlYm9vdC9zaHV0ZG93biB0b2dldGhlciBpbiB0aGUgZW5kIHNlc3Npb24gZGlhbG9nIiwKICAiZG9uYXRpb25zIjogewogICAgImJ1eW1lYWNvZmZlZSI6ICJwb3Bvdjg5NWEiCiAgfSwKICAibmFtZSI6ICJCZXR0ZXIgRW5kIFNlc3Npb24gRGlhbG9nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9iZXR0ZXItZW5kLXNlc3Npb24tZGlhbG9nIiwKICAidXVpZCI6ICJiZXR0ZXItZW5kLXNlc3Npb24tZGlhbG9nQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
   }}
 , {"uuid": "layout-hotkeys@max.post.space.gmail.com", "name": "Layout Hotkeys", "pname": "layout-hotkeys", "description": "Add hotkeys to switch keyboard layout directly via Shift + Alt + [1-9].", "link": "https://extensions.gnome.org/extension/6804/layout-hotkeys/", "shell_version_map": {
     "45": {"version": "1", "sha256": "1w85nx17ggalvjd1lrj2dkhc1xkmvc1jv45vb2cvxvxpb7c4ji3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBob3RrZXlzIHRvIHN3aXRjaCBsYXlvdXRzIGRpcmVjdGx5IHZpYSBTaGlmdCArIEFsdCArIFsxLTldLiIsCiAgIm5hbWUiOiAiTGF5b3V0IEhvdGtleXMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubGF5b3V0LWhvdGtleXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTXJEdm9yYWsvbGF5b3V0LWhvdGtleXMiLAogICJ1dWlkIjogImxheW91dC1ob3RrZXlzQG1heC5wb3N0LnNwYWNlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="},
     "46": {"version": "2", "sha256": "0g40vq4r0p6qkx34nkhixg154rwcjkbdfqcsgcmhb730kdyypbmf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBob3RrZXlzIHRvIHN3aXRjaCBrZXlib2FyZCBsYXlvdXQgZGlyZWN0bHkgdmlhIFNoaWZ0ICsgQWx0ICsgWzEtOV0uIiwKICAibmFtZSI6ICJMYXlvdXQgSG90a2V5cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXlvdXQtaG90a2V5cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NckR2b3Jhay9sYXlvdXQtaG90a2V5cyIsCiAgInV1aWQiOiAibGF5b3V0LWhvdGtleXNAbWF4LnBvc3Quc3BhY2UuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIsCiAgInZlcnNpb24tbmFtZSI6ICIyLjAiCn0="}
   }}
 , {"uuid": "system-monitor@gnome-shell-extensions.gcampax.github.com", "name": "System Monitor", "pname": "system-monitor", "description": "Monitor system from the top bar", "link": "https://extensions.gnome.org/extension/6807/system-monitor/", "shell_version_map": {
-    "46": {"version": "2", "sha256": "1dmyisjjmipa5ickr422gk1hbn21b8cilcbabmv9q4pc9d85hc1d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vbml0b3Igc3lzdGVtIGZyb20gdGhlIHRvcCBiYXIiLAogICJleHRlbnNpb24taWQiOiAic3lzdGVtLW1vbml0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogIlN5c3RlbSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogInN5c3RlbS1tb25pdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}
+    "46": {"version": "3", "sha256": "0d4zncm3namqaa1clq7khi0p8s59laxk63nj9394ljcaxpwgw3sc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vbml0b3Igc3lzdGVtIGZyb20gdGhlIHRvcCBiYXIiLAogICJleHRlbnNpb24taWQiOiAic3lzdGVtLW1vbml0b3IiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogIlN5c3RlbSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogInN5c3RlbS1tb25pdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}
   }}
 , {"uuid": "window-thumbnails@G-dH.github.com", "name": "WTMB (Window Thumbnails)", "pname": "wtmb-window-thumbnails", "description": "Allows the creation of window clones for use as Picture-in-Picture (PIP) live thumbnails", "link": "https://extensions.gnome.org/extension/6816/wtmb-window-thumbnails/", "shell_version_map": {
     "42": {"version": "9", "sha256": "07byw17537lmy073c3vq4pzafbflnd5mm45i5sy82mh61j9i1zsl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0aGUgY3JlYXRpb24gb2Ygd2luZG93IGNsb25lcyBmb3IgdXNlIGFzIFBpY3R1cmUtaW4tUGljdHVyZSAoUElQKSBsaXZlIHRodW1ibmFpbHMiLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogImdlb3JnZGgiCiAgfSwKICAiZ2V0dGV4dC1kb21haW4iOiAid2luZG93LXRodW1ibmFpbHMiLAogICJuYW1lIjogIldUTUIgKFdpbmRvdyBUaHVtYm5haWxzKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53aW5kb3ctdGh1bWJuYWlscyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd2luZG93LXRodW1ibmFpbHMiLAogICJ1dWlkIjogIndpbmRvdy10aHVtYm5haWxzQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5LAogICJ2ZXJzaW9uLW5hbWUiOiAiNDQuMyIKfQ=="},
@@ -7049,10 +7070,10 @@
     "43": {"version": "4", "sha256": "0h8lb37ic08727vw0lwk2hwxjnyk93y3l1w1q5i040da180hmpgr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRpbWVyIHRvIHJlbWluZCB1c2VycyB0byB0YWtlIGJyZWFrcyBhbmQgcmVkdWNlIGV5ZSBzdHJhaW4gYnkgZm9sbG93aW5nIHRoZSAyMCcyMCcyMCBydWxlLiIsCiAgImdldHRleHQtZG9tYWluIjogIjIwMjAyMHJ1bGV0aW1lciIsCiAgIm5hbWUiOiAiMjAgMjAgMjAgUnVsZSBUaW1lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQzIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmlsaXBwb2JlcnRpMjAyMC8yMC0yMC0yMC1ydWxlLXRpbWVyIiwKICAidXVpZCI6ICIyMDIwMjBydWxldGltZXJAMjAyMDIwcnVsZXRpbWVyLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}
   }}
 , {"uuid": "geminiaiubuntu@arda.com", "name": "Gemini AI ChatBot", "pname": "gemini-ai", "description": "This Add-on is using gemini ai 1.0 pro model for chatting. \n This extensions using thisipcan.cyou for location detection and googleapis.com for gemini model \n also if you are planing to use Vertex api you should install `gcloud` as dependency (optional) \n NOTE: This extension is not affiliated, funded, or in any way associated with Google and Gemini.", "link": "https://extensions.gnome.org/extension/6834/gemini-ai/", "shell_version_map": {
-    "40": {"version": "17", "sha256": "1qnjvlp1z96xg1whzjlmnkvhxzmn49zpv8zk4w2kghcr8xav2dzz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSBhaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS4iLAogICJuYW1lIjogIkdlbWluaSBBSSBDaGF0Qm90IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdlbWluaWFpdWJ1bnR1IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3d3YXJkYXd3L2dub21lLWdlbWluaS1haSIsCiAgInV1aWQiOiAiZ2VtaW5pYWl1YnVudHVAYXJkYS5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
-    "42": {"version": "17", "sha256": "1qnjvlp1z96xg1whzjlmnkvhxzmn49zpv8zk4w2kghcr8xav2dzz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSBhaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS4iLAogICJuYW1lIjogIkdlbWluaSBBSSBDaGF0Qm90IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdlbWluaWFpdWJ1bnR1IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3d3YXJkYXd3L2dub21lLWdlbWluaS1haSIsCiAgInV1aWQiOiAiZ2VtaW5pYWl1YnVudHVAYXJkYS5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
-    "43": {"version": "17", "sha256": "1qnjvlp1z96xg1whzjlmnkvhxzmn49zpv8zk4w2kghcr8xav2dzz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSBhaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS4iLAogICJuYW1lIjogIkdlbWluaSBBSSBDaGF0Qm90IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdlbWluaWFpdWJ1bnR1IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3d3YXJkYXd3L2dub21lLWdlbWluaS1haSIsCiAgInV1aWQiOiAiZ2VtaW5pYWl1YnVudHVAYXJkYS5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
-    "44": {"version": "17", "sha256": "1qnjvlp1z96xg1whzjlmnkvhxzmn49zpv8zk4w2kghcr8xav2dzz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSBhaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS4iLAogICJuYW1lIjogIkdlbWluaSBBSSBDaGF0Qm90IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdlbWluaWFpdWJ1bnR1IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDIiLAogICAgIjQzIiwKICAgICI0NCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3d3YXJkYXd3L2dub21lLWdlbWluaS1haSIsCiAgInV1aWQiOiAiZ2VtaW5pYWl1YnVudHVAYXJkYS5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="},
+    "40": {"version": "19", "sha256": "0xbsfiak1kb76j87siprrxzm788a3gviakwiygk0a6b7vy7q1ndj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSBhaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS5cbiBDSEFOR0VMSVNUOiBodHRwczovL2dpdGh1Yi5jb20vd3dhcmRhd3cvZ25vbWUtZ2VtaW5pLWFpL2Jsb2IvbWFpbi9DSEFOR0VTLm1kIiwKICAibmFtZSI6ICJHZW1pbmkgQUkgQ2hhdEJvdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZW1pbmlhaXVidW50dSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93d2FyZGF3dy9nbm9tZS1nZW1pbmktYWkiLAogICJ1dWlkIjogImdlbWluaWFpdWJ1bnR1QGFyZGEuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="},
+    "42": {"version": "19", "sha256": "0xbsfiak1kb76j87siprrxzm788a3gviakwiygk0a6b7vy7q1ndj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSBhaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS5cbiBDSEFOR0VMSVNUOiBodHRwczovL2dpdGh1Yi5jb20vd3dhcmRhd3cvZ25vbWUtZ2VtaW5pLWFpL2Jsb2IvbWFpbi9DSEFOR0VTLm1kIiwKICAibmFtZSI6ICJHZW1pbmkgQUkgQ2hhdEJvdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZW1pbmlhaXVidW50dSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93d2FyZGF3dy9nbm9tZS1nZW1pbmktYWkiLAogICJ1dWlkIjogImdlbWluaWFpdWJ1bnR1QGFyZGEuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="},
+    "43": {"version": "19", "sha256": "0xbsfiak1kb76j87siprrxzm788a3gviakwiygk0a6b7vy7q1ndj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSBhaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS5cbiBDSEFOR0VMSVNUOiBodHRwczovL2dpdGh1Yi5jb20vd3dhcmRhd3cvZ25vbWUtZ2VtaW5pLWFpL2Jsb2IvbWFpbi9DSEFOR0VTLm1kIiwKICAibmFtZSI6ICJHZW1pbmkgQUkgQ2hhdEJvdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZW1pbmlhaXVidW50dSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93d2FyZGF3dy9nbm9tZS1nZW1pbmktYWkiLAogICJ1dWlkIjogImdlbWluaWFpdWJ1bnR1QGFyZGEuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="},
+    "44": {"version": "19", "sha256": "0xbsfiak1kb76j87siprrxzm788a3gviakwiygk0a6b7vy7q1ndj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSBhaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS5cbiBDSEFOR0VMSVNUOiBodHRwczovL2dpdGh1Yi5jb20vd3dhcmRhd3cvZ25vbWUtZ2VtaW5pLWFpL2Jsb2IvbWFpbi9DSEFOR0VTLm1kIiwKICAibmFtZSI6ICJHZW1pbmkgQUkgQ2hhdEJvdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZW1pbmlhaXVidW50dSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93d2FyZGF3dy9nbm9tZS1nZW1pbmktYWkiLAogICJ1dWlkIjogImdlbWluaWFpdWJ1bnR1QGFyZGEuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="},
     "45": {"version": "13", "sha256": "09n18gb9wxwabjy37qiaanv719simfir1bfyjyz1gf08zng9p0km", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS4iLAogICJuYW1lIjogIkdlbWluaSBBSSBmb3IgR25vbWUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ2VtaW5pYWl1YnVudHUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd3dhcmRhd3cvZ25vbWUtZ2VtaW5pLWFpIiwKICAidXVpZCI6ICJnZW1pbmlhaXVidW50dUBhcmRhLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"},
     "46": {"version": "18", "sha256": "0b4y8s80rbrfnkpfkxdf1x6pk1mqy84knpfh7jsph0agg84wcj50", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgQWRkLW9uIGlzIHVzaW5nIGdlbWluaSBhaSAxLjAgcHJvIG1vZGVsIGZvciBjaGF0dGluZy4gXG4gVGhpcyBleHRlbnNpb25zIHVzaW5nIHRoaXNpcGNhbi5jeW91IGZvciBsb2NhdGlvbiBkZXRlY3Rpb24gYW5kIGdvb2dsZWFwaXMuY29tIGZvciBnZW1pbmkgbW9kZWwgXG4gYWxzbyBpZiB5b3UgYXJlIHBsYW5pbmcgdG8gdXNlIFZlcnRleCBhcGkgeW91IHNob3VsZCBpbnN0YWxsIGBnY2xvdWRgIGFzIGRlcGVuZGVuY3kgKG9wdGlvbmFsKSBcbiBOT1RFOiBUaGlzIGV4dGVuc2lvbiBpcyBub3QgYWZmaWxpYXRlZCwgZnVuZGVkLCBvciBpbiBhbnkgd2F5IGFzc29jaWF0ZWQgd2l0aCBHb29nbGUgYW5kIEdlbWluaS4iLAogICJuYW1lIjogIkdlbWluaSBBSSBDaGF0Qm90IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdlbWluaWFpdWJ1bnR1IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3d3YXJkYXd3L2dub21lLWdlbWluaS1haSIsCiAgInV1aWQiOiAiZ2VtaW5pYWl1YnVudHVAYXJkYS5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}
   }}
@@ -7115,6 +7136,9 @@
     "45": {"version": "4", "sha256": "0j4rhb1qvisw146qf97k6z19m76ks1nb6av4kqann88kk78hinaf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBiaW5hcnkgY2xvY2sgdG8gdGhlIGdub21lIHRvcCBiYXIiLAogICJuYW1lIjogImdCaW5hcnlDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSXNvcG9saXRvL2dCaW5hcnlDbG9jayIsCiAgInV1aWQiOiAiZ2JpbmFyeWNsb2NrQGlzb3BvbGl0byIsCiAgInZlcnNpb24iOiA0Cn0="},
     "46": {"version": "4", "sha256": "0j4rhb1qvisw146qf97k6z19m76ks1nb6av4kqann88kk78hinaf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBiaW5hcnkgY2xvY2sgdG8gdGhlIGdub21lIHRvcCBiYXIiLAogICJuYW1lIjogImdCaW5hcnlDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSXNvcG9saXRvL2dCaW5hcnlDbG9jayIsCiAgInV1aWQiOiAiZ2JpbmFyeWNsb2NrQGlzb3BvbGl0byIsCiAgInZlcnNpb24iOiA0Cn0="}
   }}
+, {"uuid": "quick-lofi@eucaue", "name": "Quick Lofi", "pname": "quick-lofi", "description": "Relax to lo-fi tunes with just a click.\n\nYou need MPV and socat for this extension to work.\n\nFedora: sudo dnf install mpv socat\nUbuntu: sudo apt install mpv socat\nArch Linux: sudo pacman -S mpv socat", "link": "https://extensions.gnome.org/extension/6904/quick-lofi/", "shell_version_map": {
+    "46": {"version": "3", "sha256": "0la8s8rpfvnabp599wdrsdkzlyjw1sjvbr0jdf1ldp260famsk77", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbGF4IHRvIGxvLWZpIHR1bmVzIHdpdGgganVzdCBhIGNsaWNrLlxuXG5Zb3UgbmVlZCBNUFYgYW5kIHNvY2F0IGZvciB0aGlzIGV4dGVuc2lvbiB0byB3b3JrLlxuXG5GZWRvcmE6IHN1ZG8gZG5mIGluc3RhbGwgbXB2IHNvY2F0XG5VYnVudHU6IHN1ZG8gYXB0IGluc3RhbGwgbXB2IHNvY2F0XG5BcmNoIExpbnV4OiBzdWRvIHBhY21hbiAtUyBtcHYgc29jYXQiLAogICJuYW1lIjogIlF1aWNrIExvZmkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucXVpY2stbG9maSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWNhdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1aWNrLWxvZmkiLAogICJ1dWlkIjogInF1aWNrLWxvZmlAZXVjYXVlIiwKICAidmVyc2lvbiI6IDMKfQ=="}
+  }}
 , {"uuid": "mock-tray@kramo.page", "name": "Mock Tray", "pname": "mock-tray", "description": "Creates an invisible system tray (TopIcons) for apps (like MEGAsync) that won't run properly without one.", "link": "https://extensions.gnome.org/extension/6913/mock-tray/", "shell_version_map": {
     "45": {"version": "2", "sha256": "0vp951zha0d6glda9f7b7yp8cradssj477lymmspx19p0iwz7zcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgYW4gaW52aXNpYmxlIHN5c3RlbSB0cmF5IChUb3BJY29ucykgZm9yIGFwcHMgKGxpa2UgTUVHQXN5bmMpIHRoYXQgd29uJ3QgcnVuIHByb3Blcmx5IHdpdGhvdXQgb25lLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAia3JhLW1vIgogIH0sCiAgIm5hbWUiOiAiTW9jayBUcmF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rcmEtbW8vbW9jay10cmF5LyIsCiAgInV1aWQiOiAibW9jay10cmF5QGtyYW1vLnBhZ2UiLAogICJ2ZXJzaW9uIjogMgp9"},
     "46": {"version": "2", "sha256": "0vp951zha0d6glda9f7b7yp8cradssj477lymmspx19p0iwz7zcg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgYW4gaW52aXNpYmxlIHN5c3RlbSB0cmF5IChUb3BJY29ucykgZm9yIGFwcHMgKGxpa2UgTUVHQXN5bmMpIHRoYXQgd29uJ3QgcnVuIHByb3Blcmx5IHdpdGhvdXQgb25lLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAia3JhLW1vIgogIH0sCiAgIm5hbWUiOiAiTW9jayBUcmF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rcmEtbW8vbW9jay10cmF5LyIsCiAgInV1aWQiOiAibW9jay10cmF5QGtyYW1vLnBhZ2UiLAogICJ2ZXJzaW9uIjogMgp9"}
@@ -7124,18 +7148,18 @@
     "46": {"version": "1", "sha256": "1xzj9nj12zzc34qdskrpimlcrq37nmhh7wrwvcv05x2s8slr9rjj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBlbmFibGUgcG9ydCBmb3J3YXJkaW5nIHZpYSBTU0ggIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicG9ydGZvcndhcmRpbmctZXh0ZW5zaW9uQFNKQkVSVFJBTkQuZ2l0aHViLmNvbSIsCiAgIm5hbWUiOiAiUG9ydCBGb3J3YXJkaW5nIEV4dGVuc2lvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3J0Zm9yd2FyZGluZy1leHRlbnNpb25AU0pCRVJUUkFORC5naXRodWIuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TSkJFUlRSQU5EL3BvcnRmb3J3YXJkaW5nLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAicG9ydGZvcndhcmRpbmctZXh0ZW5zaW9uQFNKQkVSVFJBTkQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}
   }}
 , {"uuid": "gravatar@dsheeler.net", "name": "Gravatar", "pname": "gravatar", "description": "Synchronize GNOME Shell user icon with Gravatar.\nThis extension is not affiliated, funded, or in any way associated with Automattic and Gravatar.", "link": "https://extensions.gnome.org/extension/6922/gravatar/", "shell_version_map": {
-    "46": {"version": "3", "sha256": "1jyirqxwynblvjwh6zbj8j57hf07c1qkkmz8gs0pkzmbxqy1qrjf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmNocm9uaXplIEdOT01FIFNoZWxsIHVzZXIgaWNvbiB3aXRoIEdyYXZhdGFyLlxuVGhpcyBleHRlbnNpb24gaXMgbm90IGFmZmlsaWF0ZWQsIGZ1bmRlZCwgb3IgaW4gYW55IHdheSBhc3NvY2lhdGVkIHdpdGggQXV0b21hdHRpYyBhbmQgR3JhdmF0YXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJkc2hlZWxlciIsCiAgICAibGliZXJhcGF5IjogImRzaGVlbGVyIiwKICAgICJwYXlwYWwiOiAiRGFuaWVsU2hlZWxlciIKICB9LAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWdyYXZhdGFyIiwKICAibmFtZSI6ICJHcmF2YXRhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ncmF2YXRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kc2hlZWxlci9nbm9tZS1zaGVsbC1leHRlbnNpb25zLWdyYXZhdGFyIiwKICAidXVpZCI6ICJncmF2YXRhckBkc2hlZWxlci5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}
+    "46": {"version": "4", "sha256": "0f633fqlav4c8gadfw6bn0j8m51r80pgiykrzyzrrp7xxb190vbz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmNocm9uaXplIEdOT01FIFNoZWxsIHVzZXIgaWNvbiB3aXRoIEdyYXZhdGFyLlxuVGhpcyBleHRlbnNpb24gaXMgbm90IGFmZmlsaWF0ZWQsIGZ1bmRlZCwgb3IgaW4gYW55IHdheSBhc3NvY2lhdGVkIHdpdGggQXV0b21hdHRpYyBhbmQgR3JhdmF0YXIuIiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJkc2hlZWxlciIsCiAgICAibGliZXJhcGF5IjogImRzaGVlbGVyIiwKICAgICJwYXlwYWwiOiAiRGFuaWVsU2hlZWxlciIKICB9LAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWdyYXZhdGFyIiwKICAibmFtZSI6ICJHcmF2YXRhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ncmF2YXRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kc2hlZWxlci9nbm9tZS1zaGVsbC1leHRlbnNpb25zLWdyYXZhdGFyIiwKICAidXVpZCI6ICJncmF2YXRhckBkc2hlZWxlci5uZXQiLAogICJ2ZXJzaW9uIjogNAp9"}
   }}
 , {"uuid": "wechsel@transistor.local", "name": "Wechsel", "pname": "wechsel", "description": "Organise your computer by replacing user folders with symlinks to project folders.\nThis extension is the user interface for the wechsel cli tool.\n\nWechsel is a simple tool that helps you by creating individual Download, Desktop, ... folders for each project.\nIt replaces the original folders with symlinks to the folders of the current active project.\nLike this the random files you download, will be placed in the Download folder they belong to.\n\nThis Extension depends on the wechsel cli tool, which you can find here: https://github.com/JustSomeRandomUsername/wechsel", "link": "https://extensions.gnome.org/extension/6925/wechsel/", "shell_version_map": {
     "44": {"version": "5", "sha256": "1212kva3sj9cwiq6nligk62r1am200413lhp2szw6ydj8mj8mnfi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXNlIHlvdXIgY29tcHV0ZXIgYnkgcmVwbGFjaW5nIHVzZXIgZm9sZGVycyB3aXRoIHN5bWxpbmtzIHRvIHByb2plY3QgZm9sZGVycy5cblRoaXMgZXh0ZW5zaW9uIGlzIHRoZSB1c2VyIGludGVyZmFjZSBmb3IgdGhlIHdlY2hzZWwgY2xpIHRvb2wuXG5cbldlY2hzZWwgaXMgYSBzaW1wbGUgdG9vbCB0aGF0IGhlbHBzIHlvdSBieSBjcmVhdGluZyBpbmRpdmlkdWFsIERvd25sb2FkLCBEZXNrdG9wLCAuLi4gZm9sZGVycyBmb3IgZWFjaCBwcm9qZWN0LlxuSXQgcmVwbGFjZXMgdGhlIG9yaWdpbmFsIGZvbGRlcnMgd2l0aCBzeW1saW5rcyB0byB0aGUgZm9sZGVycyBvZiB0aGUgY3VycmVudCBhY3RpdmUgcHJvamVjdC5cbkxpa2UgdGhpcyB0aGUgcmFuZG9tIGZpbGVzIHlvdSBkb3dubG9hZCwgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIERvd25sb2FkIGZvbGRlciB0aGV5IGJlbG9uZyB0by5cblxuVGhpcyBFeHRlbnNpb24gZGVwZW5kcyBvbiB0aGUgd2VjaHNlbCBjbGkgdG9vbCwgd2hpY2ggeW91IGNhbiBmaW5kIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9KdXN0U29tZVJhbmRvbVVzZXJuYW1lL3dlY2hzZWwiLAogICJuYW1lIjogIldlY2hzZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2VjaHNlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiLAogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0p1c3RTb21lUmFuZG9tVXNlcm5hbWUvd2VjaHNlbC1leHRlbnNpb24iLAogICJ1dWlkIjogIndlY2hzZWxAdHJhbnNpc3Rvci5sb2NhbCIsCiAgInZlcnNpb24iOiA1Cn0="},
     "45": {"version": "5", "sha256": "1212kva3sj9cwiq6nligk62r1am200413lhp2szw6ydj8mj8mnfi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXNlIHlvdXIgY29tcHV0ZXIgYnkgcmVwbGFjaW5nIHVzZXIgZm9sZGVycyB3aXRoIHN5bWxpbmtzIHRvIHByb2plY3QgZm9sZGVycy5cblRoaXMgZXh0ZW5zaW9uIGlzIHRoZSB1c2VyIGludGVyZmFjZSBmb3IgdGhlIHdlY2hzZWwgY2xpIHRvb2wuXG5cbldlY2hzZWwgaXMgYSBzaW1wbGUgdG9vbCB0aGF0IGhlbHBzIHlvdSBieSBjcmVhdGluZyBpbmRpdmlkdWFsIERvd25sb2FkLCBEZXNrdG9wLCAuLi4gZm9sZGVycyBmb3IgZWFjaCBwcm9qZWN0LlxuSXQgcmVwbGFjZXMgdGhlIG9yaWdpbmFsIGZvbGRlcnMgd2l0aCBzeW1saW5rcyB0byB0aGUgZm9sZGVycyBvZiB0aGUgY3VycmVudCBhY3RpdmUgcHJvamVjdC5cbkxpa2UgdGhpcyB0aGUgcmFuZG9tIGZpbGVzIHlvdSBkb3dubG9hZCwgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIERvd25sb2FkIGZvbGRlciB0aGV5IGJlbG9uZyB0by5cblxuVGhpcyBFeHRlbnNpb24gZGVwZW5kcyBvbiB0aGUgd2VjaHNlbCBjbGkgdG9vbCwgd2hpY2ggeW91IGNhbiBmaW5kIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9KdXN0U29tZVJhbmRvbVVzZXJuYW1lL3dlY2hzZWwiLAogICJuYW1lIjogIldlY2hzZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2VjaHNlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiLAogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0p1c3RTb21lUmFuZG9tVXNlcm5hbWUvd2VjaHNlbC1leHRlbnNpb24iLAogICJ1dWlkIjogIndlY2hzZWxAdHJhbnNpc3Rvci5sb2NhbCIsCiAgInZlcnNpb24iOiA1Cn0="},
     "46": {"version": "5", "sha256": "1212kva3sj9cwiq6nligk62r1am200413lhp2szw6ydj8mj8mnfi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXNlIHlvdXIgY29tcHV0ZXIgYnkgcmVwbGFjaW5nIHVzZXIgZm9sZGVycyB3aXRoIHN5bWxpbmtzIHRvIHByb2plY3QgZm9sZGVycy5cblRoaXMgZXh0ZW5zaW9uIGlzIHRoZSB1c2VyIGludGVyZmFjZSBmb3IgdGhlIHdlY2hzZWwgY2xpIHRvb2wuXG5cbldlY2hzZWwgaXMgYSBzaW1wbGUgdG9vbCB0aGF0IGhlbHBzIHlvdSBieSBjcmVhdGluZyBpbmRpdmlkdWFsIERvd25sb2FkLCBEZXNrdG9wLCAuLi4gZm9sZGVycyBmb3IgZWFjaCBwcm9qZWN0LlxuSXQgcmVwbGFjZXMgdGhlIG9yaWdpbmFsIGZvbGRlcnMgd2l0aCBzeW1saW5rcyB0byB0aGUgZm9sZGVycyBvZiB0aGUgY3VycmVudCBhY3RpdmUgcHJvamVjdC5cbkxpa2UgdGhpcyB0aGUgcmFuZG9tIGZpbGVzIHlvdSBkb3dubG9hZCwgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIERvd25sb2FkIGZvbGRlciB0aGV5IGJlbG9uZyB0by5cblxuVGhpcyBFeHRlbnNpb24gZGVwZW5kcyBvbiB0aGUgd2VjaHNlbCBjbGkgdG9vbCwgd2hpY2ggeW91IGNhbiBmaW5kIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9KdXN0U29tZVJhbmRvbVVzZXJuYW1lL3dlY2hzZWwiLAogICJuYW1lIjogIldlY2hzZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2VjaHNlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDQiLAogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0p1c3RTb21lUmFuZG9tVXNlcm5hbWUvd2VjaHNlbC1leHRlbnNpb24iLAogICJ1dWlkIjogIndlY2hzZWxAdHJhbnNpc3Rvci5sb2NhbCIsCiAgInZlcnNpb24iOiA1Cn0="}
   }}
-, {"uuid": "boostvolume@shaquib.dev", "name": "Volume Booster", "pname": "boost-volume", "description": "Boosts volume above limits", "link": "https://extensions.gnome.org/extension/6928/boost-volume/", "shell_version_map": {
-    "46": {"version": "6", "sha256": "1z4baifmz6q3h1vkm2196z08nh8z3pp2w8rxcgy7xbsmbppr9i23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJvb3N0cyB2b2x1bWUgYWJvdmUgbGltaXRzIiwKICAibmFtZSI6ICJCb29zdCBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hhcXVpYmltZGFkL2dub21lX2V4dF92b2x1bWVfYm9vc3QiLAogICJ1dWlkIjogImJvb3N0dm9sdW1lQHNoYXF1aWIuZGV2IiwKICAidmVyc2lvbiI6IDYKfQ=="}
+, {"uuid": "boostvolume@shaquib.dev", "name": "Boost Volume", "pname": "boost-volume", "description": "Boosts volume above limits", "link": "https://extensions.gnome.org/extension/6928/boost-volume/", "shell_version_map": {
+    "46": {"version": "7", "sha256": "1zi0bgkvj99x5w1pgfinp83i4cr0hqf7x2wfjafdck6jzbn1qchn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJvb3N0cyB2b2x1bWUgYWJvdmUgbGltaXRzIiwKICAibmFtZSI6ICJCb29zdCBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hhcXVpYmltZGFkL2dub21lX2V4dF92b2x1bWVfYm9vc3QiLAogICJ1dWlkIjogImJvb3N0dm9sdW1lQHNoYXF1aWIuZGV2IiwKICAidmVyc2lvbiI6IDcKfQ=="}
   }}
 , {"uuid": "media-progress@krypion17", "name": "Media Progress", "pname": "media-progress", "description": "Progress Bar for the GNOME Media Notification", "link": "https://extensions.gnome.org/extension/6940/media-progress/", "shell_version_map": {
-    "46": {"version": "9", "sha256": "1ni8qqchg0z49nl5yhsvc2z4lmlwpg8sb4fs6x4jv4888jaidfcm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb2dyZXNzIEJhciBmb3IgdGhlIEdOT01FIE1lZGlhIE5vdGlmaWNhdGlvbiIsCiAgIm5hbWUiOiAiTWVkaWEgUHJvZ3Jlc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS3J5cGlvbjE3L21lZGlhLXByb2dyZXNzIiwKICAidXVpZCI6ICJtZWRpYS1wcm9ncmVzc0BrcnlwaW9uMTciLAogICJ2ZXJzaW9uIjogOQp9"}
+    "46": {"version": "13", "sha256": "0pwlcvqnnbl0mmmmbsaa73kalvy7if307flazzjc2zjazwxn1ix9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb2dyZXNzIEJhciBmb3IgdGhlIEdOT01FIE1lZGlhIE5vdGlmaWNhdGlvbiIsCiAgIm5hbWUiOiAiTWVkaWEgUHJvZ3Jlc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS3J5cGlvbjE3L21lZGlhLXByb2dyZXNzIiwKICAidXVpZCI6ICJtZWRpYS1wcm9ncmVzc0BrcnlwaW9uMTciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}
   }}
 , {"uuid": "autohide-battery-percentage@rukins.github.io", "name": "Autohide Battery Percentage", "pname": "autohide-battery-percentage", "description": "GNOME Shell extension to hide the battery percentage in the top panel, if the computer is plugged in or power saving is disabled", "link": "https://extensions.gnome.org/extension/6943/autohide-battery-percentage/", "shell_version_map": {
     "45": {"version": "6", "sha256": "1xx6a5jkfpibcayyjg8zyyriw7ah8sz7kwmh0gfmbmjrhd0f53p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIFNoZWxsIGV4dGVuc2lvbiB0byBoaWRlIHRoZSBiYXR0ZXJ5IHBlcmNlbnRhZ2UgaW4gdGhlIHRvcCBwYW5lbCwgaWYgdGhlIGNvbXB1dGVyIGlzIHBsdWdnZWQgaW4gb3IgcG93ZXIgc2F2aW5nIGlzIGRpc2FibGVkIiwKICAiZG9uYXRpb25zIjogewogICAgImdpdGh1YiI6ICJydWtpbnMiCiAgfSwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXV0b2hpZGUtYmF0dGVyeS1wZXJjZW50YWdlQHJ1a2lucy5naXRodWIuaW8iLAogICJuYW1lIjogIkF1dG9oaWRlIEJhdHRlcnkgUGVyY2VudGFnZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hdXRvaGlkZS1iYXR0ZXJ5LXBlcmNlbnRhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3J1a2lucy9hdXRvaGlkZS1iYXR0ZXJ5LXBlcmNlbnRhZ2UiLAogICJ1dWlkIjogImF1dG9oaWRlLWJhdHRlcnktcGVyY2VudGFnZUBydWtpbnMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="},
@@ -7144,8 +7168,9 @@
 , {"uuid": "moveclock@kuvaus.org", "name": "moveclock", "pname": "moveclock", "description": "Move the clock to right side of the panel", "link": "https://extensions.gnome.org/extension/6949/moveclock/", "shell_version_map": {
     "46": {"version": "5", "sha256": "0lmvnrms8kg0cir6wkaj7sicn5ms9lx9mqh4z7pbh8gfr135n5v9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHJpZ2h0IHNpZGUgb2YgdGhlIHBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibW92ZWNsb2NrIiwKICAibmFtZSI6ICJtb3ZlY2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubW92ZWNsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2t1dmF1cy9tb3ZlY2xvY2siLAogICJ1dWlkIjogIm1vdmVjbG9ja0BrdXZhdXMub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}
   }}
-, {"uuid": "rezmon@azz.lol", "name": "RezMon", "pname": "rezmon", "description": "Shows info about CPU, RAM and NET on Top Bar", "link": "https://extensions.gnome.org/extension/6952/rezmon/", "shell_version_map": {
-    "46": {"version": "4", "sha256": "1d2ikwkxh4v9nswidxr6vv5xp9kaf8grcwgrcw6s1p2g574rk7hh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGluZm8gYWJvdXQgQ1BVLCBSQU0gYW5kIE5FVCBvbiBUb3AgQmFyIiwKICAibmFtZSI6ICJSZXpNb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXp5d2F5L1Jlek1vbiIsCiAgInV1aWQiOiAicmV6bW9uQGF6ei5sb2wiLAogICJ2ZXJzaW9uIjogNAp9"}
+, {"uuid": "rezmon@azz.lol", "name": "Resource Monitor", "pname": "rezmon", "description": "Shows info about: CPU(usage, clock, temp), RAM (free, used) and NET ( download, upload) on GNOME SHELL System Tray (Top Bar)\n\nTested on GNOME SHELL 46\nMay Work on GNOME SHELL 45", "link": "https://extensions.gnome.org/extension/6952/rezmon/", "shell_version_map": {
+    "45": {"version": "8", "sha256": "0758nlrmr8xvvg6d1p3sqiwr98c7gg43hw29qzxbdih25fqlz008", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGluZm8gYWJvdXQ6XG5DUFUgKCB1c2VnZSwgY2xvY2ssIHRlbXAgKSxcblJBTSAoZnJlZSwgdXNlZClcbk5FVCAoIGRvd25sb2FkLCB1cGxvYWQpXG5vbiBHTk9NRSBTSEVMTCBTeXN0ZW0gVHJheSAoVG9wIEJhcilcblxuR25vbWUgU2hlbGwgVGVzdGVkOiA0NlxuTWF5IFdvcmsgb24gR05PTUUgU0hFTEwgNDUiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V6eXdheS9SZXpNb24iLAogICJ1dWlkIjogInJlem1vbkBhenoubG9sIiwKICAidmVyc2lvbiI6IDgKfQ=="},
+    "46": {"version": "8", "sha256": "0758nlrmr8xvvg6d1p3sqiwr98c7gg43hw29qzxbdih25fqlz008", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGluZm8gYWJvdXQ6XG5DUFUgKCB1c2VnZSwgY2xvY2ssIHRlbXAgKSxcblJBTSAoZnJlZSwgdXNlZClcbk5FVCAoIGRvd25sb2FkLCB1cGxvYWQpXG5vbiBHTk9NRSBTSEVMTCBTeXN0ZW0gVHJheSAoVG9wIEJhcilcblxuR25vbWUgU2hlbGwgVGVzdGVkOiA0NlxuTWF5IFdvcmsgb24gR05PTUUgU0hFTEwgNDUiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V6eXdheS9SZXpNb24iLAogICJ1dWlkIjogInJlem1vbkBhenoubG9sIiwKICAidmVyc2lvbiI6IDgKfQ=="}
   }}
 , {"uuid": "drive-activity-indicator@marcosdalvarez.org", "name": "Drive Activity Indicator", "pname": "drive-activity-indicator", "description": "Visualize the activity of storage drives (disk activity LED simulator).", "link": "https://extensions.gnome.org/extension/6955/drive-activity-indicator/", "shell_version_map": {
     "46": {"version": "2", "sha256": "1p2csc5jdk37qwiqb2ylkqzz3fmbmw9vqik9yv109yqk0zpzbz2y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc3VhbGl6ZSB0aGUgYWN0aXZpdHkgb2Ygc3RvcmFnZSBkcml2ZXMgKGRpc2sgYWN0aXZpdHkgTEVEIHNpbXVsYXRvcikuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZHJpdmUtYWN0aXZpdHktaW5kaWNhdG9yQG1hcmNvc2RhbHZhcmV6Lm9yZyIsCiAgIm5hbWUiOiAiRHJpdmUgQWN0aXZpdHkgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyaXZlLWFjdGl2aXR5LWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJjb3NkYWx2YXJlei9kcml2ZS1hY3Rpdml0eS1pbmRpY2F0b3ItZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkcml2ZS1hY3Rpdml0eS1pbmRpY2F0b3JAbWFyY29zZGFsdmFyZXoub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}
@@ -7161,12 +7186,53 @@
     "45": {"version": "1", "sha256": "1i7ig9jpcdd7nmk5l7zvk7y5bx7yk1m7679x0awzbr84yxchyrly", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBvciBoaWRlIGNsb2NrIGZyb20gdG9wIHBhbmVsLiIsCiAgIm5hbWUiOiAiUmVtb3ZlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdWRmaXNoL0hpZGUtQ2xvY2stRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJyZW1vdmVjbG9ja0BzdWRmaXNoLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="},
     "46": {"version": "1", "sha256": "1i7ig9jpcdd7nmk5l7zvk7y5bx7yk1m7679x0awzbr84yxchyrly", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBvciBoaWRlIGNsb2NrIGZyb20gdG9wIHBhbmVsLiIsCiAgIm5hbWUiOiAiUmVtb3ZlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdWRmaXNoL0hpZGUtQ2xvY2stRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJyZW1vdmVjbG9ja0BzdWRmaXNoLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}
   }}
+, {"uuid": "wintile-beyond@GrylledCheez.xyz", "name": "WinTile-Beyond", "pname": "wintile-beyond", "description": "This is a continuation of Wintile by @FmStrat.  The original version was abandoned after Gnome 44. This version works on Gnome 45 and 46.\n\nWinTile-Beyond is a hotkey driven window tiling system for GNOME that imitates the standard Win-Arrow keys of Windows 10, allowing you to maximize, maximize to sides, or 1/4 sized to corner across a single or multiple monitors using just Super+Arrow.\n\nWinTile-Beyond also supports:\n- 1-5 columns and 1-5 rows for standard or ultrawide monitors\n- Top/bottom half support\n- Mouse preview and snapping for placing windows\n- 'Maximize' mode, which adds/removes GNOME animations\n- 'Ultrawide-only' mode, to allow standard screens to have different cols/row than ultrawides\n- Portrait screens will automatically swap columns and rows\n- Add gaps around tiles to avoid the 'crowded elevator' feeling'\n- Ctrl+Super+Arrow to grow a tile in that direction if space is available\n- Ctrl+drag to drop a tile in a specific spot\n- Ctrl+Super+drag to draw a grid for the new tile", "link": "https://extensions.gnome.org/extension/6970/wintile-beyond/", "shell_version_map": {
+    "45": {"version": "2", "sha256": "1zld2ry18md7yjjiqmcrqw8ygy4r50lrc50cx8qga3wjcj68zpfm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpblRpbGUtQmV5b25kIGlzIGEgaG90a2V5IGRyaXZlbiB3aW5kb3cgdGlsaW5nIHN5c3RlbSBmb3IgR05PTUUgdGhhdCBpbWl0YXRlcyB0aGUgc3RhbmRhcmQgV2luLUFycm93IGtleXMgb2YgV2luZG93cyAxMCwgYWxsb3dpbmcgeW91IHRvIG1heGltaXplLCBtYXhpbWl6ZSB0byBzaWRlcywgb3IgMS80IHNpemVkIHRvIGNvcm5lciBhY3Jvc3MgYSBzaW5nbGUgb3IgbXVsdGlwbGUgbW9uaXRvcnMgdXNpbmcganVzdCBTdXBlcitBcnJvdy5cblxuQXMgb2YgdjE3LCBXaW5UaWxlLUJleW9uZCBhbHNvIHN1cHBvcnRzOlxuLSAxLTUgY29sdW1ucyBhbmQgMS01IHJvd3MgZm9yIHN0YW5kYXJkIG9yIHVsdHJhd2lkZSBtb25pdG9yc1xuLSBUb3AvYm90dG9tIGhhbGYgc3VwcG9ydFxuLSBNb3VzZSBwcmV2aWV3IGFuZCBzbmFwcGluZyBmb3IgcGxhY2luZyB3aW5kb3dzXG4tICdNYXhpbWl6ZScgbW9kZSwgd2hpY2ggYWRkcy9yZW1vdmVzIEdOT01FIGFuaW1hdGlvbnNcbi0gJ1VsdHJhd2lkZS1vbmx5JyBtb2RlLCB0byBhbGxvdyBzdGFuZGFyZCBzY3JlZW5zIHRvIGhhdmUgZGlmZmVyZW50IGNvbHMvcm93IHRoYW4gdWx0cmF3aWRlc1xuLSBQb3J0cmFpdCBzY3JlZW5zIHdpbGwgYXV0b21hdGljYWxseSBzd2FwIGNvbHVtbnMgYW5kIHJvd3Ncbi0gQWRkIGdhcHMgYXJvdW5kIHRpbGVzIHRvIGF2b2lkIHRoZSAnY3Jvd2RlZCBlbGV2YXRvcicgZmVlbGluZydcbi0gQ3RybCtTdXBlcitBcnJvdyB0byBncm93IGEgdGlsZSBpbiB0aGF0IGRpcmVjdGlvbiBpZiBzcGFjZSBpcyBhdmFpbGFibGVcbi0gQ3RybCtkcmFnIHRvIGRyb3AgYSB0aWxlIGluIGEgc3BlY2lmaWMgc3BvdFxuLSBDdHJsK1N1cGVyK2RyYWcgdG8gZHJhdyBhIGdyaWQgZm9yIHRoZSBuZXcgdGlsZSIsCiAgIm5hbWUiOiAiV2luVGlsZS1CZXlvbmQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2ludGlsZS1iZXlvbmQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dyeWxsZWRDaGVlei93aW50aWxlLWJleW9uZCIsCiAgInV1aWQiOiAid2ludGlsZS1iZXlvbmRAR3J5bGxlZENoZWV6Lnh5eiIsCiAgInZlcnNpb24iOiAyCn0="},
+    "46": {"version": "2", "sha256": "1zld2ry18md7yjjiqmcrqw8ygy4r50lrc50cx8qga3wjcj68zpfm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpblRpbGUtQmV5b25kIGlzIGEgaG90a2V5IGRyaXZlbiB3aW5kb3cgdGlsaW5nIHN5c3RlbSBmb3IgR05PTUUgdGhhdCBpbWl0YXRlcyB0aGUgc3RhbmRhcmQgV2luLUFycm93IGtleXMgb2YgV2luZG93cyAxMCwgYWxsb3dpbmcgeW91IHRvIG1heGltaXplLCBtYXhpbWl6ZSB0byBzaWRlcywgb3IgMS80IHNpemVkIHRvIGNvcm5lciBhY3Jvc3MgYSBzaW5nbGUgb3IgbXVsdGlwbGUgbW9uaXRvcnMgdXNpbmcganVzdCBTdXBlcitBcnJvdy5cblxuQXMgb2YgdjE3LCBXaW5UaWxlLUJleW9uZCBhbHNvIHN1cHBvcnRzOlxuLSAxLTUgY29sdW1ucyBhbmQgMS01IHJvd3MgZm9yIHN0YW5kYXJkIG9yIHVsdHJhd2lkZSBtb25pdG9yc1xuLSBUb3AvYm90dG9tIGhhbGYgc3VwcG9ydFxuLSBNb3VzZSBwcmV2aWV3IGFuZCBzbmFwcGluZyBmb3IgcGxhY2luZyB3aW5kb3dzXG4tICdNYXhpbWl6ZScgbW9kZSwgd2hpY2ggYWRkcy9yZW1vdmVzIEdOT01FIGFuaW1hdGlvbnNcbi0gJ1VsdHJhd2lkZS1vbmx5JyBtb2RlLCB0byBhbGxvdyBzdGFuZGFyZCBzY3JlZW5zIHRvIGhhdmUgZGlmZmVyZW50IGNvbHMvcm93IHRoYW4gdWx0cmF3aWRlc1xuLSBQb3J0cmFpdCBzY3JlZW5zIHdpbGwgYXV0b21hdGljYWxseSBzd2FwIGNvbHVtbnMgYW5kIHJvd3Ncbi0gQWRkIGdhcHMgYXJvdW5kIHRpbGVzIHRvIGF2b2lkIHRoZSAnY3Jvd2RlZCBlbGV2YXRvcicgZmVlbGluZydcbi0gQ3RybCtTdXBlcitBcnJvdyB0byBncm93IGEgdGlsZSBpbiB0aGF0IGRpcmVjdGlvbiBpZiBzcGFjZSBpcyBhdmFpbGFibGVcbi0gQ3RybCtkcmFnIHRvIGRyb3AgYSB0aWxlIGluIGEgc3BlY2lmaWMgc3BvdFxuLSBDdHJsK1N1cGVyK2RyYWcgdG8gZHJhdyBhIGdyaWQgZm9yIHRoZSBuZXcgdGlsZSIsCiAgIm5hbWUiOiAiV2luVGlsZS1CZXlvbmQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2ludGlsZS1iZXlvbmQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQ1IiwKICAgICI0NiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dyeWxsZWRDaGVlei93aW50aWxlLWJleW9uZCIsCiAgInV1aWQiOiAid2ludGlsZS1iZXlvbmRAR3J5bGxlZENoZWV6Lnh5eiIsCiAgInZlcnNpb24iOiAyCn0="}
+  }}
 , {"uuid": "remove-world-clocks@codemacabre.com", "name": "Remove World Clocks", "pname": "remove-world-clocks", "description": "GNOME shell extension to remove world clocks from the date menu", "link": "https://extensions.gnome.org/extension/6973/remove-world-clocks/", "shell_version_map": {
     "45": {"version": "1", "sha256": "1xn0n8mckv2nr37m4rr4ml5spaq5iq7adq2vzszksc4flcblmgbg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byByZW1vdmUgd29ybGQgY2xvY2tzIGZyb20gdGhlIGRhdGUgbWVudSIsCiAgIm5hbWUiOiAiUmVtb3ZlIFdvcmxkIENsb2NrcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29kZW1hY2FicmUvcmVtb3ZlLXdvcmxkLWNsb2NrcyIsCiAgInV1aWQiOiAicmVtb3ZlLXdvcmxkLWNsb2Nrc0Bjb2RlbWFjYWJyZS5jb20iLAogICJ2ZXJzaW9uIjogMQp9"},
     "46": {"version": "1", "sha256": "1xn0n8mckv2nr37m4rr4ml5spaq5iq7adq2vzszksc4flcblmgbg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byByZW1vdmUgd29ybGQgY2xvY2tzIGZyb20gdGhlIGRhdGUgbWVudSIsCiAgIm5hbWUiOiAiUmVtb3ZlIFdvcmxkIENsb2NrcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29kZW1hY2FicmUvcmVtb3ZlLXdvcmxkLWNsb2NrcyIsCiAgInV1aWQiOiAicmVtb3ZlLXdvcmxkLWNsb2Nrc0Bjb2RlbWFjYWJyZS5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}
   }}
-, {"uuid": "vscode-search-provider@mrmarble.github.com", "name": "VSCode Search Provider", "pname": "vscode-search-provider", "description": "Search for your vscode workspaces easily. This extension is not affiliated, funded, or in any way associated with Microsoft and vscode software.", "link": "https://extensions.gnome.org/extension/6976/vscode-search-provider/", "shell_version_map": {
-    "45": {"version": "2", "sha256": "1h0879mi7ljs9mhcs0f0rgndph0xpyzkzrs1nlr7yd098dw38d6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBmb3IgeW91ciB2c2NvZGUgd29ya3NwYWNlcyBlYXNpbHkuIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBhZmZpbGlhdGVkLCBmdW5kZWQsIG9yIGluIGFueSB3YXkgYXNzb2NpYXRlZCB3aXRoIE1pY3Jvc29mdCBhbmQgdnNjb2RlIHNvZnR3YXJlLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAibXJtYXJibGUiCiAgfSwKICAibmFtZSI6ICJWU0NvZGUgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tcm1hcmJsZS92c2NvZGUtc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJ2c2NvZGUtc2VhcmNoLXByb3ZpZGVyQG1ybWFyYmxlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"},
-    "46": {"version": "2", "sha256": "1h0879mi7ljs9mhcs0f0rgndph0xpyzkzrs1nlr7yd098dw38d6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBmb3IgeW91ciB2c2NvZGUgd29ya3NwYWNlcyBlYXNpbHkuIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBhZmZpbGlhdGVkLCBmdW5kZWQsIG9yIGluIGFueSB3YXkgYXNzb2NpYXRlZCB3aXRoIE1pY3Jvc29mdCBhbmQgdnNjb2RlIHNvZnR3YXJlLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAibXJtYXJibGUiCiAgfSwKICAibmFtZSI6ICJWU0NvZGUgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tcm1hcmJsZS92c2NvZGUtc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJ2c2NvZGUtc2VhcmNoLXByb3ZpZGVyQG1ybWFyYmxlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}
+, {"uuid": "vscode-search-provider@mrmarble.github.com", "name": "VSCode Search Provider", "pname": "vscode-search-provider", "description": "Search for your vscode workspaces easily. Supports insiders and vscodium.\n\nThis extension is not affiliated, funded, or in any way associated with Microsoft and vscode software.", "link": "https://extensions.gnome.org/extension/6976/vscode-search-provider/", "shell_version_map": {
+    "45": {"version": "3", "sha256": "1280cj6r7j9bbr05lkzqc2b23gn7d2sl1k50i5dmrb42sb3hfx5s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBmb3IgeW91ciB2c2NvZGUgd29ya3NwYWNlcyBlYXNpbHkuIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBhZmZpbGlhdGVkLCBmdW5kZWQsIG9yIGluIGFueSB3YXkgYXNzb2NpYXRlZCB3aXRoIE1pY3Jvc29mdCBhbmQgdnNjb2RlIHNvZnR3YXJlLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAibXJtYXJibGUiCiAgfSwKICAibmFtZSI6ICJWU0NvZGUgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tcm1hcmJsZS92c2NvZGUtc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJ2c2NvZGUtc2VhcmNoLXByb3ZpZGVyQG1ybWFyYmxlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"},
+    "46": {"version": "3", "sha256": "1280cj6r7j9bbr05lkzqc2b23gn7d2sl1k50i5dmrb42sb3hfx5s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBmb3IgeW91ciB2c2NvZGUgd29ya3NwYWNlcyBlYXNpbHkuIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBhZmZpbGlhdGVkLCBmdW5kZWQsIG9yIGluIGFueSB3YXkgYXNzb2NpYXRlZCB3aXRoIE1pY3Jvc29mdCBhbmQgdnNjb2RlIHNvZnR3YXJlLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJnaXRodWIiOiAibXJtYXJibGUiCiAgfSwKICAibmFtZSI6ICJWU0NvZGUgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tcm1hcmJsZS92c2NvZGUtc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJ2c2NvZGUtc2VhcmNoLXByb3ZpZGVyQG1ybWFyYmxlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}
+  }}
+, {"uuid": "ddc-brightness-contrast-extra-dimming@tzawezin.github.io", "name": "Monitor DDC Brightness/Contrast + Extra Dimming", "pname": "set-monitor-ddc-brightnesscontrast-extra-dimming", "description": "Control brightness and contrast with ddc and extra screen dimming with black overlay, It requires ddcutil to be installed, i2c permissions for non-root users configured.", "link": "https://extensions.gnome.org/extension/6985/set-monitor-ddc-brightnesscontrast-extra-dimming/", "shell_version_map": {
+    "40": {"version": "5", "sha256": "0fjx64m0jv06arzy4liksnmmsd73h7i5aa5j4l22a8f7z86v28if", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgYnJpZ2h0bmVzcyBhbmQgY29udHJhc3Qgd2l0aCBkZGMgYW5kIGV4dHJhIHNjcmVlbiBkaW1taW5nIHdpdGggYmxhY2sgb3ZlcmxheSwgSXQgcmVxdWlyZXMgZGRjdXRpbCB0byBiZSBpbnN0YWxsZWQsIGkyYyBwZXJtaXNzaW9ucyBmb3Igbm9uLXJvb3QgdXNlcnMgY29uZmlndXJlZC4iLAogICJuYW1lIjogIk1vbml0b3IgRERDIEJyaWdodG5lc3MvQ29udHJhc3QgKyBFeHRyYSBEaW1taW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90emF3ZXppbi9nbm9tZS1kZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nIiwKICAidXVpZCI6ICJkZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nQHR6YXdlemluLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="},
+    "41": {"version": "5", "sha256": "0fjx64m0jv06arzy4liksnmmsd73h7i5aa5j4l22a8f7z86v28if", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgYnJpZ2h0bmVzcyBhbmQgY29udHJhc3Qgd2l0aCBkZGMgYW5kIGV4dHJhIHNjcmVlbiBkaW1taW5nIHdpdGggYmxhY2sgb3ZlcmxheSwgSXQgcmVxdWlyZXMgZGRjdXRpbCB0byBiZSBpbnN0YWxsZWQsIGkyYyBwZXJtaXNzaW9ucyBmb3Igbm9uLXJvb3QgdXNlcnMgY29uZmlndXJlZC4iLAogICJuYW1lIjogIk1vbml0b3IgRERDIEJyaWdodG5lc3MvQ29udHJhc3QgKyBFeHRyYSBEaW1taW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90emF3ZXppbi9nbm9tZS1kZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nIiwKICAidXVpZCI6ICJkZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nQHR6YXdlemluLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="},
+    "42": {"version": "5", "sha256": "0fjx64m0jv06arzy4liksnmmsd73h7i5aa5j4l22a8f7z86v28if", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgYnJpZ2h0bmVzcyBhbmQgY29udHJhc3Qgd2l0aCBkZGMgYW5kIGV4dHJhIHNjcmVlbiBkaW1taW5nIHdpdGggYmxhY2sgb3ZlcmxheSwgSXQgcmVxdWlyZXMgZGRjdXRpbCB0byBiZSBpbnN0YWxsZWQsIGkyYyBwZXJtaXNzaW9ucyBmb3Igbm9uLXJvb3QgdXNlcnMgY29uZmlndXJlZC4iLAogICJuYW1lIjogIk1vbml0b3IgRERDIEJyaWdodG5lc3MvQ29udHJhc3QgKyBFeHRyYSBEaW1taW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90emF3ZXppbi9nbm9tZS1kZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nIiwKICAidXVpZCI6ICJkZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nQHR6YXdlemluLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="},
+    "43": {"version": "5", "sha256": "0fjx64m0jv06arzy4liksnmmsd73h7i5aa5j4l22a8f7z86v28if", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgYnJpZ2h0bmVzcyBhbmQgY29udHJhc3Qgd2l0aCBkZGMgYW5kIGV4dHJhIHNjcmVlbiBkaW1taW5nIHdpdGggYmxhY2sgb3ZlcmxheSwgSXQgcmVxdWlyZXMgZGRjdXRpbCB0byBiZSBpbnN0YWxsZWQsIGkyYyBwZXJtaXNzaW9ucyBmb3Igbm9uLXJvb3QgdXNlcnMgY29uZmlndXJlZC4iLAogICJuYW1lIjogIk1vbml0b3IgRERDIEJyaWdodG5lc3MvQ29udHJhc3QgKyBFeHRyYSBEaW1taW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90emF3ZXppbi9nbm9tZS1kZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nIiwKICAidXVpZCI6ICJkZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nQHR6YXdlemluLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="},
+    "44": {"version": "5", "sha256": "0fjx64m0jv06arzy4liksnmmsd73h7i5aa5j4l22a8f7z86v28if", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgYnJpZ2h0bmVzcyBhbmQgY29udHJhc3Qgd2l0aCBkZGMgYW5kIGV4dHJhIHNjcmVlbiBkaW1taW5nIHdpdGggYmxhY2sgb3ZlcmxheSwgSXQgcmVxdWlyZXMgZGRjdXRpbCB0byBiZSBpbnN0YWxsZWQsIGkyYyBwZXJtaXNzaW9ucyBmb3Igbm9uLXJvb3QgdXNlcnMgY29uZmlndXJlZC4iLAogICJuYW1lIjogIk1vbml0b3IgRERDIEJyaWdodG5lc3MvQ29udHJhc3QgKyBFeHRyYSBEaW1taW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90emF3ZXppbi9nbm9tZS1kZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nIiwKICAidXVpZCI6ICJkZGMtYnJpZ2h0bmVzcy1jb250cmFzdC1leHRyYS1kaW1taW5nQHR6YXdlemluLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}
+  }}
+, {"uuid": "keyboard-reset@galets", "name": "Keyboard Reset", "pname": "keyboard-reset", "description": "Reset keyboard to default layout on screensaver activation", "link": "https://extensions.gnome.org/extension/6994/keyboard-reset/", "shell_version_map": {
+    "41": {"version": "4", "sha256": "0x99yzhqggzwknj1qlml3hgk6wnxw5m1i0zp7fa0gfiw6id09bc6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2V0IGtleWJvYXJkIHRvIGRlZmF1bHQgbGF5b3V0IG9uIHNjcmVlbnNhdmVyIGFjdGl2YXRpb24iLAogICJuYW1lIjogIktleWJvYXJkIFJlc2V0IiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nYWxldHMvZ25vbWUta2V5Ym9hcmQtcmVzZXQiLAogICJ1dWlkIjogImtleWJvYXJkLXJlc2V0QGdhbGV0cyIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "42": {"version": "4", "sha256": "0x99yzhqggzwknj1qlml3hgk6wnxw5m1i0zp7fa0gfiw6id09bc6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2V0IGtleWJvYXJkIHRvIGRlZmF1bHQgbGF5b3V0IG9uIHNjcmVlbnNhdmVyIGFjdGl2YXRpb24iLAogICJuYW1lIjogIktleWJvYXJkIFJlc2V0IiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nYWxldHMvZ25vbWUta2V5Ym9hcmQtcmVzZXQiLAogICJ1dWlkIjogImtleWJvYXJkLXJlc2V0QGdhbGV0cyIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "43": {"version": "4", "sha256": "0x99yzhqggzwknj1qlml3hgk6wnxw5m1i0zp7fa0gfiw6id09bc6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2V0IGtleWJvYXJkIHRvIGRlZmF1bHQgbGF5b3V0IG9uIHNjcmVlbnNhdmVyIGFjdGl2YXRpb24iLAogICJuYW1lIjogIktleWJvYXJkIFJlc2V0IiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nYWxldHMvZ25vbWUta2V5Ym9hcmQtcmVzZXQiLAogICJ1dWlkIjogImtleWJvYXJkLXJlc2V0QGdhbGV0cyIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "44": {"version": "4", "sha256": "0x99yzhqggzwknj1qlml3hgk6wnxw5m1i0zp7fa0gfiw6id09bc6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2V0IGtleWJvYXJkIHRvIGRlZmF1bHQgbGF5b3V0IG9uIHNjcmVlbnNhdmVyIGFjdGl2YXRpb24iLAogICJuYW1lIjogIktleWJvYXJkIFJlc2V0IiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nYWxldHMvZ25vbWUta2V5Ym9hcmQtcmVzZXQiLAogICJ1dWlkIjogImtleWJvYXJkLXJlc2V0QGdhbGV0cyIsCiAgInZlcnNpb24iOiA0Cn0="},
+    "45": {"version": "5", "sha256": "0d8ribxhaijvh4m6bzwn657h2hp2xslfyyc998d4y1anviaav5lj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2V0IGtleWJvYXJkIHRvIGRlZmF1bHQgbGF5b3V0IG9uIHNjcmVlbnNhdmVyIGFjdGl2YXRpb24iLAogICJuYW1lIjogIktleWJvYXJkIFJlc2V0IiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2FsZXRzL2dub21lLWtleWJvYXJkLXJlc2V0IiwKICAidXVpZCI6ICJrZXlib2FyZC1yZXNldEBnYWxldHMiLAogICJ2ZXJzaW9uIjogNQp9"},
+    "46": {"version": "5", "sha256": "0d8ribxhaijvh4m6bzwn657h2hp2xslfyyc998d4y1anviaav5lj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlc2V0IGtleWJvYXJkIHRvIGRlZmF1bHQgbGF5b3V0IG9uIHNjcmVlbnNhdmVyIGFjdGl2YXRpb24iLAogICJuYW1lIjogIktleWJvYXJkIFJlc2V0IiwKICAic2Vzc2lvbi1tb2RlcyI6IFsKICAgICJ1bmxvY2stZGlhbG9nIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2FsZXRzL2dub21lLWtleWJvYXJkLXJlc2V0IiwKICAidXVpZCI6ICJrZXlib2FyZC1yZXNldEBnYWxldHMiLAogICJ2ZXJzaW9uIjogNQp9"}
+  }}
+, {"uuid": "athan@goodm4ven", "name": "AthanTimes", "pname": "athantimes", "description": "It's just another fork of the original extension by [fahrinh]; for shell 46.\n\nImportant Changes:\n- Position is hard-coded to 'center' for a status-indicator issue. (check the repo for details)", "link": "https://extensions.gnome.org/extension/6997/athantimes/", "shell_version_map": {
+    "46": {"version": "8", "sha256": "0g7km2xm8rzp1ilchcx6i0xn27hlqmz8z20ywfk2mps8pnn73i6c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0J3MganVzdCBhbm90aGVyIGZvcmsgb2YgdGhlIG9yaWdpbmFsIGV4dGVuc2lvbiBieSBbZmFocmluaF07IGZvciBzaGVsbCA0Ni5cblxuSW1wb3J0YW50IENoYW5nZXM6XG4tIFBvc2l0aW9uIGlzIGhhcmQtY29kZWQgdG8gJ2NlbnRlcicgZm9yIGEgc3RhdHVzLWluZGljYXRvciBpc3N1ZS4gKGNoZWNrIHRoZSByZXBvIGZvciBkZXRhaWxzKSIsCiAgIm5hbWUiOiAiQXRoYW5UaW1lcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hdGhhbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb29kbTR2ZW4vYXRoYW4tZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhdGhhbkBnb29kbTR2ZW4iLAogICJ2ZXJzaW9uIjogOAp9"}
+  }}
+, {"uuid": "qs-touchpad-toggle@crystal", "name": "Quick Settings Touchpad Toggle", "pname": "quick-settings-touchpad-toggle", "description": "Completely disable the touchpad from the quick settings menu.", "link": "https://extensions.gnome.org/extension/7000/quick-settings-touchpad-toggle/", "shell_version_map": {
+    "43": {"version": "2", "sha256": "050299qjgfmc8dpr5mny8lfyr2vmli3rwm8kjfbi4dbmj5z66bh7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBsZXRlbHkgZGlzYWJsZSB0aGUgdG91Y2hwYWQgZnJvbSB0aGUgcXVpY2sgc2V0dGluZ3MgbWVudS4iLAogICJuYW1lIjogIlF1aWNrIFNldHRpbmdzIFRvdWNocGFkIFRvZ2dsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vY29kZWJlcmcub3JnL2NyeXN0YWwvZ25vbWUtcXMtdG91Y2hwYWQtdG9nZ2xlIiwKICAidXVpZCI6ICJxcy10b3VjaHBhZC10b2dnbGVAY3J5c3RhbCIsCiAgInZlcnNpb24iOiAyCn0="}
+  }}
+, {"uuid": "custom-command-toggle@storageb.github.com", "name": "Custom Command Toggle", "pname": "custom-command-toggle", "description": "Run user defined terminal/shell commands and launch custom scripts using a customizable quick toggle button.", "link": "https://extensions.gnome.org/extension/7012/custom-command-toggle/", "shell_version_map": {
+    "45": {"version": "2", "sha256": "01j7z4y513hanv1615njwgg5xzb8j63wkbgldjl1lpqj0qpyr7wg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1biB1c2VyIGRlZmluZWQgdGVybWluYWwvc2hlbGwgY29tbWFuZHMgYW5kIGxhdW5jaCBjdXN0b20gc2NyaXB0cyB1c2luZyBhIGN1c3RvbWl6YWJsZSBxdWljayB0b2dnbGUgYnV0dG9uLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJidXltZWFjb2ZmZWUiOiAiU3RvcmFnZUIiCiAgfSwKICAibmFtZSI6ICJDdXN0b20gQ29tbWFuZCBUb2dnbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3VzdG9tLWNvbW1hbmQtdG9nZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TdG9yYWdlQi9jdXN0b20tY29tbWFuZC10b2dnbGUiLAogICJ1dWlkIjogImN1c3RvbS1jb21tYW5kLXRvZ2dsZUBzdG9yYWdlYi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="},
+    "46": {"version": "2", "sha256": "01j7z4y513hanv1615njwgg5xzb8j63wkbgldjl1lpqj0qpyr7wg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1biB1c2VyIGRlZmluZWQgdGVybWluYWwvc2hlbGwgY29tbWFuZHMgYW5kIGxhdW5jaCBjdXN0b20gc2NyaXB0cyB1c2luZyBhIGN1c3RvbWl6YWJsZSBxdWljayB0b2dnbGUgYnV0dG9uLiIsCiAgImRvbmF0aW9ucyI6IHsKICAgICJidXltZWFjb2ZmZWUiOiAiU3RvcmFnZUIiCiAgfSwKICAibmFtZSI6ICJDdXN0b20gQ29tbWFuZCBUb2dnbGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3VzdG9tLWNvbW1hbmQtdG9nZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TdG9yYWdlQi9jdXN0b20tY29tbWFuZC10b2dnbGUiLAogICJ1dWlkIjogImN1c3RvbS1jb21tYW5kLXRvZ2dsZUBzdG9yYWdlYi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}
+  }}
+, {"uuid": "fullscreen-button@domgregori.github.com", "name": "Fullscreen Button", "pname": "fullscreen-button", "description": "A button in the status bar to expand current window to fullscreen. Useful for tablets.", "link": "https://extensions.gnome.org/extension/7015/fullscreen-button/", "shell_version_map": {
+    "41": {"version": "5", "sha256": "00nr3s40zvywi6vhk5hrc0pdmqw51bf77bax7mg2jrl6al37i89j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIGluIHRoZSBzdGF0dXMgYmFyIHRvIGV4cGFuZCBjdXJyZW50IHdpbmRvdyB0byBmdWxsc2NyZWVuLiBVc2VmdWwgZm9yIHRhYmxldHMuIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kb21ncmVnb3JpL2Z1bGxzY3JlZW4tYnV0dG9uIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWJ1dHRvbkBkb21ncmVnb3JpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"},
+    "42": {"version": "5", "sha256": "00nr3s40zvywi6vhk5hrc0pdmqw51bf77bax7mg2jrl6al37i89j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIGluIHRoZSBzdGF0dXMgYmFyIHRvIGV4cGFuZCBjdXJyZW50IHdpbmRvdyB0byBmdWxsc2NyZWVuLiBVc2VmdWwgZm9yIHRhYmxldHMuIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kb21ncmVnb3JpL2Z1bGxzY3JlZW4tYnV0dG9uIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWJ1dHRvbkBkb21ncmVnb3JpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"},
+    "43": {"version": "5", "sha256": "00nr3s40zvywi6vhk5hrc0pdmqw51bf77bax7mg2jrl6al37i89j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIGluIHRoZSBzdGF0dXMgYmFyIHRvIGV4cGFuZCBjdXJyZW50IHdpbmRvdyB0byBmdWxsc2NyZWVuLiBVc2VmdWwgZm9yIHRhYmxldHMuIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kb21ncmVnb3JpL2Z1bGxzY3JlZW4tYnV0dG9uIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWJ1dHRvbkBkb21ncmVnb3JpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"},
+    "44": {"version": "5", "sha256": "00nr3s40zvywi6vhk5hrc0pdmqw51bf77bax7mg2jrl6al37i89j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIGluIHRoZSBzdGF0dXMgYmFyIHRvIGV4cGFuZCBjdXJyZW50IHdpbmRvdyB0byBmdWxsc2NyZWVuLiBVc2VmdWwgZm9yIHRhYmxldHMuIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kb21ncmVnb3JpL2Z1bGxzY3JlZW4tYnV0dG9uIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWJ1dHRvbkBkb21ncmVnb3JpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"},
+    "45": {"version": "6", "sha256": "1b29wjwligs2gsdqwf4g3lx51gr3nzs84jz9l4a8hw19wkx9qqrc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIGluIHRoZSBzdGF0dXMgYmFyIHRvIGV4cGFuZCBjdXJyZW50IHdpbmRvdyB0byBmdWxsc2NyZWVuLiBVc2VmdWwgZm9yIHRhYmxldHMuIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG9tZ3JlZ29yaS9mdWxsc2NyZWVuLWJ1dHRvbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1idXR0b25AZG9tZ3JlZ29yaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="},
+    "46": {"version": "6", "sha256": "1b29wjwligs2gsdqwf4g3lx51gr3nzs84jz9l4a8hw19wkx9qqrc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIGluIHRoZSBzdGF0dXMgYmFyIHRvIGV4cGFuZCBjdXJyZW50IHdpbmRvdyB0byBmdWxsc2NyZWVuLiBVc2VmdWwgZm9yIHRhYmxldHMuIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDUiLAogICAgIjQ2IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG9tZ3JlZ29yaS9mdWxsc2NyZWVuLWJ1dHRvbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1idXR0b25AZG9tZ3JlZ29yaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}
+  }}
+, {"uuid": "custom-command-list@storageb.github.com", "name": "Custom Command List", "pname": "custom-command-list", "description": "Run user defined terminal/shell commands by selecting them from a customizable drop-down menu at the top bar.", "link": "https://extensions.gnome.org/extension/7024/custom-command-list/", "shell_version_map": {
+    "45": {"version": "1", "sha256": "1wab274i0s3wzzhm17harzz9yb1wfzyyx40ar6m0fndn62bdd22x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1biB1c2VyIGRlZmluZWQgdGVybWluYWwvc2hlbGwgY29tbWFuZHMgYnkgc2VsZWN0aW5nIHRoZW0gZnJvbSBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBhdCB0aGUgdG9wIGJhci4iLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogIlN0b3JhZ2VCIgogIH0sCiAgIm5hbWUiOiAiQ3VzdG9tIENvbW1hbmQgTGlzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20tY29tbWFuZC1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TdG9yYWdlQi9jdXN0b20tY29tbWFuZC1saXN0IiwKICAidXVpZCI6ICJjdXN0b20tY29tbWFuZC1saXN0QHN0b3JhZ2ViLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"},
+    "46": {"version": "1", "sha256": "1wab274i0s3wzzhm17harzz9yb1wfzyyx40ar6m0fndn62bdd22x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1biB1c2VyIGRlZmluZWQgdGVybWluYWwvc2hlbGwgY29tbWFuZHMgYnkgc2VsZWN0aW5nIHRoZW0gZnJvbSBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBhdCB0aGUgdG9wIGJhci4iLAogICJkb25hdGlvbnMiOiB7CiAgICAiYnV5bWVhY29mZmVlIjogIlN0b3JhZ2VCIgogIH0sCiAgIm5hbWUiOiAiQ3VzdG9tIENvbW1hbmQgTGlzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20tY29tbWFuZC1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0NSIsCiAgICAiNDYiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TdG9yYWdlQi9jdXN0b20tY29tbWFuZC1saXN0IiwKICAidXVpZCI6ICJjdXN0b20tY29tbWFuZC1saXN0QHN0b3JhZ2ViLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}
   }}
 ]
diff --git a/pkgs/desktops/gnome/extensions/update-extensions.py b/pkgs/desktops/gnome/extensions/update-extensions.py
index 35e0c47d60488..ef6687a06f736 100755
--- a/pkgs/desktops/gnome/extensions/update-extensions.py
+++ b/pkgs/desktops/gnome/extensions/update-extensions.py
@@ -9,7 +9,7 @@ import urllib.error
 import urllib.request
 from operator import itemgetter
 from pathlib import Path
-from typing import List, Dict, Optional, Any, Tuple
+from typing import List, Dict, Optional, Any, Tuple, Set
 
 # We don't want all those deprecated legacy extensions
 # Group extensions by GNOME "major" version for compatibility reasons
@@ -302,15 +302,21 @@ if __name__ == "__main__":
         json.load(out)
 
     with open(updater_dir_path / "collisions.json", "w") as out:
+        # Find the name collisions only for the last 3 shell versions
+        last_3_versions = sorted(supported_versions.keys(), key=lambda v: float(v), reverse=True)[:3]
+        package_name_registry_for_versions = [v for k, v in package_name_registry.items() if k in last_3_versions]
+        # Merge all package names into a single dictionary
+        package_name_registry_filtered: Dict[PackageName, Set[Uuid]] = {}
+        for pkgs in package_name_registry_for_versions:
+            for pname, uuids in pkgs.items():
+                if pname not in package_name_registry_filtered:
+                    package_name_registry_filtered[pname] = set()
+                package_name_registry_filtered[pname].update(uuids)
         # Filter out those that are not duplicates
-        package_name_registry_filtered: Dict[ShellVersion, Dict[PackageName, List[Uuid]]] = {
-            # The outer level keys are shell versions
-            shell_version: {
-                # The inner keys are extension names, with a list of all extensions with that name as value.
-                pname: extensions for pname, extensions in collisions.items() if len(extensions) > 1
-            } for shell_version, collisions in package_name_registry.items()
-        }
-        json.dump(package_name_registry_filtered, out, indent=2, ensure_ascii=False)
+        package_name_registry_filtered = {k: v for k, v in package_name_registry_filtered.items() if len(v) > 1}
+        # Convert set to list
+        collisions: Dict[PackageName, List[Uuid]] = {k: list(v) for k, v in package_name_registry_filtered.items()}
+        json.dump(collisions, out, indent=2, ensure_ascii=False)
         out.write("\n")
 
     logging.info(
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 07e6b4b15b088..be39fe59556ed 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -412,11 +412,11 @@
     };
   };
   plasma-workspace = {
-    version = "5.27.11";
+    version = "5.27.11.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.27.11/plasma-workspace-5.27.11.tar.xz";
-      sha256 = "1pbsxssa8jgpy2kkhf43ck6gdkjr216b7ashy8sm7v306v29pmh7";
-      name = "plasma-workspace-5.27.11.tar.xz";
+      url = "${mirror}/stable/plasma/5.27.11/plasma-workspace-5.27.11.1.tar.xz";
+      sha256 = "1bib8z7pmb5mscw2p07mbfsphzpvwsiib84s0g25fz4mma6l4hn7";
+      name = "plasma-workspace-5.27.11.1.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
diff --git a/pkgs/development/compilers/zig/0.10.nix b/pkgs/development/compilers/zig/0.10.nix
deleted file mode 100644
index d02b9ff1c976b..0000000000000
--- a/pkgs/development/compilers/zig/0.10.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, llvmPackages
-, libxml2
-, zlib
-, coreutils
-, callPackage
-}@args:
-
-import ./generic.nix args {
-  version = "0.10.1";
-
-  hash = "sha256-69QIkkKzApOGfrBdgtmxFMDytRkSh+0YiaJQPbXsBeo=";
-
-  outputs = [ "out" "doc" ];
-
-  patches = [
-    # Backport alignment related panics from zig-master to 0.10.
-    # Upstream issue: https://github.com/ziglang/zig/issues/14559
-    ./002-0.10-macho-fixes.patch
-  ];
-
-  cmakeFlags = [
-    # file RPATH_CHANGE could not write new RPATH
-    "-DCMAKE_SKIP_BUILD_RPATH=ON"
-
-    # always link against static build of LLVM
-    "-DZIG_STATIC_LLVM=ON"
-
-    # ensure determinism in the compiler build
-    "-DZIG_TARGET_MCPU=baseline"
-  ];
-
-  postBuild = ''
-    ./zig2 run ../doc/docgen.zig -- ./zig2 ../doc/langref.html.in langref.html
-  '';
-
-  postInstall = ''
-    install -Dm644 -t $doc/share/doc/zig-$version/html ./langref.html
-  '';
-}
diff --git a/pkgs/development/compilers/zig/002-0.10-macho-fixes.patch b/pkgs/development/compilers/zig/0.10/001-0.10-macho-fixes.patch
index 95f0bdf701e29..95f0bdf701e29 100644
--- a/pkgs/development/compilers/zig/002-0.10-macho-fixes.patch
+++ b/pkgs/development/compilers/zig/0.10/001-0.10-macho-fixes.patch
diff --git a/pkgs/development/compilers/zig/0.10/default.nix b/pkgs/development/compilers/zig/0.10/default.nix
new file mode 100644
index 0000000000000..170edafa819cf
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.10/default.nix
@@ -0,0 +1,109 @@
+{
+  lib,
+  callPackage,
+  cmake,
+  coreutils,
+  fetchFromGitHub,
+  libxml2,
+  llvmPackages,
+  stdenv,
+  testers,
+  zlib,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "zig";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "ziglang";
+    repo = "zig";
+    rev = finalAttrs.version;
+    hash = "sha256-69QIkkKzApOGfrBdgtmxFMDytRkSh+0YiaJQPbXsBeo=";
+  };
+
+  patches = [
+    # Backport alignment related panics from zig-master to 0.10.
+    # Upstream issue: https://github.com/ziglang/zig/issues/14559
+    ./001-0.10-macho-fixes.patch
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    (lib.getDev llvmPackages.llvm)
+  ];
+
+  buildInputs =
+    [
+      libxml2
+      zlib
+    ]
+    ++ (with llvmPackages; [
+      libclang
+      lld
+      llvm
+    ]);
+
+  outputs = [
+    "out"
+    "doc"
+  ];
+
+  cmakeFlags = [
+    # file RPATH_CHANGE could not write new RPATH
+    (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
+    # always link against static build of LLVM
+    (lib.cmakeBool "ZIG_STATIC_LLVM" true)
+    # ensure determinism in the compiler build
+    (lib.cmakeFeature "ZIG_TARGET_MCPU" "baseline")
+  ];
+
+  env.ZIG_GLOBAL_CACHE_DIR = "$TMPDIR/zig-cache";
+
+  doInstallCheck = true;
+
+  strictDeps = true;
+
+  # Zig's build looks at /usr/bin/env to find dynamic linking info. This doesn't
+  # work in Nix's sandbox. Use env from our coreutils instead.
+  postPatch = ''
+    substituteInPlace lib/std/zig/system/NativeTargetInfo.zig \
+      --replace "/usr/bin/env" "${lib.getExe' coreutils "env"}"
+  '';
+
+  postBuild = ''
+    ./zig2 run ../doc/docgen.zig -- ./zig2 ../doc/langref.html.in langref.html
+  '';
+
+  postInstall = ''
+    install -Dm644 -t $doc/share/doc/zig-$version/html ./langref.html
+  '';
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/zig test --cache-dir "$TMPDIR/zig-test-cache" -I $src/test $src/test/behavior.zig
+
+    runHook postInstallCheck
+  '';
+
+  passthru = {
+    hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; };
+    tests = {
+      version = testers.testVersion {
+        package = finalAttrs.finalPackage;
+        command = "zig version";
+      };
+    };
+  };
+
+  meta = {
+    description = "General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
+    homepage = "https://ziglang.org/";
+    changelog = "https://ziglang.org/download/${finalAttrs.version}/release-notes.html";
+    license = lib.licenses.mit;
+    mainProgram = "zig";
+    maintainers = with lib.maintainers; [ andrewrk ] ++ lib.teams.zig.members;
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/development/compilers/zig/0.10/hook.nix b/pkgs/development/compilers/zig/0.10/hook.nix
new file mode 100644
index 0000000000000..298d50d9e5f9d
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.10/hook.nix
@@ -0,0 +1,47 @@
+{
+  lib,
+  makeSetupHook,
+  zig,
+}:
+
+makeSetupHook {
+  name = "zig-hook";
+
+  propagatedBuildInputs = [ zig ];
+
+  substitutions = {
+    # This zig_default_flags below is meant to avoid CPU feature impurity in
+    # Nixpkgs. However, this flagset is "unstable": it is specifically meant to
+    # be controlled by the upstream development team - being up to that team
+    # exposing or not that flags to the outside (especially the package manager
+    # teams).
+
+    # Because of this hurdle, @andrewrk from Zig Software Foundation proposed
+    # some solutions for this issue. Hopefully they will be implemented in
+    # future releases of Zig. When this happens, this flagset should be
+    # revisited accordingly.
+
+    # Below are some useful links describing the discovery process of this 'bug'
+    # in Nixpkgs:
+
+    # https://github.com/NixOS/nixpkgs/issues/169461
+    # https://github.com/NixOS/nixpkgs/issues/185644
+    # https://github.com/NixOS/nixpkgs/pull/197046
+    # https://github.com/NixOS/nixpkgs/pull/241741#issuecomment-1624227485
+    # https://github.com/ziglang/zig/issues/14281#issuecomment-1624220653
+
+    zig_default_flags = [
+      "-Dcpu=baseline"
+      "-Drelease-safe=true"
+    ];
+  };
+
+  passthru = {
+    inherit zig;
+  };
+
+  meta = {
+    description = "A setup hook for using the Zig compiler in Nixpkgs";
+    inherit (zig.meta) maintainers platforms broken;
+  };
+} ./setup-hook.sh
diff --git a/pkgs/development/compilers/zig/0.10/setup-hook.sh b/pkgs/development/compilers/zig/0.10/setup-hook.sh
new file mode 100644
index 0000000000000..689ebec8a3077
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.10/setup-hook.sh
@@ -0,0 +1,70 @@
+# shellcheck shell=bash disable=SC2154,SC2086
+
+readonly zigDefaultFlagsArray=(@zig_default_flags@)
+
+function zigSetGlobalCacheDir {
+    ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
+    export ZIG_GLOBAL_CACHE_DIR
+}
+
+function zigBuildPhase {
+    runHook preBuild
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+    )
+
+    echoCmd 'zig build flags' "${flagsArray[@]}"
+    zig build "${flagsArray[@]}"
+
+    runHook postBuild
+}
+
+function zigCheckPhase {
+    runHook preCheck
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigCheckFlags "${zigCheckFlagsArray[@]}"
+    )
+
+    echoCmd 'zig check flags' "${flagsArray[@]}"
+    zig build test "${flagsArray[@]}"
+
+    runHook postCheck
+}
+
+function zigInstallPhase {
+    runHook preInstall
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+        $zigInstallFlags "${zigInstallFlagsArray[@]}"
+    )
+
+    if [ -z "${dontAddPrefix-}" ]; then
+        # Zig does not recognize `--prefix=/dir/`, only `--prefix /dir/`
+        flagsArray+=("${prefixKey:---prefix}" "$prefix")
+    fi
+
+    echoCmd 'zig install flags' "${flagsArray[@]}"
+    zig build install "${flagsArray[@]}"
+
+    runHook postInstall
+}
+
+addEnvHooks "$targetOffset" zigSetGlobalCacheDir
+
+if [ -z "${dontUseZigBuild-}" ] && [ -z "${buildPhase-}" ]; then
+    buildPhase=zigBuildPhase
+fi
+
+if [ -z "${dontUseZigCheck-}" ] && [ -z "${checkPhase-}" ]; then
+    checkPhase=zigCheckPhase
+fi
+
+if [ -z "${dontUseZigInstall-}" ] && [ -z "${installPhase-}" ]; then
+    installPhase=zigInstallPhase
+fi
diff --git a/pkgs/development/compilers/zig/0.11.nix b/pkgs/development/compilers/zig/0.11.nix
deleted file mode 100644
index b393f42c65136..0000000000000
--- a/pkgs/development/compilers/zig/0.11.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, llvmPackages
-, libxml2
-, zlib
-, coreutils
-, callPackage
-}@args:
-
-import ./generic.nix args {
-  version = "0.11.0";
-
-  hash = "sha256-iuU1fzkbJxI+0N1PiLQM013Pd1bzrgqkbIyTxo5gB2I=";
-
-  outputs = [ "out" "doc" ];
-
-  cmakeFlags = [
-    # file RPATH_CHANGE could not write new RPATH
-    "-DCMAKE_SKIP_BUILD_RPATH=ON"
-
-    # always link against static build of LLVM
-    "-DZIG_STATIC_LLVM=ON"
-
-    # ensure determinism in the compiler build
-    "-DZIG_TARGET_MCPU=baseline"
-  ];
-
-  postBuild = ''
-    stage3/bin/zig run ../tools/docgen.zig -- ../doc/langref.html.in langref.html --zig $PWD/stage3/bin/zig
-  '';
-
-  postInstall = ''
-    install -Dm444 -t $doc/share/doc/zig-$version/html langref.html
-  '';
-}
diff --git a/pkgs/development/compilers/zig/0.11/default.nix b/pkgs/development/compilers/zig/0.11/default.nix
new file mode 100644
index 0000000000000..0f19f455cbb0f
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.11/default.nix
@@ -0,0 +1,103 @@
+{
+  lib,
+  callPackage,
+  cmake,
+  coreutils,
+  fetchFromGitHub,
+  libxml2,
+  llvmPackages,
+  stdenv,
+  testers,
+  zlib,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "zig";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "ziglang";
+    repo = "zig";
+    rev = finalAttrs.version;
+    hash = "sha256-iuU1fzkbJxI+0N1PiLQM013Pd1bzrgqkbIyTxo5gB2I=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    (lib.getDev llvmPackages.llvm)
+  ];
+
+  buildInputs =
+    [
+      libxml2
+      zlib
+    ]
+    ++ (with llvmPackages; [
+      libclang
+      lld
+      llvm
+    ]);
+
+  outputs = [
+    "out"
+    "doc"
+  ];
+
+  cmakeFlags = [
+    # file RPATH_CHANGE could not write new RPATH
+    (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
+    # ensure determinism in the compiler build
+    (lib.cmakeFeature "ZIG_TARGET_MCPU" "baseline")
+    # always link against static build of LLVM
+    (lib.cmakeBool "ZIG_STATIC_LLVM" true)
+  ];
+
+  env.ZIG_GLOBAL_CACHE_DIR = "$TMPDIR/zig-cache";
+
+  doInstallCheck = true;
+
+  strictDeps = true;
+
+  # Zig's build looks at /usr/bin/env to find dynamic linking info. This doesn't
+  # work in Nix's sandbox. Use env from our coreutils instead.
+  postPatch = ''
+    substituteInPlace lib/std/zig/system/NativeTargetInfo.zig \
+      --replace "/usr/bin/env" "${lib.getExe' coreutils "env"}"
+  '';
+
+  postBuild = ''
+    stage3/bin/zig run ../tools/docgen.zig -- ../doc/langref.html.in langref.html --zig $PWD/stage3/bin/zig
+  '';
+
+  postInstall = ''
+    install -Dm444 -t $doc/share/doc/zig-$version/html langref.html
+  '';
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/zig test --cache-dir "$TMPDIR/zig-test-cache" -I $src/test $src/test/behavior.zig
+
+    runHook postInstallCheck
+  '';
+
+  passthru = {
+    hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; };
+    tests = {
+      version = testers.testVersion {
+        package = finalAttrs.finalPackage;
+        command = "zig version";
+      };
+    };
+  };
+
+  meta = {
+    description = "General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
+    homepage = "https://ziglang.org/";
+    changelog = "https://ziglang.org/download/${finalAttrs.version}/release-notes.html";
+    license = lib.licenses.mit;
+    mainProgram = "zig";
+    maintainers = with lib.maintainers; [ andrewrk ] ++ lib.teams.zig.members;
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/development/compilers/zig/0.11/hook.nix b/pkgs/development/compilers/zig/0.11/hook.nix
new file mode 100644
index 0000000000000..391140d4a7ff3
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.11/hook.nix
@@ -0,0 +1,47 @@
+{
+  lib,
+  makeSetupHook,
+  zig,
+}:
+
+makeSetupHook {
+  name = "zig-hook";
+
+  propagatedBuildInputs = [ zig ];
+
+  substitutions = {
+    # This zig_default_flags below is meant to avoid CPU feature impurity in
+    # Nixpkgs. However, this flagset is "unstable": it is specifically meant to
+    # be controlled by the upstream development team - being up to that team
+    # exposing or not that flags to the outside (especially the package manager
+    # teams).
+
+    # Because of this hurdle, @andrewrk from Zig Software Foundation proposed
+    # some solutions for this issue. Hopefully they will be implemented in
+    # future releases of Zig. When this happens, this flagset should be
+    # revisited accordingly.
+
+    # Below are some useful links describing the discovery process of this 'bug'
+    # in Nixpkgs:
+
+    # https://github.com/NixOS/nixpkgs/issues/169461
+    # https://github.com/NixOS/nixpkgs/issues/185644
+    # https://github.com/NixOS/nixpkgs/pull/197046
+    # https://github.com/NixOS/nixpkgs/pull/241741#issuecomment-1624227485
+    # https://github.com/ziglang/zig/issues/14281#issuecomment-1624220653
+
+    zig_default_flags = [
+      "-Dcpu=baseline"
+      "-Doptimize=ReleaseSafe"
+    ];
+  };
+
+  passthru = {
+    inherit zig;
+  };
+
+  meta = {
+    description = "A setup hook for using the Zig compiler in Nixpkgs";
+    inherit (zig.meta) maintainers platforms broken;
+  };
+} ./setup-hook.sh
diff --git a/pkgs/development/compilers/zig/0.11/setup-hook.sh b/pkgs/development/compilers/zig/0.11/setup-hook.sh
new file mode 100644
index 0000000000000..689ebec8a3077
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.11/setup-hook.sh
@@ -0,0 +1,70 @@
+# shellcheck shell=bash disable=SC2154,SC2086
+
+readonly zigDefaultFlagsArray=(@zig_default_flags@)
+
+function zigSetGlobalCacheDir {
+    ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
+    export ZIG_GLOBAL_CACHE_DIR
+}
+
+function zigBuildPhase {
+    runHook preBuild
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+    )
+
+    echoCmd 'zig build flags' "${flagsArray[@]}"
+    zig build "${flagsArray[@]}"
+
+    runHook postBuild
+}
+
+function zigCheckPhase {
+    runHook preCheck
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigCheckFlags "${zigCheckFlagsArray[@]}"
+    )
+
+    echoCmd 'zig check flags' "${flagsArray[@]}"
+    zig build test "${flagsArray[@]}"
+
+    runHook postCheck
+}
+
+function zigInstallPhase {
+    runHook preInstall
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+        $zigInstallFlags "${zigInstallFlagsArray[@]}"
+    )
+
+    if [ -z "${dontAddPrefix-}" ]; then
+        # Zig does not recognize `--prefix=/dir/`, only `--prefix /dir/`
+        flagsArray+=("${prefixKey:---prefix}" "$prefix")
+    fi
+
+    echoCmd 'zig install flags' "${flagsArray[@]}"
+    zig build install "${flagsArray[@]}"
+
+    runHook postInstall
+}
+
+addEnvHooks "$targetOffset" zigSetGlobalCacheDir
+
+if [ -z "${dontUseZigBuild-}" ] && [ -z "${buildPhase-}" ]; then
+    buildPhase=zigBuildPhase
+fi
+
+if [ -z "${dontUseZigCheck-}" ] && [ -z "${checkPhase-}" ]; then
+    checkPhase=zigCheckPhase
+fi
+
+if [ -z "${dontUseZigInstall-}" ] && [ -z "${installPhase-}" ]; then
+    installPhase=zigInstallPhase
+fi
diff --git a/pkgs/development/compilers/zig/0.12.nix b/pkgs/development/compilers/zig/0.12.nix
deleted file mode 100644
index e234b600bc227..0000000000000
--- a/pkgs/development/compilers/zig/0.12.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, llvmPackages
-, libxml2
-, zlib
-, coreutils
-, callPackage
-}@args:
-
-import ./generic.nix args {
-  version = "0.12.0";
-
-  hash = "sha256-RNZiUZtaKXoab5kFrDij6YCAospeVvlLWheTc3FGMks=";
-
-  outputs = [ "out" "doc" ];
-
-  cmakeFlags = [
-    # file RPATH_CHANGE could not write new RPATH
-    (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
-
-    # always link against static build of LLVM
-    (lib.cmakeBool "ZIG_STATIC_LLVM" true)
-
-    # ensure determinism in the compiler build
-    (lib.cmakeFeature "ZIG_TARGET_MCPU" "baseline")
-  ];
-
-  postBuild = ''
-    stage3/bin/zig run ../tools/docgen.zig -- ../doc/langref.html.in langref.html --zig $PWD/stage3/bin/zig
-  '';
-
-  postInstall = ''
-    install -Dm444 langref.html -t $doc/share/doc/zig-$version/html
-  '';
-}
diff --git a/pkgs/development/compilers/zig/0.12/default.nix b/pkgs/development/compilers/zig/0.12/default.nix
new file mode 100644
index 0000000000000..831366419a934
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.12/default.nix
@@ -0,0 +1,103 @@
+{
+  lib,
+  callPackage,
+  cmake,
+  coreutils,
+  fetchFromGitHub,
+  libxml2,
+  llvmPackages,
+  stdenv,
+  testers,
+  zlib,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "zig";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "ziglang";
+    repo = "zig";
+    rev = finalAttrs.version;
+    hash = "sha256-RNZiUZtaKXoab5kFrDij6YCAospeVvlLWheTc3FGMks=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    (lib.getDev llvmPackages.llvm)
+  ];
+
+  buildInputs =
+    [
+      libxml2
+      zlib
+    ]
+    ++ (with llvmPackages; [
+      libclang
+      lld
+      llvm
+    ]);
+
+  outputs = [
+    "out"
+    "doc"
+  ];
+
+  cmakeFlags = [
+    # file RPATH_CHANGE could not write new RPATH
+    (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
+    # ensure determinism in the compiler build
+    (lib.cmakeFeature "ZIG_TARGET_MCPU" "baseline")
+    # always link against static build of LLVM
+    (lib.cmakeBool "ZIG_STATIC_LLVM" true)
+  ];
+
+  env.ZIG_GLOBAL_CACHE_DIR = "$TMPDIR/zig-cache";
+
+  doInstallCheck = true;
+
+  strictDeps = true;
+
+  # Zig's build looks at /usr/bin/env to find dynamic linking info. This doesn't
+  # work in Nix's sandbox. Use env from our coreutils instead.
+  postPatch = ''
+    substituteInPlace lib/std/zig/system.zig \
+      --replace "/usr/bin/env" "${lib.getExe' coreutils "env"}"
+  '';
+
+  postBuild = ''
+    stage3/bin/zig run ../tools/docgen.zig -- ../doc/langref.html.in langref.html --zig $PWD/stage3/bin/zig
+  '';
+
+  postInstall = ''
+    install -Dm444 langref.html -t $doc/share/doc/zig-${finalAttrs.version}/html
+  '';
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/zig test --cache-dir "$TMPDIR/zig-test-cache" -I $src/test $src/test/behavior.zig
+
+    runHook postInstallCheck
+  '';
+
+  passthru = {
+    hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; };
+    tests = {
+      version = testers.testVersion {
+        package = finalAttrs.finalPackage;
+        command = "zig version";
+      };
+    };
+  };
+
+  meta = {
+    description = "General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
+    changelog = "https://ziglang.org/download/${finalAttrs.version}/release-notes.html";
+    homepage = "https://ziglang.org/";
+    license = lib.licenses.mit;
+    mainProgram = "zig";
+    maintainers = with lib.maintainers; [ andrewrk ] ++ lib.teams.zig.members;
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/development/compilers/zig/0.12/hook.nix b/pkgs/development/compilers/zig/0.12/hook.nix
new file mode 100644
index 0000000000000..294aa851ce0d3
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.12/hook.nix
@@ -0,0 +1,47 @@
+{
+  lib,
+  makeSetupHook,
+  zig,
+}:
+
+makeSetupHook {
+  name = "zig-hook";
+
+  propagatedBuildInputs = [ zig ];
+
+  substitutions = {
+    # This zig_default_flags below is meant to avoid CPU feature impurity in
+    # Nixpkgs. However, this flagset is "unstable": it is specifically meant to
+    # be controlled by the upstream development team - being up to that team
+    # exposing or not that flags to the outside (especially the package manager
+    # teams).
+
+    # Because of this hurdle, @andrewrk from Zig Software Foundation proposed
+    # some solutions for this issue. Hopefully they will be implemented in
+    # future releases of Zig. When this happens, this flagset should be
+    # revisited accordingly.
+
+    # Below are some useful links describing the discovery process of this 'bug'
+    # in Nixpkgs:
+
+    # https://github.com/NixOS/nixpkgs/issues/169461
+    # https://github.com/NixOS/nixpkgs/issues/185644
+    # https://github.com/NixOS/nixpkgs/pull/197046
+    # https://github.com/NixOS/nixpkgs/pull/241741#issuecomment-1624227485
+    # https://github.com/ziglang/zig/issues/14281#issuecomment-1624220653
+
+    zig_default_flags = [
+      "-Dcpu=baseline"
+      "--release=safe"
+    ];
+  };
+
+  passthru = {
+    inherit zig;
+  };
+
+  meta = {
+    description = "A setup hook for using the Zig compiler in Nixpkgs";
+    inherit (zig.meta) maintainers platforms broken;
+  };
+} ./setup-hook.sh
diff --git a/pkgs/development/compilers/zig/0.12/setup-hook.sh b/pkgs/development/compilers/zig/0.12/setup-hook.sh
new file mode 100644
index 0000000000000..689ebec8a3077
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.12/setup-hook.sh
@@ -0,0 +1,70 @@
+# shellcheck shell=bash disable=SC2154,SC2086
+
+readonly zigDefaultFlagsArray=(@zig_default_flags@)
+
+function zigSetGlobalCacheDir {
+    ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
+    export ZIG_GLOBAL_CACHE_DIR
+}
+
+function zigBuildPhase {
+    runHook preBuild
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+    )
+
+    echoCmd 'zig build flags' "${flagsArray[@]}"
+    zig build "${flagsArray[@]}"
+
+    runHook postBuild
+}
+
+function zigCheckPhase {
+    runHook preCheck
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigCheckFlags "${zigCheckFlagsArray[@]}"
+    )
+
+    echoCmd 'zig check flags' "${flagsArray[@]}"
+    zig build test "${flagsArray[@]}"
+
+    runHook postCheck
+}
+
+function zigInstallPhase {
+    runHook preInstall
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+        $zigInstallFlags "${zigInstallFlagsArray[@]}"
+    )
+
+    if [ -z "${dontAddPrefix-}" ]; then
+        # Zig does not recognize `--prefix=/dir/`, only `--prefix /dir/`
+        flagsArray+=("${prefixKey:---prefix}" "$prefix")
+    fi
+
+    echoCmd 'zig install flags' "${flagsArray[@]}"
+    zig build install "${flagsArray[@]}"
+
+    runHook postInstall
+}
+
+addEnvHooks "$targetOffset" zigSetGlobalCacheDir
+
+if [ -z "${dontUseZigBuild-}" ] && [ -z "${buildPhase-}" ]; then
+    buildPhase=zigBuildPhase
+fi
+
+if [ -z "${dontUseZigCheck-}" ] && [ -z "${checkPhase-}" ]; then
+    checkPhase=zigCheckPhase
+fi
+
+if [ -z "${dontUseZigInstall-}" ] && [ -z "${installPhase-}" ]; then
+    installPhase=zigInstallPhase
+fi
diff --git a/pkgs/development/compilers/zig/0.9.nix b/pkgs/development/compilers/zig/0.9.nix
deleted file mode 100644
index d648c9c2eb642..0000000000000
--- a/pkgs/development/compilers/zig/0.9.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, llvmPackages
-, libxml2
-, zlib
-, coreutils
-, callPackage
-}@args:
-
-import ./generic.nix args {
-  version = "0.9.1";
-
-  hash = "sha256-x2c4c9RSrNWGqEngio4ArW7dJjW0gg+8nqBwPcR721k=";
-
-  patches = [
-    # Fix index out of bounds reading RPATH (cherry-picked from 0.10-dev)
-    ./000-0.9-read-dynstr-at-rpath-offset.patch
-    # Fix build on macOS 13 (cherry-picked from 0.10-dev)
-    ./001-0.9-bump-macos-supported-version.patch
-  ];
-
-  prePatch =
-    let
-      zig_0_10_0 = fetchFromGitHub {
-        owner = "ziglang";
-        repo = "zig";
-        rev = "0.10.0";
-        hash = "sha256-DNs937N7PLQimuM2anya4npYXcj6cyH+dRS7AiOX7tw=";
-      };
-    in
-    ''
-      cp -R ${zig_0_10_0}/lib/libc/include/any-macos.13-any lib/libc/include/any-macos.13-any
-      cp -R ${zig_0_10_0}/lib/libc/include/aarch64-macos.13-none lib/libc/include/aarch64-macos.13-gnu
-      cp -R ${zig_0_10_0}/lib/libc/include/x86_64-macos.13-none lib/libc/include/x86_64-macos.13-gnu
-      cp ${zig_0_10_0}/lib/libc/darwin/libSystem.13.tbd lib/libc/darwin/
-    '';
-
-  cmakeFlags = [
-    # file RPATH_CHANGE could not write new RPATH
-    "-DCMAKE_SKIP_BUILD_RPATH=ON"
-
-    # ensure determinism in the compiler build
-    "-DZIG_TARGET_MCPU=baseline"
-  ];
-}
diff --git a/pkgs/development/compilers/zig/000-0.9-read-dynstr-at-rpath-offset.patch b/pkgs/development/compilers/zig/0.9/000-0.9-read-dynstr-at-rpath-offset.patch
index 70633193f944d..70633193f944d 100644
--- a/pkgs/development/compilers/zig/000-0.9-read-dynstr-at-rpath-offset.patch
+++ b/pkgs/development/compilers/zig/0.9/000-0.9-read-dynstr-at-rpath-offset.patch
diff --git a/pkgs/development/compilers/zig/001-0.9-bump-macos-supported-version.patch b/pkgs/development/compilers/zig/0.9/001-0.9-bump-macos-supported-version.patch
index 07b90e223553b..07b90e223553b 100644
--- a/pkgs/development/compilers/zig/001-0.9-bump-macos-supported-version.patch
+++ b/pkgs/development/compilers/zig/0.9/001-0.9-bump-macos-supported-version.patch
diff --git a/pkgs/development/compilers/zig/0.9/default.nix b/pkgs/development/compilers/zig/0.9/default.nix
new file mode 100644
index 0000000000000..079773f00e88c
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.9/default.nix
@@ -0,0 +1,111 @@
+{
+  lib,
+  callPackage,
+  cmake,
+  coreutils,
+  fetchFromGitHub,
+  libxml2,
+  llvmPackages,
+  stdenv,
+  testers,
+  zlib,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "zig";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "ziglang";
+    repo = "zig";
+    rev = finalAttrs.version;
+    hash = "sha256-x2c4c9RSrNWGqEngio4ArW7dJjW0gg+8nqBwPcR721k=";
+  };
+
+  patches = [
+    # Fix index out of bounds reading RPATH (cherry-picked from 0.10-dev)
+    ./000-0.9-read-dynstr-at-rpath-offset.patch
+    # Fix build on macOS 13 (cherry-picked from 0.10-dev)
+    ./001-0.9-bump-macos-supported-version.patch
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    (lib.getDev llvmPackages.llvm)
+  ];
+
+  buildInputs =
+    [
+      libxml2
+      zlib
+    ]
+    ++ (with llvmPackages; [
+      libclang
+      lld
+      llvm
+    ]);
+
+  cmakeFlags = [
+    # file RPATH_CHANGE could not write new RPATH
+    (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
+    # ensure determinism in the compiler build
+    (lib.cmakeFeature "ZIG_TARGET_MCPU" "baseline")
+  ];
+
+  env.ZIG_GLOBAL_CACHE_DIR = "$TMPDIR/zig-cache";
+
+  doInstallCheck = true;
+
+  strictDeps = true;
+
+  prePatch =
+    let
+      zig_0_10_0 = fetchFromGitHub {
+        owner = "ziglang";
+        repo = "zig";
+        rev = "0.10.0";
+        hash = "sha256-DNs937N7PLQimuM2anya4npYXcj6cyH+dRS7AiOX7tw=";
+      };
+    in
+    ''
+      cp -R ${zig_0_10_0}/lib/libc/include/any-macos.13-any lib/libc/include/any-macos.13-any
+      cp -R ${zig_0_10_0}/lib/libc/include/aarch64-macos.13-none lib/libc/include/aarch64-macos.13-gnu
+      cp -R ${zig_0_10_0}/lib/libc/include/x86_64-macos.13-none lib/libc/include/x86_64-macos.13-gnu
+      cp ${zig_0_10_0}/lib/libc/darwin/libSystem.13.tbd lib/libc/darwin/
+    '';
+
+  # Zig's build looks at /usr/bin/env to find dynamic linking info. This doesn't
+  # work in Nix's sandbox. Use env from our coreutils instead.
+  postPatch = ''
+    substituteInPlace lib/std/zig/system/NativeTargetInfo.zig \
+      --replace "/usr/bin/env" "${lib.getExe' coreutils "env"}"
+  '';
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/zig test --cache-dir "$TMPDIR/zig-test-cache" -I $src/test $src/test/behavior.zig
+
+    runHook postInstallCheck
+  '';
+
+  passthru = {
+    hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; };
+    tests = {
+      version = testers.testVersion {
+        package = finalAttrs.finalPackage;
+        command = "zig version";
+      };
+    };
+  };
+
+  meta = {
+    description = "General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
+    homepage = "https://ziglang.org/";
+    changelog = "https://ziglang.org/download/${finalAttrs.version}/release-notes.html";
+    license = lib.licenses.mit;
+    mainProgram = "zig";
+    maintainers = with lib.maintainers; [ andrewrk ] ++ lib.teams.zig.members;
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/development/compilers/zig/0.9/hook.nix b/pkgs/development/compilers/zig/0.9/hook.nix
new file mode 100644
index 0000000000000..298d50d9e5f9d
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.9/hook.nix
@@ -0,0 +1,47 @@
+{
+  lib,
+  makeSetupHook,
+  zig,
+}:
+
+makeSetupHook {
+  name = "zig-hook";
+
+  propagatedBuildInputs = [ zig ];
+
+  substitutions = {
+    # This zig_default_flags below is meant to avoid CPU feature impurity in
+    # Nixpkgs. However, this flagset is "unstable": it is specifically meant to
+    # be controlled by the upstream development team - being up to that team
+    # exposing or not that flags to the outside (especially the package manager
+    # teams).
+
+    # Because of this hurdle, @andrewrk from Zig Software Foundation proposed
+    # some solutions for this issue. Hopefully they will be implemented in
+    # future releases of Zig. When this happens, this flagset should be
+    # revisited accordingly.
+
+    # Below are some useful links describing the discovery process of this 'bug'
+    # in Nixpkgs:
+
+    # https://github.com/NixOS/nixpkgs/issues/169461
+    # https://github.com/NixOS/nixpkgs/issues/185644
+    # https://github.com/NixOS/nixpkgs/pull/197046
+    # https://github.com/NixOS/nixpkgs/pull/241741#issuecomment-1624227485
+    # https://github.com/ziglang/zig/issues/14281#issuecomment-1624220653
+
+    zig_default_flags = [
+      "-Dcpu=baseline"
+      "-Drelease-safe=true"
+    ];
+  };
+
+  passthru = {
+    inherit zig;
+  };
+
+  meta = {
+    description = "A setup hook for using the Zig compiler in Nixpkgs";
+    inherit (zig.meta) maintainers platforms broken;
+  };
+} ./setup-hook.sh
diff --git a/pkgs/development/compilers/zig/0.9/setup-hook.sh b/pkgs/development/compilers/zig/0.9/setup-hook.sh
new file mode 100644
index 0000000000000..689ebec8a3077
--- /dev/null
+++ b/pkgs/development/compilers/zig/0.9/setup-hook.sh
@@ -0,0 +1,70 @@
+# shellcheck shell=bash disable=SC2154,SC2086
+
+readonly zigDefaultFlagsArray=(@zig_default_flags@)
+
+function zigSetGlobalCacheDir {
+    ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
+    export ZIG_GLOBAL_CACHE_DIR
+}
+
+function zigBuildPhase {
+    runHook preBuild
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+    )
+
+    echoCmd 'zig build flags' "${flagsArray[@]}"
+    zig build "${flagsArray[@]}"
+
+    runHook postBuild
+}
+
+function zigCheckPhase {
+    runHook preCheck
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigCheckFlags "${zigCheckFlagsArray[@]}"
+    )
+
+    echoCmd 'zig check flags' "${flagsArray[@]}"
+    zig build test "${flagsArray[@]}"
+
+    runHook postCheck
+}
+
+function zigInstallPhase {
+    runHook preInstall
+
+    local flagsArray=(
+        "${zigDefaultFlagsArray[@]}"
+        $zigBuildFlags "${zigBuildFlagsArray[@]}"
+        $zigInstallFlags "${zigInstallFlagsArray[@]}"
+    )
+
+    if [ -z "${dontAddPrefix-}" ]; then
+        # Zig does not recognize `--prefix=/dir/`, only `--prefix /dir/`
+        flagsArray+=("${prefixKey:---prefix}" "$prefix")
+    fi
+
+    echoCmd 'zig install flags' "${flagsArray[@]}"
+    zig build install "${flagsArray[@]}"
+
+    runHook postInstall
+}
+
+addEnvHooks "$targetOffset" zigSetGlobalCacheDir
+
+if [ -z "${dontUseZigBuild-}" ] && [ -z "${buildPhase-}" ]; then
+    buildPhase=zigBuildPhase
+fi
+
+if [ -z "${dontUseZigCheck-}" ] && [ -z "${checkPhase-}" ]; then
+    checkPhase=zigCheckPhase
+fi
+
+if [ -z "${dontUseZigInstall-}" ] && [ -z "${installPhase-}" ]; then
+    installPhase=zigInstallPhase
+fi
diff --git a/pkgs/development/coq-modules/compcert/default.nix b/pkgs/development/coq-modules/compcert/default.nix
index 0557311c36507..1f2ec1cdfd1cb 100644
--- a/pkgs/development/coq-modules/compcert/default.nix
+++ b/pkgs/development/coq-modules/compcert/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchzip, mkCoqDerivation
+{ lib, mkCoqDerivation
 , coq, flocq, compcert
 , ocamlPackages, fetchpatch, makeWrapper, coq2html
 , stdenv, tools ? stdenv.cc
diff --git a/pkgs/development/coq-modules/mathcomp-word/default.nix b/pkgs/development/coq-modules/mathcomp-word/default.nix
index 0183de9812269..98fdefa6d1176 100644
--- a/pkgs/development/coq-modules/mathcomp-word/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-word/default.nix
@@ -18,8 +18,10 @@ mkCoqDerivation {
 
   releaseRev = v: "v${v}";
 
+  release."3.2".sha256 = "sha256-4HOFFQzKbHIq+ktjJaS5b2Qr8WL1eQ26YxF4vt1FdWM=";
   release."3.1".sha256 = "sha256-qQHis6554sG7NpCpWhT2wvelnxsrbEPVNv3fpxwxHMU=";
   release."3.0".sha256 = "sha256-xEgx5HHDOimOJbNMtIVf/KG3XBemOS9XwoCoW6btyJ4=";
+  release."2.4".sha256 = "sha256-OG99PfjhtKikxM9aBKRsej1gTo1O/llAdXdiiyjZf2Q=";
   release."2.3".sha256 = "sha256-whU1yvFFuxpwQutW41B/WBg5DrVZJW/Do/GuHtzuI3U=";
   release."2.2".sha256 = "sha256-8BB6SToCrMZTtU78t2K+aExuxk9O1lCqVQaa8wabSm8=";
   release."2.1".sha256 = "sha256-895gZzwwX8hN9UUQRhcgRlphHANka9R0PRotfmSEelA=";
@@ -27,8 +29,8 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with lib.versions; lib.switch [ coq.version mathcomp.version ] [
-    { cases = [ (range "8.16" "8.19") (isGe "2.0")          ]; out = "3.1"; }
-    { cases = [ (range "8.12" "8.19") (range "1.12" "1.19") ]; out = "2.3"; }
+    { cases = [ (range "8.16" "8.19") (isGe "2.0")          ]; out = "3.2"; }
+    { cases = [ (range "8.12" "8.19") (range "1.12" "1.19") ]; out = "2.4"; }
   ] null;
 
   propagatedBuildInputs = [ mathcomp.algebra mathcomp.ssreflect mathcomp.fingroup ];
diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix
index 59069d878996e..6ab2c28be3992 100644
--- a/pkgs/development/idris-modules/default.nix
+++ b/pkgs/development/idris-modules/default.nix
@@ -153,8 +153,7 @@
 
     refined = callPackage ./refined.nix {};
 
-    sdl = callPackage ./sdl.nix {};
-
+    sdl = throw "'idrisPackages.sdl' has been removed, as it was broken and unmaintained"; # added 2024-05-09
     sdl2 = callPackage ./sdl2.nix {};
 
     semidirect = callPackage ./semidirect.nix {};
diff --git a/pkgs/development/idris-modules/sdl.nix b/pkgs/development/idris-modules/sdl.nix
deleted file mode 100644
index 59e3ac916e4fe..0000000000000
--- a/pkgs/development/idris-modules/sdl.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ build-idris-package
-, fetchFromGitHub
-, effects
-, lib
-, SDL
-, SDL_gfx
-}:
-build-idris-package  {
-  pname = "sdl";
-  version = "2017-03-24";
-
-  idrisDeps = [ effects ];
-
-  extraBuildInputs = [ SDL SDL_gfx ];
-
-  src = fetchFromGitHub {
-    owner = "edwinb";
-    repo = "SDL-idris";
-    rev = "095ce70da7ea9f163b018b690105edf375f1befe";
-    sha256 = "0nryssnaqfq2pvz2mbl2kkx6mig310f9dpgrbcx788nxi0qzsig6";
-  };
-
-  meta = {
-    description = "SDL-idris framework for Idris";
-    homepage = "https://github.com/edwinb/SDL-idris";
-    maintainers = [ lib.maintainers.brainrape ];
-    # Can't find file sdlrun.o
-    broken = true;
-  };
-}
diff --git a/pkgs/development/interpreters/bqn/cbqn/default.nix b/pkgs/development/interpreters/bqn/cbqn/default.nix
index f78eb807b4cfe..2f4d7f08931a8 100644
--- a/pkgs/development/interpreters/bqn/cbqn/default.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/default.nix
@@ -1,6 +1,5 @@
 { lib
 , callPackage
-, fetchFromGitHub
 , fixDarwinDylibNames
 , libffi
 , mbqn-source
diff --git a/pkgs/development/interpreters/micropython/default.nix b/pkgs/development/interpreters/micropython/default.nix
index 6437e942ae344..c28d09ede3a60 100644
--- a/pkgs/development/interpreters/micropython/default.nix
+++ b/pkgs/development/interpreters/micropython/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "micropython";
-  version = "1.22.2";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "micropython";
     repo = "micropython";
     rev = "v${version}";
-    sha256 = "sha256-sdok17HvKub/sI+8cAIIDaLD/3mu8yXXqrTOej8/UfU=";
+    sha256 = "sha256-sfJohmsqq5FumUoVE8x3yWv12DiCJJXae62br0j+190=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/julia-modules/depot.nix b/pkgs/development/julia-modules/depot.nix
index 5614f1427aa5e..c2189ebaf94c0 100644
--- a/pkgs/development/julia-modules/depot.nix
+++ b/pkgs/development/julia-modules/depot.nix
@@ -52,7 +52,10 @@ runCommand "julia-depot" {
   # for finding the extra packages we need to add
   python ${./python}/find_package_implications.py "${closureYaml}" '${lib.generators.toJSON {} packageImplications}' extra_package_names.txt
 
-  # git config --global --add safe.directory '/nix'
+  # Work around new git security features added in git 2.44.1
+  # See https://github.com/NixOS/nixpkgs/issues/315890
+  git config --global --add safe.directory '*'
+
   export JULIA_PKG_USE_CLI_GIT="true"
 
   # At time of writing, this appears to be the only way to turn precompiling's
diff --git a/pkgs/development/julia-modules/tests/julia-top-n/app/Main.hs b/pkgs/development/julia-modules/tests/julia-top-n/app/Main.hs
index ed9f8d405b12c..55f5fd3cfeef8 100644
--- a/pkgs/development/julia-modules/tests/julia-top-n/app/Main.hs
+++ b/pkgs/development/julia-modules/tests/julia-top-n/app/Main.hs
@@ -4,6 +4,7 @@
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE QuasiQuotes #-}
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE ViewPatterns #-}
@@ -17,6 +18,7 @@ import qualified Data.Aeson.Key             as A
 import qualified Data.Aeson.KeyMap          as HM
 import qualified Data.ByteString.Lazy.Char8 as BL8
 import qualified Data.List as L
+import Data.String.Interpolate
 import Data.Text as T
 import qualified Data.Vector as V
 import qualified Data.Yaml as Yaml
@@ -33,6 +35,7 @@ data Args = Args {
   countFilePath :: FilePath
   , topN :: Int
   , parallelism :: Int
+  , juliaAttr :: Text
   }
 
 argsParser :: Parser Args
@@ -40,6 +43,7 @@ argsParser = Args
   <$> strOption (long "count-file" <> short 'c' <> help "YAML file containing package names and counts")
   <*> option auto (long "top-n" <> short 'n' <> help "How many of the top packages to build" <> showDefault <> value 100 <> metavar "INT")
   <*> option auto (long "parallelism" <> short 'p' <> help "How many builds to run at once" <> showDefault <> value 10 <> metavar "INT")
+  <*> strOption (long "julia-attr" <> short 'a' <> help "Which Julia attr to build with" <> showDefault <> value "julia" <> metavar "STRING")
 
 data NameAndCount = NameAndCount {
   name :: Text
@@ -69,7 +73,7 @@ main = do
           introduce' (defaultNodeOptions { nodeOptionsVisibilityThreshold = 0 }) (T.unpack name) julia (newMVar Nothing) (const $ return ()) $ do
             it "Builds" $ do
               let cp = proc "nix" ["build", "--impure", "--no-link", "--json", "--expr"
-                                  , "with import ../../../../. {}; julia.withPackages [\"" <> T.unpack name <> "\"]"
+                                  , [i|with import ../../../../. {}; #{juliaAttr}.withPackages ["#{name}"]|]
                                   ]
               output <- readCreateProcessWithLogging cp ""
               juliaPath <- case A.eitherDecode (BL8.pack output) of
diff --git a/pkgs/development/julia-modules/tests/julia-top-n/julia-top-n.cabal b/pkgs/development/julia-modules/tests/julia-top-n/julia-top-n.cabal
index 834adac33f16a..e3a319702f7a7 100644
--- a/pkgs/development/julia-modules/tests/julia-top-n/julia-top-n.cabal
+++ b/pkgs/development/julia-modules/tests/julia-top-n/julia-top-n.cabal
@@ -27,6 +27,7 @@ executable julia-top-n-exe
     , filepath
     , optparse-applicative
     , sandwich
+    , string-interpolate
     , text
     , unliftio
     , vector
diff --git a/pkgs/development/julia-modules/tests/julia-top-n/package.yaml b/pkgs/development/julia-modules/tests/julia-top-n/package.yaml
index ffb9ab1d12ea4..404ebc72dd674 100644
--- a/pkgs/development/julia-modules/tests/julia-top-n/package.yaml
+++ b/pkgs/development/julia-modules/tests/julia-top-n/package.yaml
@@ -11,6 +11,7 @@ dependencies:
 - filepath
 - optparse-applicative
 - sandwich
+- string-interpolate
 - text
 - unliftio
 - vector
diff --git a/pkgs/development/libraries/gamin/default.nix b/pkgs/development/libraries/gamin/default.nix
index a2d6078024d58..4f831775716ea 100644
--- a/pkgs/development/libraries/gamin/default.nix
+++ b/pkgs/development/libraries/gamin/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
     sed -i 's/,--version-script=.*$/\\/' libgamin/Makefile
   '';
 
+  env = lib.optionalAttrs stdenv.cc.isClang {
+    NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
+  };
+
   patches = [ ./deadlock.patch ]
     ++ map fetchurl (import ./debian-patches.nix)
     ++ lib.optional stdenv.cc.isClang ./returnval.patch
diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix
index 219028d4ab902..1331fcff0e656 100644
--- a/pkgs/development/libraries/gtk-sharp/2.0.nix
+++ b/pkgs/development/libraries/gtk-sharp/2.0.nix
@@ -54,6 +54,10 @@ stdenv.mkDerivation rec {
     ./bootstrap-${lib.versions.majorMinor version}
   '';
 
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
+    "-Wno-error=int-conversion"
+  ]);
+
   dontStrip = true;
 
   inherit monoDLLFixer;
diff --git a/pkgs/development/libraries/imgui/default.nix b/pkgs/development/libraries/imgui/default.nix
index ceb616a76e5c0..09b88c1a191ce 100644
--- a/pkgs/development/libraries/imgui/default.nix
+++ b/pkgs/development/libraries/imgui/default.nix
@@ -79,6 +79,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
     darwin.apple_sdk.frameworks.ApplicationServices
+    darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.GameController
   ];
 
   propagatedBuildInputs =
diff --git a/pkgs/development/libraries/imtui/default.nix b/pkgs/development/libraries/imtui/default.nix
index 86b488c1a888d..a4f477543b89e 100644
--- a/pkgs/development/libraries/imtui/default.nix
+++ b/pkgs/development/libraries/imtui/default.nix
@@ -30,7 +30,8 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa;
 
   postPatch = ''
-    cp -r ${imgui}/include/imgui third-party/imgui
+    cp -r ${imgui.src}/* third-party/imgui/imgui
+    chmod -R u+w third-party/imgui
   '' + lib.optionalString (lib.versionAtLeast imgui.version "1.90.1") ''
     substituteInPlace src/imtui-impl-{emscripten,ncurses}.cpp \
       --replace "ImGuiKey_KeyPadEnter" "ImGuiKey_KeypadEnter"
@@ -45,10 +46,6 @@ stdenv.mkDerivation rec {
     "-DIMTUI_INSTALL_IMGUI_HEADERS:BOOL=OFF"
   ];
 
-  postInstall = ''
-    rm -rf $out/include/imgui
-  '';
-
   meta = with lib; {
     description = "Immediate mode text-based user interface library";
     longDescription = ''
diff --git a/pkgs/development/libraries/json-fortran/default.nix b/pkgs/development/libraries/json-fortran/default.nix
index 410a767f99919..16f4cc34d1541 100644
--- a/pkgs/development/libraries/json-fortran/default.nix
+++ b/pkgs/development/libraries/json-fortran/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "json-fortran";
-  version = "8.4.0";
+  version = "8.5.0";
 
   src = fetchFromGitHub {
     owner = "jacobwilliams";
     repo = pname;
     rev = version;
-    hash = "sha256-qy3CK8Op3YVNpXjq60UYq9V9qWBEXpX/li/lYxXW9Fk=";
+    hash = "sha256-S5Vn2VjrwdIEPKJDStfgRgOqe8g3kuoi26GODmlKhig=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libgeotiff/default.nix b/pkgs/development/libraries/libgeotiff/default.nix
index 021a7e3ad574d..37e726fa23bb9 100644
--- a/pkgs/development/libraries/libgeotiff/default.nix
+++ b/pkgs/development/libraries/libgeotiff/default.nix
@@ -10,14 +10,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.7.2";
+  version = "1.7.3";
   pname = "libgeotiff";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "libgeotiff";
     rev = version;
-    hash = "sha256-PXMbOC3I1yrFrFUek9BMxFT3YW9KxwP3+xZUHs7xm7Y=";
+    hash = "sha256-FUvWZR5BrGEMnApxCBQBwmmi9NU7Tx6Ziq3mbIxjqfc=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libphonenumber/default.nix b/pkgs/development/libraries/libphonenumber/default.nix
index edd3379617279..f8ce0d5ecbbdb 100644
--- a/pkgs/development/libraries/libphonenumber/default.nix
+++ b/pkgs/development/libraries/libphonenumber/default.nix
@@ -1,14 +1,25 @@
-{ lib, stdenv, fetchFromGitHub, cmake, gtest, boost, pkg-config, protobuf, icu, Foundation, buildPackages }:
-
-stdenv.mkDerivation rec {
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gtest
+, jre
+, pkg-config
+, boost
+, icu
+, protobuf
+, Foundation
+}:
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "libphonenumber";
-  version = "8.12.37";
+  version = "8.13.37";
 
   src = fetchFromGitHub {
-    owner = "googlei18n";
+    owner = "google";
     repo = "libphonenumber";
-    rev = "v${version}";
-    sha256 = "sha256-xLxadSxVY3DjFDQrqj3BuOvdMaKdFSLjocfzovJCBB0=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-TQ9Hz9fnKZhZkg+hkXgFqH4TDCWMe+fcEWE6ShwSBBU=";
   };
 
   patches = [
@@ -19,29 +30,30 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
+    gtest
+    jre
     pkg-config
   ];
 
   buildInputs = [
     boost
-    protobuf
     icu
-    gtest
-  ] ++ lib.optional stdenv.isDarwin Foundation;
+    protobuf
+  ] ++ lib.optionals stdenv.isDarwin [
+    Foundation
+  ];
 
   cmakeDir = "../cpp";
-  cmakeFlags =
-    lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-      "-DBUILD_GEOCODER=OFF"
-      "-DPROTOC_BIN=${buildPackages.protobuf}/bin/protoc"
-    ];
 
-  checkPhase = "./libphonenumber_test";
+  doCheck = true;
+
+  checkTarget = "tests";
 
   meta = with lib; {
+    changelog = "https://github.com/google/libphonenumber/blob/${finalAttrs.src.rev}/release_notes.txt";
     description = "Google's i18n library for parsing and using phone numbers";
     homepage = "https://github.com/google/libphonenumber";
     license = licenses.asl20;
     maintainers = with maintainers; [ illegalprime ];
   };
-}
+})
diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix
index 02e587661890b..bb7f9f5807d69 100644
--- a/pkgs/development/libraries/mpich/default.nix
+++ b/pkgs/development/libraries/mpich/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, perl, gfortran
 , openssh, hwloc, python3
+, darwin
 # either libfabric or ucx work for ch4backend on linux. On darwin, neither of
 # these libraries currently build so this argument is ignored on Darwin.
 , ch4backend
@@ -44,10 +45,11 @@ stdenv.mkDerivation  rec {
   nativeBuildInputs = [ gfortran python3 ];
   buildInputs = [ perl openssh hwloc ]
     ++ lib.optional (!stdenv.isDarwin) ch4backend
-    ++ lib.optional pmixSupport pmix;
+    ++ lib.optional pmixSupport pmix
+    ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Foundation;
 
-
-  doCheck = true;
+  # test_double_serializer.test fails on darwin
+  doCheck = !stdenv.isDarwin;
 
   preFixup = ''
     # Ensure the default compilers are the ones mpich was built with
diff --git a/pkgs/development/libraries/pe-parse/default.nix b/pkgs/development/libraries/pe-parse/default.nix
index 7560f2297cfad..2adae4ffccee2 100644
--- a/pkgs/development/libraries/pe-parse/default.nix
+++ b/pkgs/development/libraries/pe-parse/default.nix
@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
+    "-Wno-error=deprecated-declarations"
+  ]);
+
   doInstallCheck = true;
   installCheckPhase = ''
     $out/bin/dump-pe ../tests/assets/example.exe
diff --git a/pkgs/development/libraries/simdjson/default.nix b/pkgs/development/libraries/simdjson/default.nix
index 410ef47b1bc3d..979eb92aa4637 100644
--- a/pkgs/development/libraries/simdjson/default.nix
+++ b/pkgs/development/libraries/simdjson/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simdjson";
-  version = "3.9.2";
+  version = "3.9.3";
 
   src = fetchFromGitHub {
     owner = "simdjson";
     repo = "simdjson";
     rev = "v${version}";
-    sha256 = "sha256-7YW0ylYQMi6D7YyRQGWRv980skjZ2t//QoZb8rRDHGk=";
+    sha256 = "sha256-TbCfAtP/mOgSWjG1eUE4atDU0gPXS7rkhsTWE3g1Z2U=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/spdk/0001-fix-setuptools-installation.patch b/pkgs/development/libraries/spdk/0001-fix-setuptools-installation.patch
deleted file mode 100644
index 3c3fb50fc1525..0000000000000
--- a/pkgs/development/libraries/spdk/0001-fix-setuptools-installation.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 3f718fc1873c9c138684ea019e9bd42c9b24506c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
-Date: Tue, 28 Nov 2023 11:28:11 +0100
-Subject: [PATCH] fix setuptools installation
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
----
- python/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/python/Makefile b/python/Makefile
-index f835daa..b41995a 100644
---- a/python/Makefile
-+++ b/python/Makefile
-@@ -12,7 +12,7 @@ setup_cmd += --root $(DESTDIR)
- endif
- 
- ifneq ($(CONFIG_PYDIR),)
--setup_cmd += --install-purelib $(CONFIG_PYDIR)
-+setup_cmd += --root / --prefix $(CONFIG_PYDIR)
- purelibdir := $(CONFIG_PYDIR)
- else
- purelibdir := $(shell python3 -c "import sysconfig; print(sysconfig.get_paths()['purelib'])")
--- 
-2.42.0
-
diff --git a/pkgs/development/libraries/spdk/default.nix b/pkgs/development/libraries/spdk/default.nix
index 46ee5600a4daf..3c3bf275d709d 100644
--- a/pkgs/development/libraries/spdk/default.nix
+++ b/pkgs/development/libraries/spdk/default.nix
@@ -4,6 +4,7 @@
 , python3
 , cunit
 , dpdk
+, fuse3
 , libaio
 , libbsd
 , libuuid
@@ -22,19 +23,22 @@
 stdenv.mkDerivation rec {
   pname = "spdk";
 
-  version = "23.09";
+  version = "24.01";
 
   src = fetchFromGitHub {
     owner = "spdk";
     repo = "spdk";
     rev = "v${version}";
-    sha256 = "sha256-P10NDa+MIEY8B3bu34Dq2keyuv2a24XV5Wf+Ah701b8=";
+    sha256 = "sha256-5znYELR6WvVXbfFKAcRtJnSwAE5WHmA8v1rvZUtszS4=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
     python3
+    python3.pkgs.pip
     python3.pkgs.setuptools
+    python3.pkgs.wheel
+    python3.pkgs.wrapPython
     pkg-config
     ensureNewerSourcesForZipFilesHook
   ];
@@ -42,6 +46,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cunit
     dpdk
+    fuse3
     jansson
     libaio
     libbsd
@@ -56,10 +61,8 @@ stdenv.mkDerivation rec {
     zstd
   ];
 
-  patches = [
-    # https://review.spdk.io/gerrit/c/spdk/spdk/+/20394
-    ./setuptools.patch
-    ./0001-fix-setuptools-installation.patch
+  propagatedBuildInputs = [
+    python3.pkgs.configshell
   ];
 
   postPatch = ''
@@ -70,13 +73,16 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-dpdk=${dpdk}"
-    "--pydir=${placeholder "out"}"
   ];
 
   postCheck = ''
     python3 -m spdk
   '';
 
+  postFixup = ''
+    wrapPythonPrograms
+  '';
+
   env.NIX_CFLAGS_COMPILE = "-mssse3"; # Necessary to compile.
   # otherwise does not find strncpy when compiling
   env.NIX_LDFLAGS = "-lbsd";
diff --git a/pkgs/development/libraries/spdk/setuptools.patch b/pkgs/development/libraries/spdk/setuptools.patch
deleted file mode 100644
index b3e7644c0076b..0000000000000
--- a/pkgs/development/libraries/spdk/setuptools.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3a72290ba7e2d71ca887225fc0eb8792ca863be2 Mon Sep 17 00:00:00 2001
-From: Jörg Thalheim <joerg@thalheim.io>
-Date: Tue, 24 Oct 2023 14:30:53 +0200
-Subject: [PATCH] python: drop deprecated distutils
-
-This is scheduled for removal in python 3.12: https://docs.python.org/3/whatsnew/3.12.html
-
-Change-Id: I728dc0cf4ed20f22016d3d58cca8aee3af2bcd8b
-Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
----
-
-diff --git a/python/setup.py b/python/setup.py
-index 47e2104..ae4dff7 100755
---- a/python/setup.py
-+++ b/python/setup.py
-@@ -2,8 +2,7 @@
- # SPDX-License-Identifier: BSD-3-Clause
- # Copyright (C) 2023 Intel Corporation.  All rights reserved.
- 
--from distutils.core import setup
--from setuptools import find_packages
-+from setuptools import setup, find_packages
- from spdk import __version__
- 
- 
diff --git a/pkgs/development/libraries/toml-f/default.nix b/pkgs/development/libraries/toml-f/default.nix
index e24ceec58c075..3f95d5682f9e0 100644
--- a/pkgs/development/libraries/toml-f/default.nix
+++ b/pkgs/development/libraries/toml-f/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  doCheck = true;
+  # tftest-build fails on aarch64-linux
+  doCheck = !stdenv.isAarch64;
 
   meta = with lib; {
     description = "TOML parser implementation for data serialization and deserialization in Fortran";
diff --git a/pkgs/development/ocaml-modules/data-encoding/default.nix b/pkgs/development/ocaml-modules/data-encoding/default.nix
index f94abebbcbdf0..c9a102366fdcd 100644
--- a/pkgs/development/ocaml-modules/data-encoding/default.nix
+++ b/pkgs/development/ocaml-modules/data-encoding/default.nix
@@ -1,5 +1,4 @@
 { lib
-, fetchFromGitLab
 , buildDunePackage
 , ppx_hash
 , bigstringaf
diff --git a/pkgs/development/ocaml-modules/menhir/default.nix b/pkgs/development/ocaml-modules/menhir/default.nix
index a96f3ab9cfd9c..c9e903cf11053 100644
--- a/pkgs/development/ocaml-modules/menhir/default.nix
+++ b/pkgs/development/ocaml-modules/menhir/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitLab, buildDunePackage
+{ buildDunePackage
 , menhirLib, menhirSdk
 }:
 
diff --git a/pkgs/development/ocaml-modules/menhir/sdk.nix b/pkgs/development/ocaml-modules/menhir/sdk.nix
index cc699175af399..ad406c8a31dd2 100644
--- a/pkgs/development/ocaml-modules/menhir/sdk.nix
+++ b/pkgs/development/ocaml-modules/menhir/sdk.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitLab, buildDunePackage
+{ lib, buildDunePackage
 , menhirLib
 }:
 
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index c8600cf52b168..a6f30ab86694e 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -1,15 +1,14 @@
-{ lib, fetchurl, buildDunePackage, cppo, seq }:
+{ lib, fetchurl, buildDunePackage, seq }:
 
 buildDunePackage rec {
   pname = "yojson";
-  version = "2.1.2";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "https://github.com/ocaml-community/yojson/releases/download/${version}/yojson-${version}.tbz";
-    hash = "sha256-WfLxq7/Ip8y9v2CIlOXHXop2AG40iZJURG+D4gDftPk=";
+    hash = "sha256-v9wzvvMUG7qaj6ZqiFtUsp9r+rRQBAiE3Yz3zex4RRk=";
   };
 
-  nativeBuildInputs = [ cppo ];
   propagatedBuildInputs = [ seq ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index c64eece601c5e..bf6b4d5ba034a 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.102";
+  version = "9.2.103";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "ailment";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xHxWP16XbVcsT+UIyouqyhbnxPBNx7oH1unBhJU44fI=";
+    hash = "sha256-yjLbgv6uUXQhJJZGd62ZlA3fbBbCS3JbbVWbz950dWY=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/aiohttp-apispec/default.nix b/pkgs/development/python-modules/aiohttp-apispec/default.nix
index adcc1d17dbf58..9284686d3cab1 100644
--- a/pkgs/development/python-modules/aiohttp-apispec/default.nix
+++ b/pkgs/development/python-modules/aiohttp-apispec/default.nix
@@ -3,9 +3,7 @@
   aiohttp,
   apispec,
   buildPythonPackage,
-  callPackage,
   fetchFromGitHub,
-  fetchPypi,
   jinja2,
   packaging,
   pytest-aiohttp,
diff --git a/pkgs/development/python-modules/aiozoneinfo/default.nix b/pkgs/development/python-modules/aiozoneinfo/default.nix
new file mode 100644
index 0000000000000..4f66cb62d444f
--- /dev/null
+++ b/pkgs/development/python-modules/aiozoneinfo/default.nix
@@ -0,0 +1,49 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  poetry-core,
+  pytest-asyncio,
+  pytestCheckHook,
+  pythonOlder,
+  tzdata,
+}:
+
+buildPythonPackage rec {
+  pname = "aiozoneinfo";
+  version = "0.1.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "bluetooth-devices";
+    repo = "aiozoneinfo";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-gsU7dLLnV+KayfFcuhdcNZPk/XZHGhr6WXOQCIJvUHk=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-fail "--cov=aiozoneinfo --cov-report=term-missing:skip-covered" ""
+  '';
+
+  build-system = [ poetry-core ];
+
+  dependencies = [ tzdata ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "aiozoneinfo" ];
+
+  meta = with lib; {
+    description = "Tools to fetch zoneinfo with asyncio";
+    homepage = "https://github.com/bluetooth-devices/aiozoneinfo";
+    changelog = "https://github.com/bluetooth-devices/aiozoneinfo/blob/${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index b7f04cace7290..71629259ec073 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -37,7 +37,7 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.102";
+  version = "9.2.103";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "angr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-NZO4aQQfp+P9nbVr+cFd5Z2Ziz9cYzuLUi6nVY+Czr0=";
+    hash = "sha256-U1XO6MlXJzEBskp2pMZmIeRNKNQV3kWGMLbmlXS+zos=";
   };
 
   pythonRelaxDeps = [ "capstone" ];
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index 47eef407bcb7c..476965442494c 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.102";
+  version = "9.2.103";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "archinfo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aZwU/i1tBT6M5+PNR77vYzPKklWERXhvG1kknwC0RQQ=";
+    hash = "sha256-0tL0YNyKtX5Njq2yAWbcSll3YQEVYGM3+Xx9TwqhKaw=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index d7e3079efdc30..520154c5bcaae 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.102";
+  version = "9.2.103";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "claripy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-U7aN6MOptGjW61HDfZDM7Vit5G+rm1LujgHoo6oRX3s=";
+    hash = "sha256-Eh+P6/yKTn+zymfh6MU6zL36wt+roRPbtAfiJ/e8tjI=";
   };
 
   # z3 does not provide a dist-info, so python-runtime-deps-check will fail
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index d1d719e370f87..33a4bd5147785 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -18,14 +18,14 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.102";
+  version = "9.2.103";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
     owner = "angr";
     repo = "binaries";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6FVxlQ1MiJP2mtu4V/mPAyaeCRdBp/sk+u4fdFqxTyA=";
+    hash = "sha256-SPBco+1UKe9ra8eauBmsyS/0F9wxb8r/xhPWP9N1Nck=";
   };
 in
 buildPythonPackage rec {
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "cle";
     rev = "refs/tags/v${version}";
-    hash = "sha256-BPKNrFBEKV8UuSdrl+HIgBqFClHTvRsGidz+X81bBLI=";
+    hash = "sha256-fUE0hfrIQrYCMH7txKvq8tsGhJIAXc+66JmcqQHg4J4=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/epitran/default.nix b/pkgs/development/python-modules/epitran/default.nix
index 8495d81d97237..f512ff0d0ccbb 100644
--- a/pkgs/development/python-modules/epitran/default.nix
+++ b/pkgs/development/python-modules/epitran/default.nix
@@ -1,7 +1,6 @@
 {
   lib,
   buildPythonPackage,
-  fetchPypi,
   fetchFromGitHub,
 
   unittestCheckHook,
diff --git a/pkgs/development/python-modules/fyta-cli/default.nix b/pkgs/development/python-modules/fyta-cli/default.nix
index 79189827c7e93..6251d39ac2d0f 100644
--- a/pkgs/development/python-modules/fyta-cli/default.nix
+++ b/pkgs/development/python-modules/fyta-cli/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "fyta-cli";
-  version = "0.4.1";
+  version = "0.5.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "dontinelli";
     repo = "fyta_cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eWuuHIq79n1oFsvBfVySfGCtHz+MlFRR3j8uqtVR+V0=";
+    hash = "sha256-v89rgchfrPa0gOCBLOUK+BalnfpXD1Yt877WuBbkH3Y=";
   };
 
   build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/grafanalib/default.nix b/pkgs/development/python-modules/grafanalib/default.nix
index 61a992cb51393..4e03786a71479 100644
--- a/pkgs/development/python-modules/grafanalib/default.nix
+++ b/pkgs/development/python-modules/grafanalib/default.nix
@@ -2,7 +2,6 @@
   attrs,
   buildPythonPackage,
   fetchFromGitHub,
-  fetchPypi,
   lib,
   pytestCheckHook,
   pythonOlder,
diff --git a/pkgs/development/python-modules/httpauth/default.nix b/pkgs/development/python-modules/httpauth/default.nix
index 7ff2ef6d2e1ea..e99a7eaea0f5c 100644
--- a/pkgs/development/python-modules/httpauth/default.nix
+++ b/pkgs/development/python-modules/httpauth/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.4";
+  version = "0.4.1";
   format = "setuptools";
   pname = "httpauth";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-lehPEuxYV4SQsdL1RWBqTNFIGz2pSoTs+nlkQ5fPX8M=";
+    sha256 = "sha256-C6rnFroAd5vOULBMwsLSyeSK5zPXOEgGHDSYt+Pm2dQ=";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/inkex/default.nix b/pkgs/development/python-modules/inkex/default.nix
index 58602e0d415e7..15aaddd0069b8 100644
--- a/pkgs/development/python-modules/inkex/default.nix
+++ b/pkgs/development/python-modules/inkex/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   inkscape,
-  fetchFromGitLab,
   poetry-core,
   cssselect,
   lxml,
diff --git a/pkgs/development/python-modules/islpy/default.nix b/pkgs/development/python-modules/islpy/default.nix
index 83f0b26c0047b..d111e6b523d27 100644
--- a/pkgs/development/python-modules/islpy/default.nix
+++ b/pkgs/development/python-modules/islpy/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "islpy";
-  version = "2023.2.5";
+  version = "2024.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,8 +25,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "inducer";
     repo = "islpy";
-    rev = "v${version}";
-    hash = "sha256-0m41G5HlPrgt4rDY3Y9cKBJGHSnLg/R+IywBO1anRpQ=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-N5XI6V3BvNobCh7NAvtzVejtDMnlcb31S5gseyab1T0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/langsmith/default.nix b/pkgs/development/python-modules/langsmith/default.nix
index c02aae4844a30..c81ff1cc538c3 100644
--- a/pkgs/development/python-modules/langsmith/default.nix
+++ b/pkgs/development/python-modules/langsmith/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.1.63";
+  version = "0.1.64";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zIrSQubYB5AuwAF0hktT/wY5/ktwQJ4Z/3F6po2wC3o=";
+    hash = "sha256-oAAbki0Mo4qmjIFpD4girpRuSKr9eLPU6Da6muG0NNk=";
   };
 
   sourceRoot = "${src.name}/python";
diff --git a/pkgs/development/python-modules/mapbox-earcut/default.nix b/pkgs/development/python-modules/mapbox-earcut/default.nix
index 9b3644f2f457b..6169a4d9019e6 100644
--- a/pkgs/development/python-modules/mapbox-earcut/default.nix
+++ b/pkgs/development/python-modules/mapbox-earcut/default.nix
@@ -1,7 +1,6 @@
 {
   lib,
   buildPythonPackage,
-  fetchPypi,
   fetchFromGitHub,
   numpy,
   pybind11,
diff --git a/pkgs/development/python-modules/marimo/default.nix b/pkgs/development/python-modules/marimo/default.nix
index bbe15353e09c6..b8bc348c2012e 100644
--- a/pkgs/development/python-modules/marimo/default.nix
+++ b/pkgs/development/python-modules/marimo/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "marimo";
-  version = "0.6.2";
+  version = "0.6.11";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sp3lQPLpU5qvHKQ02c/Ga1M8IsbmOX5nz2XPBMbGj30=";
+    hash = "sha256-gkt21YAxZuoLxvPLYh+1PKQL8AIZGpPtcwIHlSpshkU=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/meeko/default.nix b/pkgs/development/python-modules/meeko/default.nix
index a1e49a19b9463..c422b962925c2 100644
--- a/pkgs/development/python-modules/meeko/default.nix
+++ b/pkgs/development/python-modules/meeko/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "meeko";
-  version = "0.5.0";
+  version = "0.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "forlilab";
     repo = "Meeko";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pngFu6M63W26P7wd6FUNLuf0NikxtRtVR/pnR5PR6Wo=";
+    hash = "sha256-I/kAO0a6DbDqmzjS36ETuoH/Z1gR2eNpyE3herHDKMs=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/nanobind/default.nix b/pkgs/development/python-modules/nanobind/default.nix
index 9e632ff0f1b2a..b02f229ec136f 100644
--- a/pkgs/development/python-modules/nanobind/default.nix
+++ b/pkgs/development/python-modules/nanobind/default.nix
@@ -18,25 +18,26 @@
 }:
 buildPythonPackage rec {
   pname = "nanobind";
-  version = "1.9.2";
+  version = "2.0.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "wjakob";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-6swDqw7sEYOawQbNWD8VfSQoi+9wjhOhOOwPPkahDas=";
+    repo = "nanobind";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-yDFrhSIWywWw7ri5aHRPigi9ujDeazpJa4AVrkLx5BI=";
     fetchSubmodules = true;
   };
 
   disabled = pythonOlder "3.8";
 
-  nativeBuildInputs = [
+  build-system = [
     cmake
     ninja
     scikit-build
     setuptools
   ];
+
   buildInputs = [ eigen ];
   dontUseCmakeBuildDir = true;
 
@@ -51,13 +52,11 @@ buildPythonPackage rec {
     scipy
     torch
     tensorflow
-    # Uncomment at next release (1.9.3)
-    # See https://github.com/wjakob/nanobind/issues/578
-    # jax
-    # jaxlib
+    jax
+    jaxlib
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/wjakob/nanobind";
     changelog = "https://github.com/wjakob/nanobind/blob/${src.rev}/docs/changelog.rst";
     description = "Tiny and efficient C++/Python bindings";
@@ -68,7 +67,7 @@ buildPythonPackage rec {
       more efficient: bindings compile in a shorter amount of time, produce
       smaller binaries, and have better runtime performance.
     '';
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ parras ];
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ parras ];
   };
 }
diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix
index d889c97c3278c..3807218268dac 100644
--- a/pkgs/development/python-modules/opower/default.nix
+++ b/pkgs/development/python-modules/opower/default.nix
@@ -1,19 +1,20 @@
 {
   lib,
   aiohttp,
+  aiozoneinfo,
   arrow,
   buildPythonPackage,
   fetchFromGitHub,
   pyotp,
-  pytestCheckHook,
   python-dotenv,
+  pytestCheckHook,
   pythonOlder,
   setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "opower";
-  version = "0.4.5";
+  version = "0.4.6";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -22,19 +23,22 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "opower";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PBxxLbVOvJSFmDXgKeI5sICUR7NJGUEUUahK9eBsvbE=";
+    hash = "sha256-Q+BycHN83oD2yJz+jsYRjSdswYVHA7fJPwpWtNsmi9M=";
   };
 
   build-system = [ setuptools ];
 
   dependencies = [
     aiohttp
+    aiozoneinfo
     arrow
     pyotp
-    python-dotenv
   ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    python-dotenv
+  ];
 
   pythonImportsCheck = [ "opower" ];
 
diff --git a/pkgs/development/python-modules/osc/default.nix b/pkgs/development/python-modules/osc/default.nix
index eeb9f9df6f2a5..96533b823651e 100644
--- a/pkgs/development/python-modules/osc/default.nix
+++ b/pkgs/development/python-modules/osc/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "osc";
-  version = "1.6.1";
+  version = "1.7.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "osc";
     rev = version;
-    hash = "sha256-U76nAE7NdLIdrKzRC0sP8hy6G6A8Tr4Qe2PGZI2xvyk=";
+    hash = "sha256-ze5mgFU3jc+hB1W2ayj4i2dBFJ0CXsZULzbdFMz3G3Y=";
   };
 
   buildInputs = [ bashInteractive ]; # needed for bash-completion helper
diff --git a/pkgs/development/python-modules/pyathena/default.nix b/pkgs/development/python-modules/pyathena/default.nix
index 38a4956c9a6db..8a81fa5b34f4c 100644
--- a/pkgs/development/python-modules/pyathena/default.nix
+++ b/pkgs/development/python-modules/pyathena/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "pyathena";
-  version = "3.8.2";
+  version = "3.8.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uVYnhxQJy6BvSZ/7JbKZPtE+uJkOtEZrd3uTokfZ3f8=";
+    hash = "sha256-mcYIYOgww4UM0CAcdtOD12pp53clPdDqN85bLRHGDag=";
   };
 
   nativeBuildInputs = [ hatchling ];
diff --git a/pkgs/development/python-modules/pylink-square/default.nix b/pkgs/development/python-modules/pylink-square/default.nix
index c3245c0e7b0d6..2e8121e0932f6 100644
--- a/pkgs/development/python-modules/pylink-square/default.nix
+++ b/pkgs/development/python-modules/pylink-square/default.nix
@@ -2,7 +2,6 @@
   lib,
   buildPythonPackage,
   fetchFromGitHub,
-  fetchPypi,
   mock,
   psutil,
   pytestCheckHook,
diff --git a/pkgs/development/python-modules/pysaml2/default.nix b/pkgs/development/python-modules/pysaml2/default.nix
index 9087ad0873625..91fda24bfef6b 100644
--- a/pkgs/development/python-modules/pysaml2/default.nix
+++ b/pkgs/development/python-modules/pysaml2/default.nix
@@ -4,7 +4,6 @@
   cryptography,
   defusedxml,
   fetchFromGitHub,
-  fetchPypi,
   paste,
   poetry-core,
   pyasn1,
diff --git a/pkgs/development/python-modules/python-musicpd/default.nix b/pkgs/development/python-modules/python-musicpd/default.nix
index 45846d2995172..0807494dce91a 100644
--- a/pkgs/development/python-modules/python-musicpd/default.nix
+++ b/pkgs/development/python-modules/python-musicpd/default.nix
@@ -2,6 +2,7 @@
   lib,
   buildPythonPackage,
   fetchPypi,
+  setuptools,
 }:
 
 buildPythonPackage rec {
@@ -14,7 +15,9 @@ buildPythonPackage rec {
     sha256 = "sha256-/FdM0UolVqhJNpS60Q/nra1hSHKL/LiSMX7/Hcipwco=";
   };
 
-  format = "setuptools";
+  pyproject = true;
+
+  build-system = [ setuptools ];
 
   doCheck = true;
 
diff --git a/pkgs/development/python-modules/pytun/default.nix b/pkgs/development/python-modules/pytun/default.nix
index ab11320ec4369..166afc4544339 100644
--- a/pkgs/development/python-modules/pytun/default.nix
+++ b/pkgs/development/python-modules/pytun/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "pytun";
-  version = "2.3.0";
+  version = "2.4.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "montag451";
     repo = "pytun";
-    sha256 = "1cqq8aci38058fjh4a0xf21wac177fw576p2yjl2b8jd9rnsqbl5";
+    sha256 = "sha256-DZ7CoLi6LPhuc55HF9dtek+/N4A29ecnZn7bk7jweuI=";
   };
 
   # Test directory contains examples, not tests.
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index 8537a3240814a..536bf986df978 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.102";
+  version = "9.2.103";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-P16jsBmFkuzMHcVTvGEK7/SzIkVpFJsUlxFeHCHivig=";
+    hash = "sha256-pmvdAdp/2uAsRMoDnp1naPVh47a0m8NNothbIFcptGI=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/qutip/default.nix b/pkgs/development/python-modules/qutip/default.nix
index 6884ca0fe925c..8cc5ccba6c306 100644
--- a/pkgs/development/python-modules/qutip/default.nix
+++ b/pkgs/development/python-modules/qutip/default.nix
@@ -1,6 +1,5 @@
 {
   lib,
-  stdenv,
   buildPythonPackage,
   cvxopt,
   cvxpy,
@@ -9,18 +8,20 @@
   ipython,
   matplotlib,
   numpy,
+  oldest-supported-numpy,
   packaging,
   pytest-rerunfailures,
   pytestCheckHook,
   python,
   pythonOlder,
   scipy,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "qutip";
-  version = "4.7.5";
-  format = "setuptools";
+  version = "5.0.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -28,10 +29,14 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4nXZPZFu9L+Okha3qvPil1KvLGO1EbrzotQjqQ8r9l8=";
+    hash = "sha256-lMPzgmUaoEQB5TzmqEJFiFTuS3AGpyMMjPHlPUKTLvk=";
   };
 
-  nativeBuildInputs = [ cython_0 ];
+  nativeBuildInputs = [
+    cython_0
+    setuptools
+    oldest-supported-numpy
+  ];
 
   propagatedBuildInputs = [
     numpy
@@ -44,9 +49,6 @@ buildPythonPackage rec {
     pytest-rerunfailures
   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
-  # Disabling OpenMP support on Darwin.
-  setupPyGlobalFlags = lib.optionals (!stdenv.isDarwin) [ "--with-openmp" ];
-
   # QuTiP tries to access the home directory to create an rc file for us.
   # We need to go to another directory to run the tests from there.
   # This is due to the Cython-compiled modules not being in the correct location
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
index 747611f2b17b0..0708cc6c3d64a 100644
--- a/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "rapidfuzz";
-  version = "3.9.1";
+  version = "3.9.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "RapidFuzz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HwTVaPFVktdt1/MfNYajRqVr9uSg6oc++yVvY0WC9AQ=";
+    hash = "sha256-mPfS/p/Gwc/aobTZMJqbUkpEq60PC7DSiAXBanlNt+8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/sphinxawesome-theme/default.nix b/pkgs/development/python-modules/sphinxawesome-theme/default.nix
new file mode 100644
index 0000000000000..ed68975765adf
--- /dev/null
+++ b/pkgs/development/python-modules/sphinxawesome-theme/default.nix
@@ -0,0 +1,36 @@
+{
+  buildPythonPackage,
+  fetchPypi,
+  lib,
+  poetry-core,
+  sphinx,
+  beautifulsoup4,
+  pythonRelaxDepsHook
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxawesome-theme";
+  version = "5.1.4";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit version;
+    pname = "sphinxawesome_theme";
+    hash = "sha256-OwikuKJrPo4vNaud/9JToYYJePV6Kew8izYbr/qKTtQ=";
+  };
+
+  build-system = [ poetry-core pythonRelaxDepsHook ];
+  dependencies = [
+    sphinx
+    beautifulsoup4
+  ];
+
+  pythonRelaxDeps = [ "sphinx" ];
+
+  meta = {
+    description = "Awesome Sphinx Theme";
+    homepage = "https://sphinxawesome.xyz/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [sigmanificient];
+  };
+}
diff --git a/pkgs/development/python-modules/stringly/default.nix b/pkgs/development/python-modules/stringly/default.nix
index 7d830ff2f839a..c7637bb082c7c 100644
--- a/pkgs/development/python-modules/stringly/default.nix
+++ b/pkgs/development/python-modules/stringly/default.nix
@@ -1,6 +1,5 @@
 {
   lib,
-  python,
   buildPythonPackage,
   fetchPypi,
   typing-extensions,
@@ -20,10 +19,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ typing-extensions ];
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest
-  '';
-
   meta = with lib; {
     description = "Stringly: Human Readable Object Serialization";
     homepage = "https://github.com/evalf/stringly";
diff --git a/pkgs/development/python-modules/svg2tikz/default.nix b/pkgs/development/python-modules/svg2tikz/default.nix
index de3e1c96770a2..8d143ee4d58a0 100644
--- a/pkgs/development/python-modules/svg2tikz/default.nix
+++ b/pkgs/development/python-modules/svg2tikz/default.nix
@@ -7,30 +7,39 @@
   inkex,
   lxml,
   pytestCheckHook,
+  pythonRelaxDepsHook,
 }:
 
 buildPythonPackage rec {
   pname = "svg2tikz";
-  version = "3.0.1";
+  version = "3.1.0";
 
   disabled = pythonOlder "3.7";
 
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "xyz2tex";
     repo = "svg2tikz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hvGvJFxhu7llj+tFfZvz12dZ8QYjY7zcLzB5S44l+IM=";
+    hash = "sha256-lL+CQGZMK+rxjw2kTNE6kK3FCt6ARsAD6ROMsXWwDCs=";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  build-system = [
+    poetry-core
+  ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     inkex
     lxml
   ];
 
+  pythonRelaxDeps = [
+    "lxml"
+  ];
+
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
   nativeCheckInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "svg2tikz" ];
diff --git a/pkgs/development/python-modules/testcontainers/default.nix b/pkgs/development/python-modules/testcontainers/default.nix
index 561f2bcfeb725..362a4f36b94ed 100644
--- a/pkgs/development/python-modules/testcontainers/default.nix
+++ b/pkgs/development/python-modules/testcontainers/default.nix
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "testcontainers";
-  version = "4.5.0";
-  disabled = pythonOlder "3.9";
-
+  version = "4.5.1";
   pyproject = true;
 
+  disabled = pythonOlder "3.9";
+
   src = fetchFromGitHub {
     owner = "testcontainers";
     repo = "testcontainers-python";
     rev = "refs/tags/testcontainers-v${version}";
-    hash = "sha256-+kMKxitRRjNGVqMJuDdJA0QnYpLicJ6qdD8tzplEbT8=";
+    hash = "sha256-7QlT3ibSUDeC+aWi2MCagLkomXG3/VU1xHQ7Xgoh/Pw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
index 824d607cc380a..f730d649361b8 100644
--- a/pkgs/development/python-modules/transformers/default.nix
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -55,7 +55,7 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.41.1";
+  version = "4.41.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -64,7 +64,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "transformers";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eUMdlqHjCmK51hUPxjZq3tOl0o6EjipOziWergHwmPk=";
+    hash = "sha256-Y3WYO+63n/ATT9RmRJ9JLuhFWUiuBO4NL2KzvzELi+M=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/treelog/default.nix b/pkgs/development/python-modules/treelog/default.nix
index 87ef2eca9f147..7739b8253bb42 100644
--- a/pkgs/development/python-modules/treelog/default.nix
+++ b/pkgs/development/python-modules/treelog/default.nix
@@ -1,6 +1,5 @@
 {
   lib,
-  python,
   buildPythonPackage,
   fetchPypi,
   typing-extensions,
@@ -20,10 +19,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ typing-extensions ];
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest
-  '';
-
   meta = with lib; {
     description = "Logging framework that organizes messages in a tree structure";
     homepage = "https://github.com/evalf/treelog";
diff --git a/pkgs/development/tools/air/default.nix b/pkgs/development/tools/air/default.nix
index 467f05150622c..edddbe3fe194a 100644
--- a/pkgs/development/tools/air/default.nix
+++ b/pkgs/development/tools/air/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "air";
-  version = "1.52.0";
+  version = "1.52.1";
 
   src = fetchFromGitHub {
     owner = "cosmtrek";
     repo = "air";
     rev = "v${version}";
-    hash = "sha256-7iqS8p53Pyk2WQVkbTVA7eJNnD2KvO41S+JJBTFOToQ=";
+    hash = "sha256-KTutLvcLH1dOsJFDaEU2c4wGbQyRE7qUHah4mEXCL08=";
   };
 
   vendorHash = "sha256-dSu00NAq6hEOdJxXp+12UaUq32z53Wzla3/u+2nxqPw=";
diff --git a/pkgs/development/tools/analysis/stylelint/default.nix b/pkgs/development/tools/analysis/stylelint/default.nix
index f60751bc33b15..c2a216afea9a9 100644
--- a/pkgs/development/tools/analysis/stylelint/default.nix
+++ b/pkgs/development/tools/analysis/stylelint/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "stylelint";
-  version = "16.6.0";
+  version = "16.6.1";
 
   src = fetchFromGitHub {
     owner = "stylelint";
     repo = "stylelint";
     rev = version;
-    hash = "sha256-yNEXtuemNzpy7gIlVUWM5crP0LpLHmiVYznomC5eGYs=";
+    hash = "sha256-wt9EVE3AAnOVJsDHG+qIXSqZ1I2MSITHjGpEGLPWOBY=";
   };
 
-  npmDepsHash = "sha256-e9helwaAiW3KtPHOWN7S0VxG87nKj6X4lTHTEdXoRZc=";
+  npmDepsHash = "sha256-+74oklREFCDEa8E0QDBlIzfW943AStJxfXkQDqRGFyo=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix
index 2021604637a19..99ce90cc77455 100644
--- a/pkgs/development/tools/backblaze-b2/default.nix
+++ b/pkgs/development/tools/backblaze-b2/default.nix
@@ -20,8 +20,9 @@ python3Packages.buildPythonApplication rec {
     hash = "sha256-/P1cgAC+a2YCcvbsysYdD+fEwibo+GyE0XY4A0+gMh4=";
   };
 
-  nativeBuildInputs = [
+  nativeBuildInputs = with python3Packages; [
     installShellFiles
+    argcomplete
   ];
 
   build-system = with python3Packages; [
@@ -77,8 +78,8 @@ python3Packages.buildPythonApplication rec {
   ''
   + ''
     installShellCompletion --cmd ${execName} \
-      --bash <(${python3Packages.argcomplete}/bin/register-python-argcomplete ${execName}) \
-      --zsh <(${python3Packages.argcomplete}/bin/register-python-argcomplete ${execName})
+      --bash <(register-python-argcomplete ${execName}) \
+      --zsh <(register-python-argcomplete ${execName})
   '';
 
   passthru.tests.version = (testers.testVersion {
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 3596f94b61de6..7d6f608ad8275 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -4,6 +4,7 @@
 , jre
 , autoPatchelfHook
 , zlib
+, ncurses
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -26,6 +27,11 @@ stdenv.mkDerivation (finalAttrs: {
     zlib
   ];
 
+  propagatedBuildInputs = [
+    # for infocmp
+    ncurses
+  ];
+
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/development/tools/cmake-format/default.nix b/pkgs/development/tools/cmake-format/default.nix
index 85efc5f19ccfd..281f36dfe0070 100644
--- a/pkgs/development/tools/cmake-format/default.nix
+++ b/pkgs/development/tools/cmake-format/default.nix
@@ -31,6 +31,7 @@ buildPythonApplication rec {
     homepage = "https://github.com/cheshirekow/cmake_format";
     license = licenses.gpl3;
     maintainers = [ maintainers.tobim ];
+    mainProgram = "cmake-format";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index f12baca266756..ea74f5eae4cb1 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.106.0";
+  version = "1.107.0";
 
   vendorHash = null;
 
@@ -31,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-Un1qBQbrgdudAfnviP8d6A7nNwi1ZGAFPN33NLKXNwI=";
+    sha256 = "sha256-svwFIM1lJI60bdmzZS/QZSzy30HtOf498GgnqLFGKAQ=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/go-minimock/default.nix b/pkgs/development/tools/go-minimock/default.nix
index efcece3e61c1e..2db9356c682f9 100644
--- a/pkgs/development/tools/go-minimock/default.nix
+++ b/pkgs/development/tools/go-minimock/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-minimock";
-  version = "3.3.9";
+  version = "3.3.10";
 
   src = fetchFromGitHub {
     owner = "gojuno";
     repo = "minimock";
     rev = "v${version}";
-    sha256 = "sha256-J/nZJrq7CKF5dYj096svBZf9SaD9ehIk/I293y7IQXc=";
+    sha256 = "sha256-BGG2gCHpPXRzjg9F/fjTbghHJngYnZAtwajBhgl3zt4=";
   };
 
   ldflags = [
diff --git a/pkgs/development/tools/language-servers/jq-lsp/default.nix b/pkgs/development/tools/language-servers/jq-lsp/default.nix
index 6952bea00d63e..ad43af981e394 100644
--- a/pkgs/development/tools/language-servers/jq-lsp/default.nix
+++ b/pkgs/development/tools/language-servers/jq-lsp/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "jq-lsp";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "wader";
     repo = "jq-lsp";
     rev = "refs/tags/v${version}";
-    hash = "sha256-a3ZqVWG7kjWQzL1efrKc4s4D14qD/+6JM26vaduxhWg=";
+    hash = "sha256-c7uK8WPM/h2PLVLFGeN66SztvzjBCgJje7L14+oErVU=";
   };
 
-  vendorHash = "sha256-bIe006I1ryvIJ4hC94Ux2YVdlmDIM4oZaK/qXafYYe0=";
+  vendorHash = "sha256-8sZGnoP7l09ZzLJqq8TUCquTOPF0qiwZcFhojUnnEIY=";
 
   # based on https://github.com/wader/jq-lsp/blob/master/.goreleaser.yml
   CGO_ENABLED = 0;
diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix
index 841e8480da1ab..d33a9c73c9c7f 100644
--- a/pkgs/development/tools/misc/premake/5.nix
+++ b/pkgs/development/tools/misc/premake/5.nix
@@ -19,7 +19,9 @@ stdenv.mkDerivation rec {
       --replace "ca = nil" "ca = '${cacert}/etc/ssl/certs/ca-bundle.crt'"
   '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace premake5.lua \
-      --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.5
+      --replace -mmacosx-version-min=10.4 -mmacosx-version-min=10.5 \
+      --replace-fail '"-arch arm64"' '""' \
+      --replace-fail '"-arch x86_64"' '""'
   '' + lib.optionalString stdenv.hostPlatform.isStatic ''
     substituteInPlace \
       binmodules/example/premake5.lua \
@@ -34,6 +36,10 @@ stdenv.mkDerivation rec {
        make -f Bootstrap.mak linux
     '';
 
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
+    "-Wno-error=implicit-function-declaration"
+  ]);
+
   installPhase = ''
     install -Dm755 bin/release/premake5 $out/bin/premake5
   '';
@@ -47,6 +53,5 @@ stdenv.mkDerivation rec {
     mainProgram = "premake5";
     license = lib.licenses.bsd3;
     platforms = lib.platforms.darwin ++ lib.platforms.linux;
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/development/tools/misc/seer/default.nix b/pkgs/development/tools/misc/seer/default.nix
index b797287a02dc2..abc718b15893b 100644
--- a/pkgs/development/tools/misc/seer/default.nix
+++ b/pkgs/development/tools/misc/seer/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, cmake, gdb, qtcharts, qtbase, wrapQtAppsHook }:
+{ lib, stdenv, fetchFromGitHub, cmake, gdb, kdePackages, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "seer";
-  version = "1.17";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "epasveer";
     repo = "seer";
     rev = "v${version}";
-    sha256 = "sha256-lM6w+QwIRYP/2JDx4yynJxhVXt8SouOWgsLGXSwolIw=";
+    sha256 = "sha256-ZvoRC34496fUldL3jOdxcO/TVmfPNmmr2GkJG4gJXzk=";
   };
 
   preConfigure = ''
@@ -17,11 +17,11 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     substituteInPlace src/{SeerGdbConfigPage,SeerMainWindow,SeerGdbWidget}.cpp \
-      --replace "/usr/bin/gdb" "${gdb}/bin/gdb"
+      --replace-fail "/usr/bin/gdb" "${gdb}/bin/gdb"
   '';
 
-  buildInputs = [ qtbase qtcharts ];
-  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  buildInputs = with kdePackages; [ qtbase qtcharts qtsvg ];
+  nativeBuildInputs = [ cmake kdePackages.wrapQtAppsHook ];
 
   meta = with lib; {
     description = "A Qt gui frontend for GDB";
diff --git a/pkgs/development/tools/misc/texinfo/4.13a.nix b/pkgs/development/tools/misc/texinfo/4.13a.nix
index b8da38ace6fb4..c6036c069d0ab 100644
--- a/pkgs/development/tools/misc/texinfo/4.13a.nix
+++ b/pkgs/development/tools/misc/texinfo/4.13a.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, texinfo, ncurses, xz }:
+{ stdenv, fetchurl, texinfo, ncurses, xz, lib }:
 
 stdenv.mkDerivation rec {
   pname = "texinfo";
@@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
   nativeBuildInputs = [ xz ];
 
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [
+    "-Wno-error=implicit-function-declaration"
+  ]);
+
   # Disabled because we don't have zdiff in the stdenv bootstrap.
   #doCheck = true;
 
diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix
index 146a2e0c3bbe6..6c2d5175c3f51 100644
--- a/pkgs/development/tools/open-policy-agent/default.nix
+++ b/pkgs/development/tools/open-policy-agent/default.nix
@@ -11,13 +11,13 @@ assert enableWasmEval && stdenv.isDarwin -> builtins.throw "building with wasm o
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.64.1";
+  version = "0.65.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    hash = "sha256-IIW6AXv5x+uQGCZulPPB7IhRlCq7Ww76qUhMHg3Fx7g=";
+    hash = "sha256-nf/xQ5744cplTNYkwaUbGv7Dw0BGf52dWTjnTVa9qL8=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/squawk/default.nix b/pkgs/development/tools/squawk/default.nix
index 7a70c6378d60d..c4cb979b909dd 100644
--- a/pkgs/development/tools/squawk/default.nix
+++ b/pkgs/development/tools/squawk/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "squawk";
-  version = "0.28.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "sbdchd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-RnY41G0ombqJewv+kxvg8AwQeRaVb+frZjmU/Cd28Jo=";
+    hash = "sha256-YKwoMZkr+UWri4WLm+a44DA8sygy67UkSm160OqDGus=";
   };
 
-  cargoHash = "sha256-YR2ZSwrCkX8eyHTj1Dtk9f01/y9fDtknouige68kS8I=";
+  cargoHash = "sha256-pX87ccAyMkR7qA/k3zLgqYEIhNLFa5yrrVZVtWUKfyc=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/web/edge-runtime/default.nix b/pkgs/development/web/edge-runtime/default.nix
index e5653777529ae..07d7cb59785da 100644
--- a/pkgs/development/web/edge-runtime/default.nix
+++ b/pkgs/development/web/edge-runtime/default.nix
@@ -11,7 +11,7 @@
 
 let
   pname = "edge-runtime";
-  version = "1.53.2";
+  version = "1.53.3";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage {
     owner = "supabase";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-CJT7q1QPpZScTo7MxCrK6dF5EvSVePMh7wgimVn6u/8=";
+    hash = "sha256-eGFLwypLgoTKUapG3kbI9J9jSyR39JtKgM0dwtkR9zk=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index 91038467914d9..962bc3e246bec 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -206,7 +206,7 @@ let
       homepage = "https://nodejs.org";
       changelog = "https://github.com/nodejs/node/releases/tag/v${version}";
       license = licenses.mit;
-      maintainers = with maintainers; [ goibhniu cko ];
+      maintainers = with maintainers; [ goibhniu cko aduh95 ];
       platforms = platforms.linux ++ platforms.darwin;
       mainProgram = "node";
       knownVulnerabilities = optional (versionOlder version "18") "This NodeJS release has reached its end of life. See https://nodejs.org/en/about/releases/.";
diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix
deleted file mode 100644
index bef9d1b42d32b..0000000000000
--- a/pkgs/games/adom/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU, libGL, alsa-lib, libpulseaudio
-, xorg }:
-
-let
-
-  inherit (xorg) libXext libX11;
-
-  lpath = "${stdenv.cc.cc.lib}/lib64:" + lib.makeLibraryPath [
-      zlib libmad libpng12 libcaca libXext libX11 libGLU libGL alsa-lib libpulseaudio];
-
-in
-stdenv.mkDerivation rec {
-  name = "adom-${version}-noteye";
-  version = "1.2.0_pre23";
-
-  src = fetchurl {
-    url = "http://ancardia.uk.to/download/adom_noteye_linux_ubuntu_64_${version}.tar.gz";
-    sha256 = "0sbn0csaqb9cqi0z5fdwvnymkf84g64csg0s9mm6fzh0sm2mi0hz";
-  };
-
-  buildCommand = ''
-    . $stdenv/setup
-
-    unpackPhase
-
-    mkdir -pv $out
-    cp -r -t $out adom/*
-
-    chmod u+w $out/lib
-    for l in $out/lib/*so* ; do
-      chmod u+w $l
-      ${patchelf}/bin/patchelf \
-        --set-rpath "$out/lib:${lpath}" \
-        $l
-    done
-
-    ${patchelf}/bin/patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "$out/lib:${lpath}" \
-      $out/adom
-
-    mkdir $out/bin
-    cat >$out/bin/adom <<EOF
-    #! ${stdenv.shell}
-    (cd $out; exec $out/adom ; )
-    EOF
-    chmod +x $out/bin/adom
-  '';
-
-  meta = with lib; {
-    description = "A rogue-like game with nice graphical interface";
-    homepage = "http://adom.de/";
-    license = licenses.unfreeRedistributable;
-    maintainers = [maintainers.smironov];
-
-    # Please, notify me (smironov) if you need the x86 version
-    platforms = ["x86_64-linux"];
-    broken = true; # at 2022-09-30, failed download.
-  };
-}
diff --git a/pkgs/kde/default.nix b/pkgs/kde/default.nix
index 10579baeca18e..f0938a1b6882b 100644
--- a/pkgs/kde/default.nix
+++ b/pkgs/kde/default.nix
@@ -69,6 +69,7 @@
       ktextaddons = self.callPackage ./misc/ktextaddons {};
       kunifiedpush = self.callPackage ./misc/kunifiedpush {};
       kweathercore = self.callPackage ./misc/kweathercore {};
+      marknote = self.callPackage ./misc/marknote {};
       mpvqt = self.callPackage ./misc/mpvqt {};
       oxygen-icons = self.callPackage ./misc/oxygen-icons {};
       phonon = self.callPackage ./misc/phonon {};
diff --git a/pkgs/kde/generated/sources/plasma.json b/pkgs/kde/generated/sources/plasma.json
index a33d287efa958..e44e3b0e2cc9f 100644
--- a/pkgs/kde/generated/sources/plasma.json
+++ b/pkgs/kde/generated/sources/plasma.json
@@ -255,9 +255,9 @@
     "hash": "sha256-XChjJlDcoDD9mpNl28Vv4ImObUhjwkYlrW5QPBzCPsY="
   },
   "plasma-workspace": {
-    "version": "6.0.5",
-    "url": "mirror://kde/stable/plasma/6.0.5/plasma-workspace-6.0.5.tar.xz",
-    "hash": "sha256-xU0tWt9esv7vcJK5IX8e1ZyY42n5tdexLddzZfTresk="
+    "version": "6.0.5.1",
+    "url": "mirror://kde/stable/plasma/6.0.5/plasma-workspace-6.0.5.1.tar.xz",
+    "hash": "sha256-iQf5/e1fxuXZU1X4NGMo3hjXyIUNq9kQnXVFjVru2BM="
   },
   "plasma-workspace-wallpapers": {
     "version": "6.0.5",
diff --git a/pkgs/kde/misc/marknote/default.nix b/pkgs/kde/misc/marknote/default.nix
new file mode 100644
index 0000000000000..b006ab1276c3a
--- /dev/null
+++ b/pkgs/kde/misc/marknote/default.nix
@@ -0,0 +1,29 @@
+{
+  lib,
+  mkKdeDerivation,
+  fetchurl,
+  kcrash,
+  qtdeclarative,
+  qtsvg,
+  qtwayland,
+  qqc2-desktop-style
+}:
+mkKdeDerivation rec {
+  pname = "marknote";
+  version = "1.2.1";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/marknote/marknote-${version}.tar.xz";
+    hash = "sha256-HzImkm8l8Rqiuyq2QezfdqJ1hxIdLZhiIGVM9xzpyaA=";
+  };
+
+  extraBuildInputs = [
+    kcrash
+    qtdeclarative
+    qtsvg
+    qtwayland
+    qqc2-desktop-style
+  ];
+
+  meta.license = [ lib.licenses.gpl2Plus ];
+}
diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libcxxrt.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libcxxrt.nix
new file mode 100644
index 0000000000000..0640d2292d491
--- /dev/null
+++ b/pkgs/os-specific/bsd/freebsd/pkgs/libcxxrt.nix
@@ -0,0 +1,11 @@
+{ mkDerivation, ... }:
+# this package is quite different from stock libcxxrt.
+# as of FreeBSD 14.0, it is vendored from APPROXIMATELY libcxxrt
+# 5d8a15823a103bbc27f1bfdcf2b5aa008fab57dd, though the vendoring mechanism is
+# extremely ad-hoc. Moreover, the build mechanism is totally custom, and adds
+# symbol versions not specified on any version of libcxxrt.
+mkDerivation {
+  pname = "libcxxrt";
+  path = "lib/libcxxrt";
+  extraPaths = [ "contrib/libcxxrt" ];
+}
diff --git a/pkgs/os-specific/bsd/netbsd/pkgs/make-rules.nix b/pkgs/os-specific/bsd/netbsd/pkgs/make-rules.nix
index 8528606165468..66086c01c233f 100644
--- a/pkgs/os-specific/bsd/netbsd/pkgs/make-rules.nix
+++ b/pkgs/os-specific/bsd/netbsd/pkgs/make-rules.nix
@@ -1,7 +1,6 @@
 {
   lib,
   mkDerivation,
-  fetchNetBSD,
   stdenv,
   bsdSetupHook,
   netbsdSetupHook,
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index c34268fd41927..3eae8749c4e4d 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -104,7 +104,6 @@ let
     };
     "osx-10.9.5" = {
       launchd            = "842.92.1";
-      libauto            = "185.5";
       Libc               = "997.90.3"; # We use this, but not from here
       Libsystem          = "1197.1.1";
       Security           = "55471.14.18";
@@ -259,7 +258,6 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
     eap8021x        = applePackage "eap8021x"          "osx-10.11.6"     "sha256-54P3+YhVhOanoZQoqswDnr/GbR/AdEERse135nyuIQo=" {};
     IOKit           = applePackage "IOKit"             "osx-10.11.6"     "" { inherit IOKitSrcs; };
     launchd         = applePackage "launchd"           "osx-10.9.5"      "sha256-dmV0UK7hG9wvTr+F4Z47nCFXcVZCV+cQ46WbE0DBtJs=" {};
-    libauto         = applePackage "libauto"           "osx-10.9.5"      "sha256-GnRcKq8jRbEsI/PSDphwUjWtpEIEcnLlQL9yxYLgSsU=" {};
     Libc            = applePackage "Libc"              "osx-10.12.6"     "sha256-LSsL7S3KFgGU9qjK4atu/4wBh8ftgfsk6JOvg+ZTZOY=" {
       Libc_10-9 = fetchFromGitHub {
         owner  = "apple-oss-distributions";
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h b/pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h
deleted file mode 100644
index bf367a3cabb3f..0000000000000
--- a/pkgs/os-specific/darwin/apple-source-releases/libauto/auto_dtrace.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Generated by dtrace(1M).
- */
-
-#ifndef _AUTO_DTRACE_H
-#define _AUTO_DTRACE_H
-
-#include <unistd.h>
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-#define GARBAGE_COLLECTION_STABILITY "___dtrace_stability$garbage_collection$v1$1_1_0_1_1_0_1_1_0_1_1_0_1_1_0"
-
-#define GARBAGE_COLLECTION_TYPEDEFS "___dtrace_typedefs$garbage_collection$v2$6175746f5f636f6c6c656374696f6e5f70686173655f74$6175746f5f636f6c6c656374696f6e5f747970655f74$6d616c6c6f635f7a6f6e655f74"
-
-#if !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED
-
-#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY(arg0, arg1) \
-do { \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
-  __dtrace_probe$garbage_collection$auto_block_lost_thread_locality$v1$766f6964202a$75696e7436345f74(arg0, arg1); \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
-} while (0)
-#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY_ENABLED() \
-  ({ int _r = __dtrace_isenabled$garbage_collection$auto_block_lost_thread_locality$v1(); \
-    __asm__ volatile(""); \
-    _r; })
-#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION(arg0) \
-do { \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
-  __dtrace_probe$garbage_collection$auto_refcount_one_allocation$v1$75696e7436345f74(arg0); \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
-} while (0)
-#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION_ENABLED() \
-  ({ int _r = __dtrace_isenabled$garbage_collection$auto_refcount_one_allocation$v1(); \
-    __asm__ volatile(""); \
-    _r; })
-#define GARBAGE_COLLECTION_COLLECTION_BEGIN(arg0, arg1) \
-do { \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
-  __dtrace_probe$garbage_collection$collection_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f747970655f74(arg0, arg1); \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
-} while (0)
-#define GARBAGE_COLLECTION_COLLECTION_BEGIN_ENABLED() \
-  ({ int _r = __dtrace_isenabled$garbage_collection$collection_begin$v1(); \
-    __asm__ volatile(""); \
-    _r; })
-#define GARBAGE_COLLECTION_COLLECTION_END(arg0, arg1, arg2, arg3, arg4) \
-do { \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
-  __dtrace_probe$garbage_collection$collection_end$v1$6d616c6c6f635f7a6f6e655f74202a$75696e7436345f74$75696e7436345f74$75696e7436345f74$75696e7436345f74(arg0, arg1, arg2, arg3, arg4); \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
-} while (0)
-#define GARBAGE_COLLECTION_COLLECTION_END_ENABLED() \
-  ({ int _r = __dtrace_isenabled$garbage_collection$collection_end$v1(); \
-    __asm__ volatile(""); \
-    _r; })
-#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN(arg0, arg1) \
-do { \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
-  __dtrace_probe$garbage_collection$collection_phase_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74(arg0, arg1); \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
-} while (0)
-#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN_ENABLED() \
-  ({ int _r = __dtrace_isenabled$garbage_collection$collection_phase_begin$v1(); \
-    __asm__ volatile(""); \
-    _r; })
-#define GARBAGE_COLLECTION_COLLECTION_PHASE_END(arg0, arg1, arg2, arg3) \
-do { \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_TYPEDEFS); \
-  __dtrace_probe$garbage_collection$collection_phase_end$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74$75696e7436345f74$75696e7436345f74(arg0, arg1, arg2, arg3); \
-  __asm__ volatile(".reference " GARBAGE_COLLECTION_STABILITY); \
-} while (0)
-#define GARBAGE_COLLECTION_COLLECTION_PHASE_END_ENABLED() \
-  ({ int _r = __dtrace_isenabled$garbage_collection$collection_phase_end$v1(); \
-    __asm__ volatile(""); \
-    _r; })
-
-
-extern void __dtrace_probe$garbage_collection$auto_block_lost_thread_locality$v1$766f6964202a$75696e7436345f74(const void *, uint64_t);
-extern int __dtrace_isenabled$garbage_collection$auto_block_lost_thread_locality$v1(void);
-extern void __dtrace_probe$garbage_collection$auto_refcount_one_allocation$v1$75696e7436345f74(uint64_t);
-extern int __dtrace_isenabled$garbage_collection$auto_refcount_one_allocation$v1(void);
-extern void __dtrace_probe$garbage_collection$collection_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f747970655f74(const malloc_zone_t *, auto_collection_type_t);
-extern int __dtrace_isenabled$garbage_collection$collection_begin$v1(void);
-extern void __dtrace_probe$garbage_collection$collection_end$v1$6d616c6c6f635f7a6f6e655f74202a$75696e7436345f74$75696e7436345f74$75696e7436345f74$75696e7436345f74(const malloc_zone_t *, uint64_t, uint64_t, uint64_t, uint64_t);
-extern int __dtrace_isenabled$garbage_collection$collection_end$v1(void);
-extern void __dtrace_probe$garbage_collection$collection_phase_begin$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74(const malloc_zone_t *, auto_collection_phase_t);
-extern int __dtrace_isenabled$garbage_collection$collection_phase_begin$v1(void);
-extern void __dtrace_probe$garbage_collection$collection_phase_end$v1$6d616c6c6f635f7a6f6e655f74202a$6175746f5f636f6c6c656374696f6e5f70686173655f74$75696e7436345f74$75696e7436345f74(const malloc_zone_t *, auto_collection_phase_t, uint64_t, uint64_t);
-extern int __dtrace_isenabled$garbage_collection$collection_phase_end$v1(void);
-
-#else
-
-#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY(arg0, arg1) \
-do { \
-  } while (0)
-#define GARBAGE_COLLECTION_AUTO_BLOCK_LOST_THREAD_LOCALITY_ENABLED() (0)
-#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION(arg0) \
-do { \
-  } while (0)
-#define GARBAGE_COLLECTION_AUTO_REFCOUNT_ONE_ALLOCATION_ENABLED() (0)
-#define GARBAGE_COLLECTION_COLLECTION_BEGIN(arg0, arg1) \
-do { \
-  } while (0)
-#define GARBAGE_COLLECTION_COLLECTION_BEGIN_ENABLED() (0)
-#define GARBAGE_COLLECTION_COLLECTION_END(arg0, arg1, arg2, arg3, arg4) \
-do { \
-  } while (0)
-#define GARBAGE_COLLECTION_COLLECTION_END_ENABLED() (0)
-#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN(arg0, arg1) \
-do { \
-  } while (0)
-#define GARBAGE_COLLECTION_COLLECTION_PHASE_BEGIN_ENABLED() (0)
-#define GARBAGE_COLLECTION_COLLECTION_PHASE_END(arg0, arg1, arg2, arg3) \
-do { \
-  } while (0)
-#define GARBAGE_COLLECTION_COLLECTION_PHASE_END_ENABLED() (0)
-
-#endif /* !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED */
-
-
-#ifdef  __cplusplus
-}
-#endif
-
-#endif  /* _AUTO_DTRACE_H */
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix
deleted file mode 100644
index 8a551dcc892ca..0000000000000
--- a/pkgs/os-specific/darwin/apple-source-releases/libauto/default.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ lib, stdenv, appleDerivation, libdispatch, Libsystem }:
-
-appleDerivation {
-  # these are included in the pure libc
-  buildInputs = lib.optionals stdenv.cc.nativeLibc [ libdispatch Libsystem ];
-
-  buildPhase = ''
-    cp ${./auto_dtrace.h} ./auto_dtrace.h
-
-    substituteInPlace ThreadLocalCollector.h --replace SubZone.h Subzone.h
-
-    substituteInPlace auto_zone.cpp \
-      --replace "#include <msgtracer_client.h>" ''$'#include <asl.h>\nstatic void msgtracer_log_with_keys(...) { };'
-
-    substituteInPlace Definitions.h \
-      --replace "#include <System/pthread_machdep.h>" "" \
-      --replace 'void * const, void * const' 'void * const, void *'
-
-    # getspecific_direct is more efficient, but this should be equivalent...
-    substituteInPlace Zone.h \
-      --replace "_pthread_getspecific_direct" "pthread_getspecific" \
-      --replace "_pthread_has_direct_tsd()" "0" \
-      --replace "__PTK_FRAMEWORK_GC_KEY0" "110" \
-      --replace "__PTK_FRAMEWORK_GC_KEY1" "111" \
-      --replace "__PTK_FRAMEWORK_GC_KEY2" "112" \
-      --replace "__PTK_FRAMEWORK_GC_KEY3" "113" \
-      --replace "__PTK_FRAMEWORK_GC_KEY4" "114" \
-      --replace "__PTK_FRAMEWORK_GC_KEY5" "115" \
-      --replace "__PTK_FRAMEWORK_GC_KEY6" "116" \
-      --replace "__PTK_FRAMEWORK_GC_KEY7" "117" \
-      --replace "__PTK_FRAMEWORK_GC_KEY8" "118" \
-      --replace "__PTK_FRAMEWORK_GC_KEY9" "119"
-
-    substituteInPlace auto_zone.cpp \
-      --replace "__PTK_FRAMEWORK_GC_KEY9" "119" \
-      --replace "__PTK_FRAMEWORK_GC_KEY0" "110" \
-
-    substituteInPlace Zone.cpp \
-      --replace "_pthread_getspecific_direct" "pthread_getspecific" \
-      --replace "__PTK_FRAMEWORK_GC_KEY9" "119" \
-      --replace "__PTK_FRAMEWORK_GC_KEY0" "110" \
-      --replace "__PTK_LIBDISPATCH_KEY0"  "20" \
-      --replace "struct auto_zone_cursor {" ''$'extern "C" int pthread_key_init_np(int, void (*)(void *));\nstruct auto_zone_cursor {'
-
-    substituteInPlace auto_impl_utilities.c \
-      --replace "#   include <CrashReporterClient.h>" "void CRSetCrashLogMessage(void *msg) { };"
-
-    c++ -I. -O3 -c -Wno-c++11-extensions auto_zone.cpp
-    cc  -I. -O3 -Iauto_tester -c auto_impl_utilities.c
-    c++ -I. -O3 -c auto_weak.cpp
-    c++ -I. -O3 -c Admin.cpp
-    c++ -I. -O3 -c Bitmap.cpp
-    c++ -I. -O3 -c Definitions.cpp
-    c++ -I. -O3 -c Environment.cpp
-    c++ -I. -O3 -c Large.cpp
-    c++ -I. -O3 -c Region.cpp
-    c++ -I. -O3 -c Subzone.cpp
-    c++ -I. -O3 -c WriteBarrier.cpp
-    c++ -I. -O3 -c Zone.cpp
-    c++ -I. -O3 -c Thread.cpp
-    c++ -I. -O3 -c InUseEnumerator.cpp
-    c++ -I. -O3 -c auto_gdb_interface.cpp
-    c++ -I. -O3 -c PointerHash.cpp
-    c++ -I. -O3 -c ThreadLocalCollector.cpp
-    c++ -I. -O3 -c ZoneDump.cpp
-    c++ -I. -O3 -c ZoneCollectors.cpp
-    c++ -I. -O3 -c SubzonePartition.cpp
-    c++ -I. -O3 -c ZoneCollectionChecking.cpp
-    c++ -I. -O3 -c ZoneCompaction.cpp
-    c++ -I. -O3 -c BlockRef.cpp
-
-    c++ -Wl,-no_dtrace_dof --stdlib=libc++ -dynamiclib -install_name $out/lib/libauto.dylib -o libauto.dylib *.o
-  '';
-
-  installPhase = ''
-    mkdir -p $out/lib $out/include
-    cp auto_zone.h auto_weak.h auto_tester/auto_tester.h auto_gdb_interface.h $out/include
-    cp libauto.dylib $out/lib
-  '';
-
-  meta = {
-    # libauto is only used by objc4/pure.nix , but objc4 is now using the impure approach, so we don't bother to fix this.
-    broken = true;
-    platforms = lib.platforms.darwin;
-  };
-}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix b/pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix
deleted file mode 100644
index 6a0c819a0a31a..0000000000000
--- a/pkgs/os-specific/darwin/apple-source-releases/objc4/pure.nix
+++ /dev/null
@@ -1,118 +0,0 @@
-{ stdenv, fetchapplesource, libauto, launchd, libc_old, libunwind }:
-
-stdenv.mkDerivation rec {
-  version = "551.1";
-  pname = "objc4";
-
-  src = fetchapplesource {
-    inherit version;
-    name   = "objc4";
-    sha256 = "1jrdb6yyb5jwwj27c1r0nr2y2ihqjln8ynj61mpkvp144c1cm5bg";
-  };
-
-  patches = [ ./spinlocks.patch ];
-
-  buildInputs = [ libauto launchd libc_old libunwind ];
-
-  buildPhase = ''
-    cp ${./objc-probes.h} runtime/objc-probes.h
-
-    mkdir -p build/include/objc
-
-    cp runtime/hashtable.h               build/include/objc/hashtable.h
-    cp runtime/OldClasses.subproj/List.h build/include/objc/List.h
-    cp runtime/hashtable2.h              build/include/objc/hashtable2.h
-    cp runtime/message.h                 build/include/objc/message.h
-    cp runtime/objc-api.h                build/include/objc/objc-api.h
-    cp runtime/objc-auto.h               build/include/objc/objc-auto.h
-    cp runtime/objc-class.h              build/include/objc/objc-class.h
-    cp runtime/objc-exception.h          build/include/objc/objc-exception.h
-    cp runtime/objc-load.h               build/include/objc/objc-load.h
-    cp runtime/objc-sync.h               build/include/objc/objc-sync.h
-    cp runtime/objc.h                    build/include/objc/objc.h
-    cp runtime/objc-runtime.h            build/include/objc/objc-runtime.h
-    cp runtime/Object.h                  build/include/objc/Object.h
-    cp runtime/Protocol.h                build/include/objc/Protocol.h
-    cp runtime/runtime.h                 build/include/objc/runtime.h
-    cp runtime/NSObject.h                build/include/objc/NSObject.h
-    cp runtime/NSObjCRuntime.h           build/include/objc/NSObjCRuntime.h
-
-    # These would normally be in local/include but we don't do local, so they're
-    # going in with the others
-    cp runtime/maptable.h                build/include/objc/maptable.h
-    cp runtime/objc-abi.h                build/include/objc/objc-abi.h
-    cp runtime/objc-auto-dump.h          build/include/objc/objc-auto-dump.h
-    cp runtime/objc-gdb.h                build/include/objc/objc-gdb.h
-    cp runtime/objc-internal.h           build/include/objc/objc-internal.h
-
-    cc -o markgc markgc.c
-
-    FLAGS="-Wno-deprecated-register -Wno-unknown-pragmas -Wno-deprecated-objc-isa-usage -Wno-invalid-offsetof -Wno-inline-new-delete  -Wno-cast-of-sel-type -Iruntime -Ibuild/include -Iruntime/Accessors.subproj -D_LIBCPP_VISIBLE= -DOS_OBJECT_USE_OBJC=0 -DNDEBUG=1"
-
-    cc -std=gnu++11 $FLAGS -c runtime/hashtable2.mm
-    cc -std=gnu++11 $FLAGS -c runtime/maptable.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-auto.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-cache.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-class-old.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-class.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-errors.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-exception.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-file.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-initialize.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-layout.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-load.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-loadmethod.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-lockdebug.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-runtime-new.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-runtime-old.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-runtime.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-sel-set.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-sel.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-sync.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-typeencoding.mm
-    cc -std=gnu++11 $FLAGS -c runtime/Object.mm
-    cc -std=gnu++11 $FLAGS -c runtime/Protocol.mm
-
-    cc -std=gnu++11 $FLAGS -c runtime/objc-references.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-os.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-auto-dump.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-file-old.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-block-trampolines.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-externalref.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-weak.mm
-    cc -std=gnu++11 $FLAGS -c runtime/NSObject.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-opt.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-cache-old.mm
-    cc -std=gnu++11 $FLAGS -c runtime/objc-sel-old.mm
-
-    cc -std=gnu++11 $FLAGS -c runtime/Accessors.subproj/objc-accessors.mm
-
-    cc $FLAGS -c runtime/objc-sel-table.s
-
-    cc $FLAGS -c runtime/OldClasses.subproj/List.m
-    cc $FLAGS -c runtime/Messengers.subproj/objc-msg-arm.s
-    cc $FLAGS -c runtime/Messengers.subproj/objc-msg-i386.s
-    cc $FLAGS -c runtime/Messengers.subproj/objc-msg-x86_64.s
-    cc $FLAGS -c runtime/Messengers.subproj/objc-msg-simulator-i386.s
-
-    cc $FLAGS -c runtime/a1a2-blocktramps-i386.s
-    cc $FLAGS -c runtime/a2a3-blocktramps-i386.s
-
-    cc $FLAGS -c runtime/a1a2-blocktramps-x86_64.s
-    cc $FLAGS -c runtime/a2a3-blocktramps-x86_64.s
-
-    cc $FLAGS -c runtime/a1a2-blocktramps-arm.s
-    cc $FLAGS -c runtime/a2a3-blocktramps-arm.s
-
-    c++ -Wl,-no_dtrace_dof --stdlib=libc++ -dynamiclib -lauto -install_name $out/lib/libobjc.dylib -o libobjc.dylib *.o
-
-    ./markgc -p libobjc.dylib
-  '';
-
-  installPhase = ''
-    mkdir -p $out/include $out/lib
-
-    mv build/include/objc $out/include
-    mv libobjc.dylib $out/lib
-  '';
-}
diff --git a/pkgs/os-specific/linux/kernel/htmldocs.nix b/pkgs/os-specific/linux/kernel/htmldocs.nix
index eb22645d2e9e7..b811cf12bb01d 100644
--- a/pkgs/os-specific/linux/kernel/htmldocs.nix
+++ b/pkgs/os-specific/linux/kernel/htmldocs.nix
@@ -7,7 +7,6 @@
 , perl
 , python3
 , which
-, fetchpatch
 }:
 
 stdenv.mkDerivation {
@@ -15,16 +14,6 @@ stdenv.mkDerivation {
 
   inherit (linux_latest) version src;
 
-  patches = [
-    # docutils 0.21 has removed nodes.reprunicode
-    # fixes the `AttributeError` thrown when building docs.
-    (fetchpatch {
-      name = "docutils_fix.patch";
-      url = "https://lore.kernel.org/linux-doc/faf5fa45-2a9d-4573-9d2e-3930bdc1ed65@gmail.com/raw";
-      hash = "sha256-JuV1B/8iDysbH0tl+wr/rdXvoC34uUq25ejMFmD0hio=";
-    })
-  ];
-
   postPatch = ''
     patchShebangs \
       Documentation/sphinx/parse-headers.pl \
diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index 2d6bf9b33baec..38e82c9838007 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -28,11 +28,11 @@
         "hash": "sha256:1qbc8dqmk2xs1cz968rysw5xvhq3lj8g0pxp48fr2qbzy3m29a5a"
     },
     "6.8": {
-        "version": "6.8.11",
-        "hash": "sha256:1di8kr596sf68sm61kp5rz6bn3sb0q5ag1qc5hm8f9dpyq4wv3dp"
+        "version": "6.8.12",
+        "hash": "sha256:0fb0m0fv4521g63gq04d7lm6hy8169s1rykiav5bkd99s9b1kcqr"
     },
     "6.9": {
-        "version": "6.9.2",
-        "hash": "sha256:1yg5j284y1gz7zwxjz2abvlnas259m1y1vzd9lmcqqar5kgmnv6l"
+        "version": "6.9.3",
+        "hash": "sha256:1bnzxparybwh320019pr2msaapas41dhjmvg4gy791rn05jc88f3"
     }
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index fcf45f40531da..bc4cd53b1394b 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -62,11 +62,11 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "550.40.61";
+    version = "550.40.63";
     persistencedVersion = "550.54.14";
     settingsVersion = "550.54.14";
-    sha256_64bit = "sha256-JNVeA5/u5/ictU3QpPnbXIHDKOtwou8wGmMt3We4FJY=";
-    openSha256 = "sha256-kWGTj3eAvwLTJ7zgzRFvyhXmfpxQbUMmyxWxER9i9m0=";
+    sha256_64bit = "sha256-YvlNgxcFsCl3DzHFpKe+VXzfc0QIgf3N/hTKsWZ7gDE=";
+    openSha256 = "sha256-mITh1kdSPtB+jP6TDHw04EN7gRx48KGbzbLO0wTSS/U=";
     settingsSha256 = "sha256-m2rNASJp0i0Ez2OuqL+JpgEF0Yd8sYVCyrOoo/ln2a4=";
     persistencedSha256 = "sha256-XaPN8jVTjdag9frLPgBtqvO/goB5zxeGzaTU0CdL6C4=";
     url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux";
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 8d614c7835f70..1102024812a86 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -18,11 +18,11 @@ lua = luajitPackages;
 
 unwrapped = stdenv.mkDerivation rec {
   pname = "knot-resolver";
-  version = "5.7.2";
+  version = "5.7.3";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz";
-    hash = "sha256-X2oic5D81MLQqAKKZStVqdhj7HvgEpj+A43x0nP7mg8=";
+    hash = "sha256-78bkX/xe/ZiSHqXNP+zhZqGlzp6qEtQbRiaJZDU9vts=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/servers/dns/pdns/default.nix b/pkgs/servers/dns/pdns/default.nix
index dfa4a3e617328..1037c88229aa9 100644
--- a/pkgs/servers/dns/pdns/default.nix
+++ b/pkgs/servers/dns/pdns/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pdns";
-  version = "4.9.0";
+  version = "4.9.1";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-${finalAttrs.version}.tar.bz2";
-    hash = "sha256-/h1UM8iERu1w2TFgXG7Dd9qZg5xOFRuQtxqiEb1u6pI=";
+    hash = "sha256-MNlnG48IR3Tby6IPWlOjE00IIqsu3D75aNoDDmMN0Jo=";
   };
   # redact configure flags from version output to reduce closure size
   patches = [ ./version.patch ];
diff --git a/pkgs/servers/gemini/stargazer/default.nix b/pkgs/servers/gemini/stargazer/default.nix
index a77f64a75a9da..e6f2e63430f8b 100644
--- a/pkgs/servers/gemini/stargazer/default.nix
+++ b/pkgs/servers/gemini/stargazer/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stargazer";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchFromSourcehut {
     owner = "~zethra";
     repo = "stargazer";
     rev = version;
-    hash = "sha256-c0gKvVaMiUOGHlPmtaW6it8J9MusQY7BA/5F9I3ysMc=";
+    hash = "sha256-pYize+MGChi1GxCNaQsNlHELtsPUvfFZMPl0Q+pOTp0=";
   };
 
-  cargoHash = "sha256-8VrEZZNSFLAjUagsiRApvjiXusBHLLn1O/+QKtQY4wg=";
+  cargoHash = "sha256-KmVNRVyKD5q4/vWtnHM4nfiGg+uZvRl+l+Zk5hjWg9E=";
 
   doCheck = false; # Uses external testing framework that requires network
 
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index d122c85fc75ef..12ed4a7a36cdd 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -267,6 +267,16 @@ let
         patches = [];
       });
 
+      pymelcloud = super.pymelcloud.overridePythonAttrs (oldAttrs: {
+        version = "2.5.9";
+        src = fetchFromGitHub {
+          owner = "vilppuvuorinen";
+          repo = "pymelcloud";
+          rev = "33a827b6cd0b34f276790faa49bfd0994bb7c2e4"; # 2.5.x branch
+          sha256 = "sha256-Q3FIo9YJwtWPHfukEBjBANUQ1N1vr/DMnl1dgiN7vYg=";
+        };
+      });
+
       notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec {
         version = "0.1.5";
         format = "setuptools";
diff --git a/pkgs/servers/home-automation/evcc/default.nix b/pkgs/servers/home-automation/evcc/default.nix
index e4696c138aa5b..d6c8fcb836888 100644
--- a/pkgs/servers/home-automation/evcc/default.nix
+++ b/pkgs/servers/home-automation/evcc/default.nix
@@ -21,13 +21,13 @@ in
 
 buildGoModule rec {
   pname = "evcc";
-  version = "0.126.4";
+  version = "0.126.5";
 
   src = fetchFromGitHub {
     owner = "evcc-io";
     repo = "evcc";
     rev = version;
-    hash = "sha256-GDAj85zIrhu6XsY/XV1wKPtHNkj3bm3ooDcQaQeMHW0=";
+    hash = "sha256-hw8DImLXFwTEAyPEFUVnyNPXrQTfEk7OOk+w/izJz9s=";
   };
 
   vendorHash = "sha256-gfKJiZ7wSFWEEB/UCAbH18jdZdgG/58q3Yj0FQqMH8E=";
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index ddb9c14740bb0..669eb65323642 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix args {
-  version = "1.25.4";
-  hash = "sha256-dgcpkBrLqlF5luaB7m6iWQMpheN8J2i+74DfOod97tk=";
+  version = "1.27.0";
+  hash = "sha256-tyMOPPh+qi1LC8VqrckgqWDHhzuZkaG2b/zAj8ZQEpw=";
 }
diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix
index cc6a521af6626..3a6a049c12069 100644
--- a/pkgs/servers/http/nginx/stable.nix
+++ b/pkgs/servers/http/nginx/stable.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix args {
-  version = "1.26.0";
-  hash = "sha256-0ubIQ51sbbUBXY6qskcKtSrvhae/NjGCh5l34IQ3BJc=";
+  version = "1.26.1";
+  hash = "sha256-+Rh0aP8usVkmC/1Thnwl/44zRyYjes8ie56HDlPT42s=";
 }
diff --git a/pkgs/servers/http/pomerium/external-envoy.diff b/pkgs/servers/http/pomerium/0001-envoy-allow-specification-of-external-binary.patch
index 49f4985ad77c3..d595dc6ccae29 100644
--- a/pkgs/servers/http/pomerium/external-envoy.diff
+++ b/pkgs/servers/http/pomerium/0001-envoy-allow-specification-of-external-binary.patch
@@ -1,5 +1,14 @@
+From fa51c56049a99ef17d86b0327bcf66f47338da45 Mon Sep 17 00:00:00 2001
+From: Morgan Helton <mhelton@gmail.com>
+Date: Sun, 26 May 2024 12:17:01 -0500
+Subject: [PATCH] envoy: allow specification of external binary
+
+---
+ pkg/envoy/envoy.go | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
 diff --git a/pkg/envoy/envoy.go b/pkg/envoy/envoy.go
-index e32cfc29..9d32c057 100644
+index 62f2d34c..879001cd 100644
 --- a/pkg/envoy/envoy.go
 +++ b/pkg/envoy/envoy.go
 @@ -8,9 +8,9 @@ import (
@@ -13,7 +22,7 @@ index e32cfc29..9d32c057 100644
  	"path/filepath"
  	"regexp"
  	"strconv"
-@@ -36,8 +36,12 @@ import (
+@@ -34,8 +34,12 @@ import (
  
  const (
  	configFileName = "envoy-config.yaml"
@@ -25,15 +34,18 @@ index e32cfc29..9d32c057 100644
 +
  type serverOptions struct {
  	services string
- 	logLevel string
-@@ -60,13 +64,16 @@ type Server struct {
+ 	logLevel config.LogLevel
+@@ -58,17 +62,16 @@ type Server struct {
  
  // NewServer creates a new server with traffic routed by envoy.
  func NewServer(ctx context.Context, src config.Source, builder *envoyconfig.Builder) (*Server, error) {
--	envoyPath, err := Extract()
+-	if err := preserveRlimitNofile(); err != nil {
+-		log.Debug(ctx).Err(err).Msg("couldn't preserve RLIMIT_NOFILE before starting Envoy")
+-	}
 +	envoyPath := OverrideEnvoyPath
 +	wd := filepath.Join(os.TempDir(), workingDirectoryName)
-+
+ 
+-	envoyPath, err := Extract()
 +	err := os.MkdirAll(wd, embeddedEnvoyPermissions)
  	if err != nil {
 -		return nil, fmt.Errorf("extracting envoy: %w", err)
@@ -46,3 +58,6 @@ index e32cfc29..9d32c057 100644
  		builder:   builder,
  		grpcPort:  src.GetConfig().GRPCPort,
  		httpPort:  src.GetConfig().HTTPPort,
+-- 
+2.44.1
+
diff --git a/pkgs/servers/http/pomerium/default.nix b/pkgs/servers/http/pomerium/default.nix
index 6fe47f9853929..bd8873ce100e7 100644
--- a/pkgs/servers/http/pomerium/default.nix
+++ b/pkgs/servers/http/pomerium/default.nix
@@ -1,6 +1,5 @@
 { buildGoModule
 , fetchFromGitHub
-, callPackage
 , lib
 , envoy
 , mkYarnPackage
@@ -14,15 +13,15 @@ let
 in
 buildGoModule rec {
   pname = "pomerium";
-  version = "0.25.2";
+  version = "0.26.0";
   src = fetchFromGitHub {
     owner = "pomerium";
     repo = "pomerium";
     rev = "v${version}";
-    hash = "sha256-JateIiVao5IiPXmphA5+PlzB2XtP6zRR4rURqXSqJ6Q=";
+    hash = "sha256-AkpfLKPirl8fz4s0hQI15aSgI2PZFPakAzC+j66MVY0=";
   };
 
-  vendorHash = "sha256-GdeZkKkENacc11FmEAFUfX9efInfhpv2Lz0/3CtixFQ=";
+  vendorHash = "sha256-kabWL7yqNkI2JRPmVv0tp0nIfVDwT9QbbDIbdM8sL5s=";
 
   ui = mkYarnPackage {
     inherit version;
@@ -54,7 +53,9 @@ buildGoModule rec {
   ];
 
   # patch pomerium to allow use of external envoy
-  patches = [ ./external-envoy.diff ];
+  patches = [
+    ./0001-envoy-allow-specification-of-external-binary.patch
+  ];
 
   ldflags = let
     # Set a variety of useful meta variables for stamping the build with.
diff --git a/pkgs/servers/http/pomerium/package.json b/pkgs/servers/http/pomerium/package.json
index 4f81e118d85a5..59e65c4fcbaa6 100644
--- a/pkgs/servers/http/pomerium/package.json
+++ b/pkgs/servers/http/pomerium/package.json
@@ -29,21 +29,21 @@
     "@fontsource/dm-sans": "^5.0.13",
     "@mui/icons-material": "^5.14.9",
     "@mui/material": "^5.4.0",
-    "luxon": "^2.5.2",
+    "lodash": "^4.17.21",
     "markdown-to-jsx": "^7.2.1",
     "react": "^17.0.2",
     "react-dom": "^17.0.2",
     "react-feather": "^2.0.10"
   },
   "devDependencies": {
-    "@trivago/prettier-plugin-sort-imports": "2.0.4",
-    "@types/luxon": "^2.0.9",
-    "@types/node": "^17.0.14",
+    "@trivago/prettier-plugin-sort-imports": "^4.2.1",
+    "@types/lodash": "^4.17.1",
+    "@types/node": "^20.12.11",
     "@types/react": "^17.0.34",
     "@types/react-dom": "^17.0.11",
     "@typescript-eslint/eslint-plugin": "^5.10.2",
     "@typescript-eslint/parser": "^5.59.11",
-    "esbuild": "^0.13.12",
+    "esbuild": "^0.21.1",
     "eslint": "7.32.0",
     "eslint-config-prettier": "^8.3.0",
     "eslint-plugin-react": "^7.28.0",
diff --git a/pkgs/servers/http/pomerium/yarn-hash b/pkgs/servers/http/pomerium/yarn-hash
index 71760c6384c7f..a631334cc391c 100644
--- a/pkgs/servers/http/pomerium/yarn-hash
+++ b/pkgs/servers/http/pomerium/yarn-hash
@@ -1 +1 @@
-1cjwkdvg9rfp55674gns44xwi32ws8z57sa4ffb0zzgdgy2yx2zm
+1xkn1zbhg4q35azlhcgc1bk1sykrawngq1fcb5r5ghgh3m2kmz76
diff --git a/pkgs/servers/mail/smtprelay/default.nix b/pkgs/servers/mail/smtprelay/default.nix
index be8cfb4861f2a..d71d9c5135dd7 100644
--- a/pkgs/servers/mail/smtprelay/default.nix
+++ b/pkgs/servers/mail/smtprelay/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "smtprelay";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "decke";
     repo = "smtprelay";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8N+JJp0/d59s8rU7t0YtrTepVXpxXc8PET1f+AgEpG0=";
+    hash = "sha256-2fZA2vYJ6c5oaNImvS0KKZo1+Eu7LFO6jCRnChReMcE=";
   };
 
   vendorHash = "sha256-BX1Ll0EEo59p+Pe5oM6+6zT6fvnv1RsfX8YEh9RKkWU=";
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index 78c72187d81e8..9bc4dd29d6304 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -42,9 +42,6 @@ stdenv.mkDerivation rec {
       runHook preBuild
 
       export HOME=$PWD
-      # This option is needed for openssl-3 compatibility
-      # Otherwise we encounter this upstream issue: https://github.com/mastodon/mastodon/issues/17924
-      export NODE_OPTIONS=--openssl-legacy-provider
       fixup-yarn-lock ~/yarn.lock
       yarn config --offline set yarn-offline-mirror $yarnOfflineCache
       yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix
index bc556d4f3673d..749ed890e6ef0 100644
--- a/pkgs/servers/mastodon/gemset.nix
+++ b/pkgs/servers/mastodon/gemset.nix
@@ -1069,10 +1069,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pd7pamzhdz2w0fbcvsfn2nyslznvphnwj16zw35g2b28zd2xyzx";
+      sha256 = "1sfc7svf7h1ja6zmsq9f3ps6pg0q4hymphh6rk7ipmp7ygqjkii3";
       type = "gem";
     };
-    version = "2.2.7";
+    version = "2.3.1";
   };
   ffi = {
     groups = ["default"];
@@ -1416,10 +1416,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04315mf4p9qa97grdfqv922paghzdfrbb982ap0p99rqwla4znv6";
+      sha256 = "13xhvkh2fxydcf466az172nwfykzppm3g9ckp8mafsib45w77clj";
       type = "gem";
     };
-    version = "1.15.3";
+    version = "1.15.3.1";
   };
   json-ld = {
     dependencies = ["htmlentities" "json-canonicalization" "link_header" "multi_json" "rack" "rdf"];
@@ -1881,10 +1881,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "173zavvxlwyi48lfskk48wcrdbkvjlhjhvy4jpcrfx72rpjjx4k8";
+      sha256 = "1lla2macphrlbzkirk0nwwwhcijrfymyfjjw1als0kwqd0n1cdpc";
       type = "gem";
     };
-    version = "1.16.2";
+    version = "1.16.5";
   };
   nsa = {
     dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
@@ -2200,10 +2200,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02lvkg1nb4z3zc2nry545dap7a64bb9h2k8waxfz0jkabkgnpimw";
+      sha256 = "06ysmn14pdf2wyr7agm0qvvr9pzcgyf39w4yvk2n05w9k4alwpa1";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.0.2";
   };
   rack-oauth2 = {
     dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"];
@@ -2445,24 +2445,25 @@
     version = "3.1.0";
   };
   rexml = {
+    dependencies = ["strscan"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
+      sha256 = "0d8ivcirrrxpkpjc1c835wknc9s2fl54xpw08s177yfrh5ish209";
       type = "gem";
     };
-    version = "3.2.6";
+    version = "3.2.8";
   };
   rotp = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10mmzc85y7andsich586ndykw678qn1ns2wpjxrg0sc0gr4w3pig";
+      sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m";
       type = "gem";
     };
-    version = "6.2.2";
+    version = "6.3.0";
   };
   rouge = {
     groups = ["default" "development"];
@@ -2955,6 +2956,16 @@
     };
     version = "0.8.0";
   };
+  strscan = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1isbzxvykrm2h8msyq1c8ajypg7950w2mh0hrlgndhw52d1fic3c";
+      type = "gem";
+    };
+    version = "3.0.9";
+  };
   swd = {
     dependencies = ["activesupport" "attr_required" "httpclient"];
     groups = ["default"];
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 13165c3405fb0..2c4eaafbbbf66 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -1,7 +1,7 @@
 # This file was generated by pkgs.mastodon.updateScript.
 { fetchFromGitHub, applyPatches, patches ? [] }:
 let
-  version = "4.2.8";
+  version = "4.2.9";
 in
 (
   applyPatches {
@@ -9,7 +9,7 @@ in
       owner = "mastodon";
       repo = "mastodon";
       rev = "v${version}";
-      hash = "sha256-7/E7iHqJxmYSorXYti7h8EbP7wcOAaD04ToLeU2I/nY=";
+      hash = "sha256-VjR4lXlb1p8mmpOGxPqbmCCEaB7SP90ccPSMfGFx6IQ=";
     };
     patches = patches ++ [];
   }) // {
diff --git a/pkgs/servers/matrix-synapse/plugins/rendezvous.nix b/pkgs/servers/matrix-synapse/plugins/rendezvous.nix
index c15c24681a2c4..82874d3b3bd1a 100644
--- a/pkgs/servers/matrix-synapse/plugins/rendezvous.nix
+++ b/pkgs/servers/matrix-synapse/plugins/rendezvous.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, fetchPypi, rustPlatform, setuptools-rust }:
+{ lib, buildPythonPackage, fetchFromGitHub, rustPlatform, setuptools-rust }:
 
 buildPythonPackage rec {
   pname = "matrix-http-rendezvous-synapse";
diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index a233b34a18d96..9a6c6c250ad7e 100644
--- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nginx_exporter";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "nginxinc";
     repo = "nginx-prometheus-exporter";
     rev = "v${version}";
-    sha256 = "sha256-wLLHhbIA4jPgXtVIP6ycxgXfULODngPSpV3rZpJFSjI=";
+    sha256 = "sha256-VzgcAyXR9TKpK6CJzKoqN5EgO9rWnZBhwv5Km/k8cK0=";
   };
 
-  vendorHash = "sha256-pMof9Wr6GrH5N97C4VNG2ELtZ6C6ruq5ylMwByotrP0=";
+  vendorHash = "sha256-HoRE9hvnyPkLpwc+FfUmithd5UDEJ0TnoDfcifa/0o0=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/servers/monitoring/prometheus/sabnzbd-exporter.nix b/pkgs/servers/monitoring/prometheus/sabnzbd-exporter.nix
index 1412c4dff6c02..ab7e23ccc4c43 100644
--- a/pkgs/servers/monitoring/prometheus/sabnzbd-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/sabnzbd-exporter.nix
@@ -2,15 +2,15 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "sabnzbd_exporter";
-  version = "0.1.70";
+  version = "0.1.73";
 
   format = "other";
 
   src = fetchFromGitHub {
     owner = "msroest";
     repo = pname;
-    rev = version;
-    hash = "sha256-FkZAWIIlGX2VxRL3WS5J9lBgToQGbEQUqvf0xcdvynk=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-c+NbaHYr/CzZ94/i92W2g7+RBSPSmkE2yszNE6L6M6Y=";
   };
 
   propagatedBuildInputs = with python3Packages; [ prometheus-client requests ];
diff --git a/pkgs/servers/monitoring/thanos/default.nix b/pkgs/servers/monitoring/thanos/default.nix
index 76e87f8a0a7b4..d3e797a1c34c4 100644
--- a/pkgs/servers/monitoring/thanos/default.nix
+++ b/pkgs/servers/monitoring/thanos/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "thanos";
-  version = "0.34.1";
+  version = "0.35.1";
 
   src = fetchFromGitHub {
     owner = "thanos-io";
     repo = "thanos";
     rev = "refs/tags/v${version}";
-    hash = "sha256-AynKxORgO8fY8KAhzyIeHCw2MI2se5eHSPn0kt1RJq4=";
+    hash = "sha256-XSQMFtMZvcUcOFi14EZiyq65GdPbzOqUVqFM0FLSj3E=";
   };
 
-  vendorHash = "sha256-4IT3YeGXSEzC0z+rC2yQCY9QQZeXxpMtJM/4/kINn3s=";
+  vendorHash = "sha256-i8EGUxNbxfyPQ3BVa7yBR1ygHIC64v6m/aDGFzWWfIE=";
 
   doCheck = true;
 
diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix
index cc1496ccb90d2..d50b879fa018e 100644
--- a/pkgs/servers/redpanda/default.nix
+++ b/pkgs/servers/redpanda/default.nix
@@ -7,12 +7,12 @@
 , stdenv
 }:
 let
-  version = "24.1.3";
+  version = "24.1.4";
   src = fetchFromGitHub {
     owner = "redpanda-data";
     repo = "redpanda";
     rev = "v${version}";
-    sha256 = "sha256-LuaUm8FToGJ4//tDFvdHbTCHzhul4ympSznbp1wrLM8=";
+    sha256 = "sha256-8N4Ig1IorKYe2ehKCeRNxVWmxLajaaDNvEgH/pSSVJE=";
   };
   server = callPackage ./server.nix { inherit src version; };
 in
diff --git a/pkgs/servers/roadrunner/default.nix b/pkgs/servers/roadrunner/default.nix
index caf98f12a7ab5..531dfb9b7ee5e 100644
--- a/pkgs/servers/roadrunner/default.nix
+++ b/pkgs/servers/roadrunner/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "roadrunner";
-  version = "2024.1.1";
+  version = "2024.1.2";
 
   src = fetchFromGitHub {
     repo = "roadrunner";
     owner = "roadrunner-server";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uSc4dVDw4aXuo0mKPhsXLYfifpu4c+L7AQXaDgTkvTc=";
+    hash = "sha256-qaG7krLu6D08izPwRwqzSpnGVQjTgNwoSky3jmSwOdM=";
   };
 
   nativeBuildInputs = [
@@ -45,7 +45,7 @@ buildGoModule rec {
       --replace "127.0.0.1:0" "127.0.0.1:55554"
   '';
 
-  vendorHash = "sha256-8cNUCTwrhkgHu+XyneYLdPqsITnTCxQ6KGFoPrz7PwI=";
+  vendorHash = "sha256-vwOvp8hckamdN0qKnvaL2pm30nCMelQ8+LjqcPZR/ZQ=";
 
   meta = {
     changelog = "https://github.com/roadrunner-server/roadrunner/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
index 96bff3fe20b38..4a14b9925cd47 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix
@@ -4,7 +4,6 @@
 , postgresql
 , nixosTests
 , cargo-pgrx_0_10_2
-, fetchCrate
 , nix-update-script
 , stdenv
 }:
diff --git a/pkgs/servers/sqlpage/default.nix b/pkgs/servers/sqlpage/default.nix
index d68ad9ddcace3..2f635e30182ea 100644
--- a/pkgs/servers/sqlpage/default.nix
+++ b/pkgs/servers/sqlpage/default.nix
@@ -11,8 +11,8 @@
 
 let
   apexcharts = fetchurl {
-    url = "https://cdn.jsdelivr.net/npm/apexcharts@3.43.2-0/dist/apexcharts.min.js";
-    sha256 = "sha256-7al9VaQHu7u5jfx1HZf+T8k27kbIhgHvRwaeIeYEjVI=";
+    url = "https://cdn.jsdelivr.net/npm/apexcharts@3.47.0/dist/apexcharts.min.js";
+    sha256 = "sha256-StFDdV+DR9yItbCXAGTK6EUcu613N3vM0i5ngrYZlz4=";
   };
   tablerCss = fetchurl {
     url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta20/dist/css/tabler.min.css";
@@ -31,25 +31,25 @@ let
     sha256 = "sha256-sYy7qNJW7RTuaNA0jq6Yrtfs57ypYrItZ3f8T7kqfPM=";
   };
   tablerIcons = fetchurl {
-    url = "https://cdn.jsdelivr.net/npm/@tabler/icons@2.39.0/tabler-sprite.svg";
-    sha256 = "sha256-8C9PPhDyVnym0q/RkQlTyfjKbAMRsYBlRtsMbNAepvY=";
+    url = "https://cdn.jsdelivr.net/npm/@tabler/icons@2.47.0/tabler-sprite.svg";
+    sha256 = "sha256-dphCRqfQZmC7finy/HU9QnJQESwgWoUxRHkz7On877I=";
   };
 in
 
 rustPlatform.buildRustPackage rec {
   pname = "sqlpage";
-  version = "0.15.1";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "lovasoa";
     repo = "SQLpage";
     rev = "v${version}";
-    hash = "sha256-0CPWMVdX0HGPMfIiDfC6TJ2t07O6eZcS7yEDVAvjLUc=";
+    sha256 = "sha256-zmAnlsYL36qqO2cLSVdsnUG47xHslOvDzcGICNxG/5c=";
   };
 
   postPatch = ''
     substituteInPlace sqlpage/apexcharts.js \
-      --replace '/* !include https://cdn.jsdelivr.net/npm/apexcharts@3.43.2-0/dist/apexcharts.min.js */' \
+      --replace '/* !include https://cdn.jsdelivr.net/npm/apexcharts@3.47.0/dist/apexcharts.min.js */' \
       "$(cat ${apexcharts})"
     substituteInPlace sqlpage/sqlpage.css \
       --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/core@1.0.0-beta20/dist/css/tabler.min.css */' \
@@ -64,11 +64,11 @@ rustPlatform.buildRustPackage rec {
       --replace '/* !include https://cdn.jsdelivr.net/npm/list.js-fixed@2.3.4/dist/list.min.js */' \
       "$(cat ${listJsFixed})"
     substituteInPlace sqlpage/tabler-icons.svg \
-      --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/icons@2.39.0/tabler-sprite.svg */' \
+      --replace '/* !include https://cdn.jsdelivr.net/npm/@tabler/icons@2.47.0/tabler-sprite.svg */' \
       "$(cat ${tablerIcons})"
   '';
 
-  cargoHash = "sha256-ooK4eIaPbUsxgDuVJkWHlArMa81TtlRfR6YYEAh7cLY=";
+  cargoHash = "sha256-dPqO+yychyOybdTvdhWkcXyDlxIXO39KUZ80v+7Syqg=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/shells/dgsh/default.nix b/pkgs/shells/dgsh/default.nix
deleted file mode 100644
index 2c98938b46d75..0000000000000
--- a/pkgs/shells/dgsh/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config,
-  libtool, check, bison, git, gperf,
-  perl, texinfo, help2man, gettext, ncurses
-}:
-
-stdenv.mkDerivation {
-  pname = "dgsh-unstable";
-  version = "2017-02-05";
-
-  src = fetchFromGitHub {
-    owner = "dspinellis";
-    repo = "dgsh";
-    rev = "bc4fc2e8009c069ee4df5140c32a2fc15d0acdec";
-    sha256 = "0k3hmnarz56wphw45mabn5zcc427l5p77jldh1qqy89pxqy1wnql";
-    fetchSubmodules = true;
-  };
-
-  patches = [ ./glibc-2.26.patch ];
-
-  nativeBuildInputs = [ autoconf automake pkg-config libtool check
-    bison git gettext gperf perl texinfo help2man ncurses
-  ];
-
-  configurePhase = ''
-    cp -r ./unix-tools/coreutils/gnulib gnulib
-    perl -pi -e \
-      's#./bootstrap #./bootstrap --no-bootstrap-sync --skip-po --no-git --gnulib-srcdir='$PWD/gnulib' #g' \
-      unix-tools/Makefile
-    find . -name \*.diff | xargs rm -f
-    rm -rf unix-tools/*/gnulib
-    patchShebangs unix-tools/diffutils/man/help2man
-    export RSYNC=true # set to rsync binary, eventhough it is not used.
-    make PREFIX=$out config
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "The Directed Graph Shell";
-    homepage = "http://www.dmst.aueb.gr/dds/sw/dgsh";
-    license = with licenses; asl20;
-    maintainers = with maintainers; [ vrthra ];
-    platforms = with platforms; all;
-    # lib/freadseek.c:68:3: error: #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your >
-    # 68 |  #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your system, then report >
-    broken = true; # marked 2022-05-06
-  };
-}
diff --git a/pkgs/shells/dgsh/glibc-2.26.patch b/pkgs/shells/dgsh/glibc-2.26.patch
deleted file mode 100644
index c66768151316c..0000000000000
--- a/pkgs/shells/dgsh/glibc-2.26.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/core-tools/src/dgsh-httpval.c b/core-tools/src/dgsh-httpval.c
-index 8b5dce3..7b43c3d 100644
---- a/core-tools/src/dgsh-httpval.c
-+++ b/core-tools/src/dgsh-httpval.c
-@@ -40,6 +40,7 @@
- #include <sys/stat.h>
- #include <unistd.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <stdio.h>
- #include <string.h>
- #include <ctype.h>
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index a61f3e1ae4d0f..0bb07b6545450 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -230,23 +230,23 @@ let
 
              $ export NIXPKGS_ALLOW_INSECURE=1
              ${flakeNote}
-        b) for `nixos-rebuild` you can add ‘${getName attrs}’ to
+        b) for `nixos-rebuild` you can add ‘${lib.getName attrs}’ to
            `nixpkgs.config.permittedInsecurePackages` in the configuration.nix,
            like so:
 
              {
                nixpkgs.config.permittedInsecurePackages = [
-                 "${getName attrs}"
+                 "${lib.getName attrs}"
                ];
              }
 
         c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
-           ‘${getName attrs}’ to `permittedInsecurePackages` in
+           ‘${lib.getName attrs}’ to `permittedInsecurePackages` in
            ~/.config/nixpkgs/config.nix, like so:
 
              {
                permittedInsecurePackages = [
-                 "${getName attrs}"
+                 "${lib.getName attrs}"
                ];
              }
 
diff --git a/pkgs/test/check-by-name/README.md b/pkgs/test/check-by-name/README.md
index c68e7a93b7d0e..140f5951ca335 100644
--- a/pkgs/test/check-by-name/README.md
+++ b/pkgs/test/check-by-name/README.md
@@ -13,7 +13,7 @@ In turn when running locally, we don't want to have to push commits to test them
 and we can also rely on the local Git history to do the mergeability check.
 
 Arguments:
-- `BASE_BRANCH`: The base branch to use, e.g. master or release-23.11
+- `BASE_BRANCH`: The base branch to use, e.g. master or release-24.05
 - `REPOSITORY`: The repository to fetch the base branch from, defaults to https://github.com/NixOS/nixpkgs.git
 
 ## `./update-pinned-tool.sh`
diff --git a/pkgs/tools/admin/ejson2env/default.nix b/pkgs/tools/admin/ejson2env/default.nix
index 9675d37756815..619a891ea38f7 100644
--- a/pkgs/tools/admin/ejson2env/default.nix
+++ b/pkgs/tools/admin/ejson2env/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ejson2env";
-  version = "2.0.5";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HcUmFajbOUZ0T5Th6OA9WBtfTz646qLbXx8NVeJsVng=";
+    sha256 = "sha256-VXkWmmX+4D+j9ODSEeJJbIx+Bfni9d2X22BFQIe4kwk=";
   };
 
-  vendorHash = "sha256-agWcD8vFNde1SCdkRovMNPf+1KODxV8wW1mXvE0w/CI=";
+  vendorHash = "sha256-7oy8bCegsvv35zyo2aTFMSGZMFkArmxy0rOpK6WlubI=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix
index dc35c0b563db7..fc4ed942e9799 100644
--- a/pkgs/tools/admin/lego/default.nix
+++ b/pkgs/tools/admin/lego/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "4.16.1";
+  version = "4.17.3";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BGD0fVLTlM0BlYK/XK11W0OV8sDO4SVfXEKHEFdqOzs=";
+    sha256 = "sha256-IfgZd8dXSJU4WlW6i2EUP5DJcfaCNFT6STlCdLD+7nI=";
   };
 
-  vendorHash = "sha256-jiVtgzNWj91J/YSBOrhXZH2WmVqA2gxjIfytCGYG25A=";
+  vendorHash = "sha256-0QL/+Oaulk2PUAKTUZaYzZ7wLjrTgh2m2WoJM3QxvXw=";
 
   doCheck = false;
 
   subPackages = [ "cmd/lego" ];
 
   ldflags = [
-    "-X main.version=${version}"
+    "-s" "-w" "-X main.version=${version}"
   ];
 
   meta = with lib; {
diff --git a/pkgs/tools/admin/qovery-cli/default.nix b/pkgs/tools/admin/qovery-cli/default.nix
index 6db291f236d5c..3496e1fb8e688 100644
--- a/pkgs/tools/admin/qovery-cli/default.nix
+++ b/pkgs/tools/admin/qovery-cli/default.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "qovery-cli";
-  version = "0.93.1";
+  version = "0.93.3";
 
   src = fetchFromGitHub {
     owner = "Qovery";
     repo = "qovery-cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-wJivWE0B2u3xNhD9mAbHFCxl3aKv6YfWxJ/8UOV4E70=";
+    hash = "sha256-TUgtozPI9nxlQoEnzuuWsUtPPeR72tEX197WHrk7et0=";
   };
 
   vendorHash = "sha256-wGgzVtQc4e0thiM9fJb7BxJl348wCDZvPCx0+Qlw0mQ=";
diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix
index e80ee6773106e..84261b04a91c2 100644
--- a/pkgs/tools/audio/spotdl/default.nix
+++ b/pkgs/tools/audio/spotdl/default.nix
@@ -1,6 +1,5 @@
 { lib
 , python3
-, fetchPypi
 , fetchFromGitHub
 , ffmpeg
 }:
diff --git a/pkgs/tools/filesystems/httm/Cargo.lock b/pkgs/tools/filesystems/httm/Cargo.lock
index dd039c32b0d81..571ac1756d506 100644
--- a/pkgs/tools/filesystems/httm/Cargo.lock
+++ b/pkgs/tools/filesystems/httm/Cargo.lock
@@ -4,47 +4,87 @@ version = 3
 
 [[package]]
 name = "ahash"
-version = "0.8.3"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
 dependencies = [
  "cfg-if",
  "once_cell",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.20"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
-name = "android_system_properties"
-version = "0.1.5"
+name = "ansi_term"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
 dependencies = [
- "libc",
+ "winapi",
 ]
 
 [[package]]
-name = "ansi_term"
-version = "0.12.1"
+name = "anstream"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
- "winapi",
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "utf8parse",
 ]
 
 [[package]]
-name = "arrayvec"
-version = "0.7.2"
+name = "anstyle"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
 
 [[package]]
 name = "atty"
@@ -64,28 +104,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
-name = "beef"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1"
-
-[[package]]
 name = "bitflags"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
-name = "bumpalo"
-version = "3.11.1"
+name = "bitflags"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 
 [[package]]
-name = "cc"
-version = "1.0.77"
+name = "blake2"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
+checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174"
+dependencies = [
+ "crypto-mac",
+ "digest",
+ "opaque-debug",
+]
 
 [[package]]
 name = "cfg-if"
@@ -94,103 +133,87 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
-name = "chrono"
-version = "0.4.23"
+name = "cfg_aliases"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
-dependencies = [
- "iana-time-zone",
- "js-sys",
- "num-integer",
- "num-traits",
- "time 0.1.45",
- "wasm-bindgen",
- "winapi",
-]
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
 [[package]]
 name = "clap"
-version = "3.2.23"
+version = "2.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
 dependencies = [
+ "ansi_term",
  "atty",
- "bitflags",
- "clap_lex",
- "indexmap",
- "once_cell",
- "strsim",
- "termcolor",
+ "bitflags 1.3.2",
+ "strsim 0.8.0",
  "textwrap",
+ "unicode-width",
+ "vec_map",
+ "yaml-rust",
 ]
 
 [[package]]
-name = "clap_lex"
-version = "0.2.4"
+name = "clap"
+version = "4.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
 dependencies = [
- "os_str_bytes",
+ "clap_builder",
 ]
 
 [[package]]
-name = "codespan-reporting"
-version = "0.11.1"
+name = "clap_builder"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
- "termcolor",
- "unicode-width",
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
 ]
 
 [[package]]
-name = "console"
-version = "0.15.2"
+name = "clap_lex"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c050367d967ced717c04b65d8c619d863ef9292ce0c5760028655a2fb298718c"
-dependencies = [
- "encode_unicode",
- "lazy_static",
- "libc",
- "terminal_size 0.1.17",
- "winapi",
-]
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
-name = "core-foundation-sys"
-version = "0.8.3"
+name = "colorchoice"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
-name = "crossbeam"
-version = "0.8.2"
+name = "console"
+version = "0.15.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
+checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
 dependencies = [
- "cfg-if",
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-epoch",
- "crossbeam-queue",
- "crossbeam-utils",
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "unicode-width",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.6"
+version = "0.5.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
 dependencies = [
  "cfg-if",
  "crossbeam-epoch",
@@ -199,85 +222,38 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.13"
+version = "0.9.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
+checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
 dependencies = [
  "autocfg",
  "cfg-if",
  "crossbeam-utils",
- "memoffset 0.7.1",
+ "memoffset",
  "scopeguard",
 ]
 
 [[package]]
-name = "crossbeam-queue"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
-]
-
-[[package]]
 name = "crossbeam-utils"
-version = "0.8.14"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
-name = "cxx"
-version = "1.0.83"
+name = "crypto-mac"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdf07d07d6531bfcdbe9b8b739b104610c6508dcc4d63b410585faf338241daf"
+checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
 dependencies = [
- "cc",
- "cxxbridge-flags",
- "cxxbridge-macro",
- "link-cplusplus",
-]
-
-[[package]]
-name = "cxx-build"
-version = "1.0.83"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2eb5b96ecdc99f72657332953d4d9c50135af1bac34277801cc3937906ebd39"
-dependencies = [
- "cc",
- "codespan-reporting",
- "once_cell",
- "proc-macro2",
- "quote",
- "scratch",
- "syn",
-]
-
-[[package]]
-name = "cxxbridge-flags"
-version = "1.0.83"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac040a39517fd1674e0f32177648334b0f4074625b5588a64519804ba0553b12"
-
-[[package]]
-name = "cxxbridge-macro"
-version = "1.0.83"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1362b0ddcfc4eb0a1f57b68bd77dd99f0e826958a96abd0ae9bd092e114ffed6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
+ "generic-array",
+ "subtle",
 ]
 
 [[package]]
 name = "darling"
-version = "0.14.2"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -285,68 +261,76 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.14.2"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn",
+ "strsim 0.10.0",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.14.2"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
  "darling_core",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
-name = "defer-drop"
-version = "1.3.0"
+name = "deranged"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f613ec9fa66a6b28cdb1842b27f9adf24f39f9afc4dcdd9fdecee4aca7945c57"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 dependencies = [
- "crossbeam-channel",
- "once_cell",
+ "powerfmt",
 ]
 
 [[package]]
 name = "derive_builder"
-version = "0.11.2"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3"
+checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7"
 dependencies = [
  "derive_builder_macro",
 ]
 
 [[package]]
 name = "derive_builder_core"
-version = "0.11.2"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4"
+checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d"
 dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "derive_builder_macro"
-version = "0.11.2"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68"
+checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b"
 dependencies = [
  "derive_builder_core",
- "syn",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "digest"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
+dependencies = [
+ "generic-array",
 ]
 
 [[package]]
@@ -372,9 +356,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "encode_unicode"
@@ -383,33 +367,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
 
 [[package]]
-name = "errno"
-version = "0.2.8"
+name = "env_logger"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
 dependencies = [
- "errno-dragonfly",
- "libc",
- "winapi",
+ "atty",
+ "humantime",
+ "log",
+ "regex",
+ "termcolor",
 ]
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+name = "equivalent"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "exacl"
-version = "0.10.0"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cfeb22a59deb24c3262c43ffcafd1eb807180f371f9fcc99098d181b5d639be"
+checksum = "22be12de19decddab85d09f251ec8363f060ccb22ec9c81bc157c0c8433946d8"
 dependencies = [
- "bitflags",
+ "bitflags 2.5.0",
  "log",
  "scopeguard",
  "uuid",
@@ -422,38 +414,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
-name = "fuzzy-matcher"
-version = "0.3.7"
+name = "fuzzy-muff"
+version = "0.3.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94"
+checksum = "d9b471332520d987f877cd86f529817c3c537b477199aa856e3b29012a4e37d2"
 dependencies = [
  "thread_local",
 ]
 
 [[package]]
+name = "generic-array"
+version = "0.14.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
 name = "getrandom"
-version = "0.2.8"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
 dependencies = [
  "cfg-if",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25"
+dependencies = [
+ "ahash 0.3.8",
+ "autocfg",
+ "rayon",
+]
 
 [[package]]
 name = "hashbrown"
-version = "0.13.1"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33ff8ae62cd3a9102e5637afc8452c55acf3844001bd5374e0b0bd7b6616c038"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
- "ahash",
+ "ahash 0.8.11",
  "rayon",
 ]
 
@@ -467,54 +474,51 @@ dependencies = [
 ]
 
 [[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "httm"
-version = "0.23.3"
+version = "0.38.1"
 dependencies = [
- "ansi_term",
- "chrono",
- "clap",
- "crossbeam",
+ "ahash 0.8.11",
+ "clap 4.5.4",
+ "crossbeam-channel",
  "exacl",
- "hashbrown 0.13.1",
- "indicatif",
+ "hashbrown 0.14.3",
+ "indicatif 0.17.8",
+ "itertools",
+ "libc",
+ "lms",
  "lscolors",
- "nix 0.26.1",
- "number_prefix",
+ "nix 0.28.0",
+ "nu-ansi-term",
+ "number_prefix 0.4.0",
  "once_cell",
  "proc-mounts",
  "rayon",
+ "realpath-ext",
  "serde",
  "serde_json",
- "simd-adler32",
- "skim",
- "terminal_size 0.2.3",
- "time 0.3.17",
+ "terminal_size",
+ "time",
+ "two_percent",
  "which",
  "xattr",
 ]
 
 [[package]]
-name = "iana-time-zone"
-version = "0.1.53"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "winapi",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.1"
+name = "humantime"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
 dependencies = [
- "cxx",
- "cxx-build",
+ "quick-error",
 ]
 
 [[package]]
@@ -525,51 +529,63 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "indexmap"
-version = "1.9.2"
+version = "2.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
 dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
+ "equivalent",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
 name = "indicatif"
-version = "0.17.2"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4295cbb7573c16d310e99e713cf9e75101eb190ab31fccd35f2d2691b4352b19"
+checksum = "7baab56125e25686df467fe470785512329883aab42696d661247aca2a2896e4"
 dependencies = [
  "console",
- "number_prefix",
- "portable-atomic",
+ "lazy_static",
+ "number_prefix 0.3.0",
+ "regex",
 ]
 
 [[package]]
-name = "io-lifetimes"
-version = "1.0.3"
+name = "indicatif"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c"
+checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
 dependencies = [
- "libc",
- "windows-sys",
+ "console",
+ "instant",
+ "number_prefix 0.4.0",
+ "portable-atomic",
 ]
 
 [[package]]
-name = "itoa"
-version = "1.0.4"
+name = "instant"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
 
 [[package]]
-name = "js-sys"
-version = "0.3.60"
+name = "itertools"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
- "wasm-bindgen",
+ "either",
 ]
 
 [[package]]
+name = "itoa"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+
+[[package]]
 name = "lazy_static"
 version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -577,64 +593,60 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.138"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
-name = "link-cplusplus"
-version = "1.0.7"
+name = "linux-raw-sys"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369"
-dependencies = [
- "cc",
-]
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
-name = "linux-raw-sys"
-version = "0.1.3"
+name = "lms"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f"
+checksum = "164b6100e88b387adf64d289e247bebae8f77810566f58159f119d0be90ed958"
+dependencies = [
+ "bitflags 1.3.2",
+ "blake2",
+ "clap 2.34.0",
+ "env_logger",
+ "hashbrown 0.8.2",
+ "indicatif 0.15.0",
+ "lazy_static",
+ "log",
+ "rayon",
+ "seahash",
+]
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "lscolors"
-version = "0.13.0"
+version = "0.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2dedc85d67baf5327114fad78ab9418f8893b1121c17d5538dd11005ad1ddf2"
+checksum = "53304fff6ab1e597661eee37e42ea8c47a146fca280af902bb76bff8a896e523"
 dependencies = [
- "ansi_term",
  "nu-ansi-term",
 ]
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "memoffset"
-version = "0.6.5"
+version = "2.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-dependencies = [
- "autocfg",
-]
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memoffset"
-version = "0.7.1"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
 dependencies = [
  "autocfg",
 ]
@@ -645,77 +657,43 @@ version = "0.24.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if",
  "libc",
 ]
 
 [[package]]
 name = "nix"
-version = "0.25.1"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
+checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
 dependencies = [
- "autocfg",
- "bitflags",
+ "bitflags 2.5.0",
  "cfg-if",
+ "cfg_aliases",
  "libc",
- "memoffset 0.6.5",
- "pin-utils",
 ]
 
 [[package]]
-name = "nix"
-version = "0.26.1"
+name = "nohash"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46a58d1d356c6597d08cde02c2f09d785b09e28711837b1ed667dc652c08a694"
-dependencies = [
- "bitflags",
- "cfg-if",
- "libc",
- "memoffset 0.7.1",
- "pin-utils",
- "static_assertions",
-]
+checksum = "a0f889fb66f7acdf83442c35775764b51fed3c606ab9cee51500dbde2cf528ca"
 
 [[package]]
 name = "nu-ansi-term"
-version = "0.46.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
-dependencies = [
- "overload",
- "winapi",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.15"
+version = "0.50.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "dd2800e1520bdc966782168a627aa5d1ad92e33b984bf7c7615d31280c83ff14"
 dependencies = [
- "autocfg",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "num_cpus"
-version = "1.14.0"
+name = "num-conv"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5"
-dependencies = [
- "hermit-abi",
- "libc",
-]
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
 
 [[package]]
 name = "num_threads"
@@ -728,27 +706,27 @@ dependencies = [
 
 [[package]]
 name = "number_prefix"
-version = "0.4.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+checksum = "17b02fc0ff9a9e4b35b3342880f48e896ebf69f2967921fe8646bf5b7125956a"
 
 [[package]]
-name = "once_cell"
-version = "1.16.0"
+name = "number_prefix"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
 
 [[package]]
-name = "os_str_bytes"
-version = "6.4.1"
+name = "once_cell"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
-name = "overload"
-version = "0.1.1"
+name = "opaque-debug"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "partition-identity"
@@ -760,22 +738,22 @@ dependencies = [
 ]
 
 [[package]]
-name = "pin-utils"
-version = "0.1.0"
+name = "portable-atomic"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b"
 
 [[package]]
-name = "portable-atomic"
-version = "0.3.15"
+name = "powerfmt"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15eb2c6e362923af47e13c23ca5afb859e83d54452c55b0b9ac763b8f7c1ac16"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.47"
+version = "1.0.76"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
 dependencies = [
  "unicode-ident",
 ]
@@ -790,35 +768,49 @@ dependencies = [
 ]
 
 [[package]]
+name = "quick-error"
+version = "1.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+
+[[package]]
 name = "quote"
-version = "1.0.21"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "rayon"
-version = "1.6.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
 dependencies = [
- "crossbeam-deque",
  "either",
  "rayon-core",
 ]
 
 [[package]]
 name = "rayon-core"
-version = "1.10.1"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
+]
+
+[[package]]
+name = "realpath-ext"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "692f72862a0d532b44a0f4965fb10f17e7659eaedf24d2ce3c989ca778bd092f"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno",
+ "libc",
 ]
 
 [[package]]
@@ -827,7 +819,7 @@ version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
@@ -843,9 +835,21 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.7.0"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -854,59 +858,72 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.28"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rustix"
-version = "0.36.5"
+version = "0.38.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
 dependencies = [
- "bitflags",
+ "bitflags 2.5.0",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustversion"
-version = "1.0.9"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8"
+checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
 
 [[package]]
 name = "ryu"
-version = "1.0.12"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
-name = "scratch"
-version = "1.0.2"
+name = "seahash"
+version = "4.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
 
 [[package]]
 name = "serde"
-version = "1.0.152"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.197"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
 
 [[package]]
 name = "serde_json"
-version = "1.0.93"
+version = "1.0.115"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
+checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
 dependencies = [
  "indexmap",
  "itoa",
@@ -915,53 +932,45 @@ dependencies = [
 ]
 
 [[package]]
-name = "simd-adler32"
-version = "0.3.4"
+name = "strsim"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14a5df39617d7c8558154693a1bb8157a4aab8179209540cc0b10e5dc24e0b18"
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
 
 [[package]]
-name = "skim"
-version = "0.10.2"
-source = "git+https://github.com/kimono-koans/skim?branch=httm-vendored#00b10497101d206340919f3ae411bdc0342484e7"
-dependencies = [
- "beef",
- "bitflags",
- "chrono",
- "crossbeam",
- "defer-drop",
- "derive_builder",
- "fuzzy-matcher",
- "lazy_static",
- "log",
- "nix 0.25.1",
- "once_cell",
- "rayon",
- "regex",
- "time 0.3.17",
- "timer",
- "tuikit",
- "unicode-width",
- "vte",
-]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
-name = "static_assertions"
-version = "1.1.0"
+name = "strsim"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
 
 [[package]]
-name = "strsim"
-version = "0.10.0"
+name = "subtle"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
 
 [[package]]
 name = "syn"
-version = "1.0.105"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -981,88 +990,74 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.1.3"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
 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 = "terminal_size"
-version = "0.2.3"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb20089a8ba2b69debd491f8d2d023761cbf196e999218c591fa1e7e15a21907"
+checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
 dependencies = [
  "rustix",
- "windows-sys",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "textwrap"
-version = "0.16.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+dependencies = [
+ "unicode-width",
+]
 
 [[package]]
 name = "thiserror"
-version = "1.0.37"
+version = "1.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
+checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.37"
+version = "1.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
+checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "thread_local"
-version = "1.1.4"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
 dependencies = [
+ "cfg-if",
  "once_cell",
 ]
 
 [[package]]
 name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi",
-]
-
-[[package]]
-name = "time"
-version = "0.3.17"
+version = "0.3.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
 dependencies = [
+ "deranged",
  "itoa",
  "libc",
+ "num-conv",
  "num_threads",
+ "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -1070,35 +1065,27 @@ dependencies = [
 
 [[package]]
 name = "time-core"
-version = "0.1.0"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.6"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
 [[package]]
-name = "timer"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31d42176308937165701f50638db1c31586f183f1aab416268216577aec7306b"
-dependencies = [
- "chrono",
-]
-
-[[package]]
 name = "tuikit"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5e19c6ab038babee3d50c8c12ff8b910bdb2196f62278776422f50390d8e53d8"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "lazy_static",
  "log",
  "nix 0.24.3",
@@ -1107,28 +1094,64 @@ dependencies = [
 ]
 
 [[package]]
+name = "two_percent"
+version = "0.11.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84167b95c58bc7cdd169699ab51938076616cee3a9c5c7a7292e0498361e868a"
+dependencies = [
+ "ahash 0.8.11",
+ "bitflags 2.5.0",
+ "crossbeam-channel",
+ "derive_builder",
+ "fuzzy-muff",
+ "hashbrown 0.14.3",
+ "libc",
+ "log",
+ "nohash",
+ "once_cell",
+ "rayon",
+ "regex",
+ "tuikit",
+ "unicode-width",
+ "vte",
+ "which",
+]
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
 name = "unicode-ident"
-version = "1.0.5"
+version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "utf8parse"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.2.2"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
+
+[[package]]
+name = "vec_map"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c"
+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 
 [[package]]
 name = "version_check"
@@ -1138,11 +1161,10 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "vte"
-version = "0.11.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1aae21c12ad2ec2d168c236f369c38ff332bc1134f7246350dca641437365045"
+checksum = "40eb22ae96f050e0c0d6f7ce43feeae26c348fc4dea56928ca81537cfaa6188b"
 dependencies = [
- "arrayvec",
  "utf8parse",
  "vte_generate_state_changes",
 ]
@@ -1159,174 +1181,281 @@ dependencies = [
 
 [[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.83"
+name = "which"
+version = "6.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7"
 dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
+ "either",
+ "home",
+ "rustix",
+ "winsafe",
 ]
 
 [[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.83"
+name = "winapi"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
 dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
 ]
 
 [[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.83"
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.83"
+name = "winapi-util"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
+ "winapi",
 ]
 
 [[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.83"
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
-name = "which"
-version = "4.3.0"
+name = "windows-sys"
+version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
 dependencies = [
- "either",
- "libc",
- "once_cell",
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
 ]
 
 [[package]]
-name = "winapi"
-version = "0.3.9"
+name = "windows-sys"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
+ "windows-targets 0.48.0",
 ]
 
 [[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
+name = "windows-sys"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
 
 [[package]]
-name = "winapi-util"
-version = "0.1.5"
+name = "windows-targets"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
 dependencies = [
- "winapi",
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
 ]
 
 [[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
+name = "windows-targets"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
 
 [[package]]
-name = "windows-sys"
-version = "0.42.0"
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
-]
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.42.0"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.42.0"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.0"
+version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.42.0"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.42.0"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.0"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.0"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
+name = "winsafe"
+version = "0.0.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
 
 [[package]]
 name = "xattr"
-version = "1.0.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea263437ca03c1522846a4ddafbca2542d0ad5ed9b784909d4b27b76f62bc34a"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "yaml-rust"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e66366e18dc58b46801afbf2ca7661a9f59cc8c5962c29892b6039b4f86fa992"
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
 ]
diff --git a/pkgs/tools/filesystems/httm/default.nix b/pkgs/tools/filesystems/httm/default.nix
index 3a36af72462e7..b2fd6522bc3d0 100644
--- a/pkgs/tools/filesystems/httm/default.nix
+++ b/pkgs/tools/filesystems/httm/default.nix
@@ -6,29 +6,37 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "httm";
-  version = "0.23.3";
+  version = "0.38.1";
 
   src = fetchFromGitHub {
     owner = "kimono-koans";
     repo = pname;
     rev = version;
-    hash = "sha256-yia7GEPemFVHzTkhrL7HejQsFO1zwpdUtq4DLdm4s2g=";
+    hash = "sha256-aCWhjMXLNx5/wV1HFDtyUuUfpRAxDZhI/Bk7roqZkJ8=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
-    outputHashes = {
-      "skim-0.10.2" = "sha256-5bDQZer4r9sNupIilY3afXbyFE1UB8kNsZIFOPmuyu4=";
-    };
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
+  postPatch = ''
+    chmod +x scripts/*.bash
+    patchShebangs scripts/*.bash
+  '';
+
   postInstall = ''
     installManPage httm.1
 
     installShellCompletion --cmd httm \
       --zsh scripts/httm-key-bindings.zsh
+
+    for script in scripts/*.bash; do
+      install -Dm755 "$script" "$out/bin/$(basename "$script" .bash)"
+    done
+
+    install -Dm644 README.md $out/share/doc/README.md
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/pandoc-include/default.nix b/pkgs/tools/misc/pandoc-include/default.nix
index da509e094f847..9e552adbfc9c0 100644
--- a/pkgs/tools/misc/pandoc-include/default.nix
+++ b/pkgs/tools/misc/pandoc-include/default.nix
@@ -5,6 +5,7 @@
 , panflute
 , lxml
 , setuptools
+, nix-update-script
 }:
 
 buildPythonApplication rec {
@@ -23,6 +24,8 @@ buildPythonApplication rec {
     setuptools
   ];
 
+  passthru.updateScript = nix-update-script {};
+
   propagatedBuildInputs = [ natsort panflute lxml ];
 
   pythonImportsCheck = [ "pandoc_include.main" ];
diff --git a/pkgs/tools/misc/phrase-cli/default.nix b/pkgs/tools/misc/phrase-cli/default.nix
index fc00c5936b06b..0e267537c1b25 100644
--- a/pkgs/tools/misc/phrase-cli/default.nix
+++ b/pkgs/tools/misc/phrase-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "phrase-cli";
-  version = "2.27.0";
+  version = "2.27.1";
 
   src = fetchFromGitHub {
     owner = "phrase";
     repo = "phrase-cli";
     rev = version;
-    sha256 = "sha256-PStbkJbSGCN92eAk4TZaIzbkG1C25PKI6R6LJgaQuxQ=";
+    sha256 = "sha256-96avkMhIjVdUou6gOddEGOsRNI5HEH5jLQu39HdJmSQ=";
   };
 
-  vendorHash = "sha256-5EgttRimT+TTL9QhT36AO9rx2DdZBmnQrllBfRpdhg0=";
+  vendorHash = "sha256-srLQ2T8Ltigm6vcov4l4/f6DRs9+Mqyy9tovvnpUASc=";
 
   ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ];
 
diff --git a/pkgs/tools/misc/pistol/default.nix b/pkgs/tools/misc/pistol/default.nix
index 79826e6f79249..029c1077cc52c 100644
--- a/pkgs/tools/misc/pistol/default.nix
+++ b/pkgs/tools/misc/pistol/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pistol";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "doronbehar";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7nALrB+QubEnryVsGPpFMJ003SP2lheYTkWXF5w/V8I=";
+    sha256 = "sha256-xzVVOx5Uz10Bv8LDRuqqxyjdYp1JKhQPb3ws2l6Dg2Y=";
   };
 
-  vendorHash = "sha256-9Ydps8UA1f0fwG5SHRE4F61OyRJiITw/4SyoMEbsRgM=";
+  vendorHash = "sha256-9+eWTpz2VcNtEwVtVdNPjXYdG7XjB7cvC4WWvxF7Lvs=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/scdl/default.nix b/pkgs/tools/misc/scdl/default.nix
index 2637c892e03ea..8cff2ac8979e2 100644
--- a/pkgs/tools/misc/scdl/default.nix
+++ b/pkgs/tools/misc/scdl/default.nix
@@ -2,15 +2,17 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "scdl";
-  version = "2.7.7";
-  format = "setuptools";
+  version = "2.7.9";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-/QQb8xbi0rv5dU3WFr/hm2BuM/iDZ2OhrGjuqsQMqdk=";
+    hash = "sha256-/TRRVZc0b7WRjNNe24KdCFyKuaic3I3B5Tnb8ZnMS1o=";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  build-system = [ python3Packages.setuptools ];
+
+  dependencies = with python3Packages; [
     docopt
     mutagen
     termcolor
diff --git a/pkgs/tools/misc/thin-provisioning-tools/Cargo.lock b/pkgs/tools/misc/thin-provisioning-tools/Cargo.lock
new file mode 100644
index 0000000000000..8f9a97c8733ee
--- /dev/null
+++ b/pkgs/tools/misc/thin-provisioning-tools/Cargo.lock
@@ -0,0 +1,907 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+
+[[package]]
+name = "anyhow"
+version = "1.0.80"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi 0.1.19",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.21.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
+[[package]]
+name = "bytemuck"
+version = "1.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "cassowary"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clap"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+dependencies = [
+ "clap_builder",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+dependencies = [
+ "anstyle",
+ "clap_lex",
+ "strsim",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+
+[[package]]
+name = "console"
+version = "0.15.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "unicode-width",
+ "windows-sys",
+]
+
+[[package]]
+name = "crc32c"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89254598aa9b9fa608de44b3ae54c810f0f06d755e24c50177f1f8f31ff50ce2"
+dependencies = [
+ "rustc_version",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
+
+[[package]]
+name = "downcast"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1"
+
+[[package]]
+name = "duct"
+version = "0.13.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c"
+dependencies = [
+ "libc",
+ "once_cell",
+ "os_pipe",
+ "shared_child",
+]
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
+name = "env_logger"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
+dependencies = [
+ "log",
+ "regex",
+]
+
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "exitcode"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193"
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "fixedbitset"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+
+[[package]]
+name = "flate2"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fragile"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa"
+
+[[package]]
+name = "getrandom"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
+
+[[package]]
+name = "indicatif"
+version = "0.17.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
+dependencies = [
+ "console",
+ "instant",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "iovec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+dependencies = [
+ "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.153"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "memchr"
+version = "2.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mockall"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48"
+dependencies = [
+ "cfg-if",
+ "downcast",
+ "fragile",
+ "lazy_static",
+ "mockall_derive",
+ "predicates",
+ "predicates-tree",
+]
+
+[[package]]
+name = "mockall_derive"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2"
+dependencies = [
+ "cfg-if",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.50",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.50",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi 0.3.6",
+ "libc",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
+name = "numtoa"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "os_pipe"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "portable-atomic"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "predicates"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8"
+dependencies = [
+ "anstyle",
+ "predicates-core",
+]
+
+[[package]]
+name = "predicates-core"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
+
+[[package]]
+name = "predicates-tree"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
+dependencies = [
+ "predicates-core",
+ "termtree",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quickcheck"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6"
+dependencies = [
+ "env_logger",
+ "log",
+ "rand",
+]
+
+[[package]]
+name = "quickcheck_macros"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[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",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rangemap"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "795915a3930a5d6bafd9053d37602fea3e61be2e5d4d788983a8ba9654c1c6f2"
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_termios"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb"
+
+[[package]]
+name = "regex"
+version = "1.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "rio"
+version = "0.9.4"
+source = "git+https://github.com/jthornber/rio?branch=master#2979a720f671e836302c01546f9cc9f7988610c8"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "roaring"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1c77081a55300e016cb86f2864415b7518741879db925b8d488a0ee0d2da6bf"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+]
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys",
+]
+
+[[package]]
+name = "safemem"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
+
+[[package]]
+name = "semver"
+version = "1.0.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+
+[[package]]
+name = "shared_child"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "rustix",
+ "windows-sys",
+]
+
+[[package]]
+name = "termion"
+version = "1.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e"
+dependencies = [
+ "libc",
+ "numtoa",
+ "redox_syscall",
+ "redox_termios",
+]
+
+[[package]]
+name = "termtree"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
+
+[[package]]
+name = "thinp"
+version = "1.0.12"
+dependencies = [
+ "anyhow",
+ "atty",
+ "base64",
+ "byteorder",
+ "clap",
+ "crc32c",
+ "data-encoding",
+ "duct",
+ "exitcode",
+ "fixedbitset",
+ "flate2",
+ "indicatif",
+ "iovec",
+ "libc",
+ "mockall",
+ "nom",
+ "num-derive",
+ "num-traits",
+ "num_cpus",
+ "quick-xml",
+ "quickcheck",
+ "quickcheck_macros",
+ "rand",
+ "rangemap",
+ "rio",
+ "roaring",
+ "safemem",
+ "tempfile",
+ "termion",
+ "thinp",
+ "thiserror",
+ "threadpool",
+ "tui",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.50",
+]
+
+[[package]]
+name = "threadpool"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+dependencies = [
+ "num_cpus",
+]
+
+[[package]]
+name = "tui"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1"
+dependencies = [
+ "bitflags 1.3.2",
+ "cassowary",
+ "termion",
+ "unicode-segmentation",
+ "unicode-width",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[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-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6"
diff --git a/pkgs/tools/misc/thin-provisioning-tools/default.nix b/pkgs/tools/misc/thin-provisioning-tools/default.nix
index bff6c9c96887a..f4699a9f37d9f 100644
--- a/pkgs/tools/misc/thin-provisioning-tools/default.nix
+++ b/pkgs/tools/misc/thin-provisioning-tools/default.nix
@@ -1,21 +1,29 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, expat, libaio, boost }:
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, nixosTests }:
 
-stdenv.mkDerivation rec {
+rustPlatform.buildRustPackage rec {
   pname = "thin-provisioning-tools";
-  version = "0.9.0";
+  version = "1.0.12";
 
   src = fetchFromGitHub {
     owner = "jthornber";
     repo = "thin-provisioning-tools";
     rev = "v${version}";
-    sha256 = "1iwg04rhmdhijmlk5hfl8wvv83115lzb65if6cc1glkkfva8jfjp";
+    hash = "sha256-wliyTWo3iOonqf4UW50V5co0RQlc75VwLofF9FHV2LI=";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
-
-  buildInputs = [ expat libaio boost ];
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "rio-0.9.4" = "sha256-2l5cm7YLZyf2kuRPMytu7Fdewi6x3+9KyyQBv2F8ZDA=";
+    };
+  };
 
-  enableParallelBuilding = true;
+  passthru.tests = {
+    inherit (nixosTests.lvm2) lvm-thinpool-linux-latest;
+  };
 
   meta = with lib; {
     homepage = "https://github.com/jthornber/thin-provisioning-tools/";
diff --git a/pkgs/tools/networking/aardvark-dns/default.nix b/pkgs/tools/networking/aardvark-dns/default.nix
index f8770612b2537..3daebbead08c8 100644
--- a/pkgs/tools/networking/aardvark-dns/default.nix
+++ b/pkgs/tools/networking/aardvark-dns/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "aardvark-dns";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-BZJn0XrqDttNlKNpLy2iZzt8xcpxCoBrWV+L8MstMnM=";
+    hash = "sha256-MejXcHleJ6AmnoiZefZfp9La8D4PxHgEg0pMxUk2740=";
   };
 
-  cargoHash = "sha256-hDskOYyOo18EWsYTIf1trZxhRQK0Jf+T4bXb1JJKjEo=";
+  cargoHash = "sha256-r7etdWr/0cY38A7fRB5QQ86EyQ5YpuxyY3vx5qrdquc=";
 
   passthru.tests = { inherit (nixosTests) podman; };
 
diff --git a/pkgs/tools/networking/grpc_cli/default.nix b/pkgs/tools/networking/grpc_cli/default.nix
index 84f498b0a1fac..d06034196e2bf 100644
--- a/pkgs/tools/networking/grpc_cli/default.nix
+++ b/pkgs/tools/networking/grpc_cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc_cli";
-  version = "1.64.0";
+  version = "1.64.1";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    hash = "sha256-5mTyXA7jxos+PclImuFDyLTEVkqxm4Kxnorm8R12i9U=";
+    hash = "sha256-FfAH9vGlqzSGCPFKZtYhYFLQtbUbdksZvDptx94gkDE=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ automake cmake autoconf ];
diff --git a/pkgs/tools/networking/netbird/default.nix b/pkgs/tools/networking/netbird/default.nix
index 54eab181ac20f..b10663216e035 100644
--- a/pkgs/tools/networking/netbird/default.nix
+++ b/pkgs/tools/networking/netbird/default.nix
@@ -31,16 +31,16 @@ let
 in
 buildGoModule rec {
   pname = "netbird";
-  version = "0.27.7";
+  version = "0.27.10";
 
   src = fetchFromGitHub {
     owner = "netbirdio";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-byUmgttd0v47G1Powww/YtXOw7TT6Fe2uoOuBOp2l78=";
+    hash = "sha256-eliLEyw++NE+OTu4TNJWLptPDVCYUySRciBRoebmXYc=";
   };
 
-  vendorHash = "sha256-LPq6ovulE+xdoRaQpwA0mNqw3kFxMs/am1ucO8UmDtU=";
+  vendorHash = "sha256-gV/Jx5QEVw2PjMP3BRkZCZ0lo5i8DUddSs+yntfBcTM=";
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;
 
diff --git a/pkgs/tools/networking/ockam/default.nix b/pkgs/tools/networking/ockam/default.nix
index 0b8c0ad1c5fc7..8cff2e5bc49d1 100644
--- a/pkgs/tools/networking/ockam/default.nix
+++ b/pkgs/tools/networking/ockam/default.nix
@@ -13,7 +13,7 @@
 
 let
   pname = "ockam";
-  version = "0.124.0";
+  version = "0.125.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -22,10 +22,10 @@ rustPlatform.buildRustPackage {
     owner = "build-trust";
     repo = pname;
     rev = "ockam_v${version}";
-    hash = "sha256-ovcZD9D/iVF3iIti+vQ29YIJE+UI64BeuA2huJsAx5s=";
+    hash = "sha256-CFJ2Z/PI7du9wlvh3/Ew8AejcU//xPuUXJweQ4phYc8=";
   };
 
-  cargoHash = "sha256-z+GIFN5Q3LWnT5PrZ291G2lHgd5mzDFkKwdcxUXvUnU=";
+  cargoHash = "sha256-j9c1m6beT70E0+czXMVOqY36wAHR1uqL5zKHkrlIAQk=";
   nativeBuildInputs = [ git pkg-config ];
   buildInputs = [ openssl dbus ]
     ++ lib.optionals stdenv.isDarwin [ AppKit Security ];
diff --git a/pkgs/tools/networking/yrd/default.nix b/pkgs/tools/networking/yrd/default.nix
deleted file mode 100644
index 04fee4daf541b..0000000000000
--- a/pkgs/tools/networking/yrd/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, python3
-, fetchFromGitHub
-}:
-
-python3.pkgs.buildPythonApplication rec {
-  pname = "yrd";
-  version = "0.5.3";
-
-  src = fetchFromGitHub {
-    owner = "kpcyrd";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1yx1hr8z4cvlb3yi24dwafs0nxq41k4q477jc9q24w61a0g662ps";
-  };
-
-  propagatedBuildInputs = with python3.pkgs; [
-    argh
-    requests
-  ];
-
-  nativeCheckInputs = with python3.pkgs; [
-    nose
-  ];
-
-  checkPhase = ''
-    nosetests -v yrd
-  '';
-
-  meta = with lib; {
-    description = "Cjdns swiss army knife";
-    maintainers = with maintainers; [ akru ];
-    platforms = platforms.linux;
-    license = licenses.gpl3Only;
-    homepage = "https://github.com/kpcyrd/yrd";
-  };
-}
diff --git a/pkgs/tools/security/beyond-identity/default.nix b/pkgs/tools/security/beyond-identity/default.nix
index 31b3439f0e876..cb3dcec44557b 100644
--- a/pkgs/tools/security/beyond-identity/default.nix
+++ b/pkgs/tools/security/beyond-identity/default.nix
@@ -5,7 +5,7 @@
 
 let
   pname = "beyond-identity";
-  version = "2.60.0-0";
+  version = "2.97.0-0";
   libPath = lib.makeLibraryPath ([ glib glibc openssl tpm2-tss gtk3 gnome.gnome-keyring polkit polkit_gnome ]);
   meta = with lib; {
     description = "Passwordless MFA identities for workforces, customers, and developers";
@@ -22,7 +22,7 @@ let
 
     src = fetchurl {
       url = "https://packages.beyondidentity.com/public/linux-authenticator/deb/ubuntu/pool/focal/main/b/be/${pname}_${version}/${pname}_${version}_amd64.deb";
-      hash = "sha512-JrHLf7KkJVbJLxx54OTvOSaIzY3+hjX+bpkeBHKX23YriCJssUUvEP6vlbI4r6gjMMFMhW92k0iikAgD1Tr4ug==";
+      hash = "sha512-aOQi0hG7AZ3lIAPCDgGAjqVmNCuqFC62CjI9XPLBpvbxBgr2yi7alP952i31MufzzruzVweoQb8SWgNIHq/zIw==";
     };
 
     nativeBuildInputs = [
@@ -38,9 +38,6 @@ let
 
       rm -rf usr/share/doc
 
-      # https://github.com/NixOS/nixpkgs/issues/42117
-      sed -i -e 's/auth_self/yes/g' usr/share/polkit-1/actions/com.beyondidentity.endpoint.stepup.policy
-
       cp -ar usr/{bin,share} $out
       cp -ar opt/beyond-identity/bin $out/opt/beyond-identity
 
diff --git a/pkgs/tools/security/schleuder/Gemfile b/pkgs/tools/security/schleuder/Gemfile
index 687c293bac913..41360b7292a88 100644
--- a/pkgs/tools/security/schleuder/Gemfile
+++ b/pkgs/tools/security/schleuder/Gemfile
@@ -1,3 +1,4 @@
 source 'https://rubygems.org' do
   gem 'schleuder'
+  gem 'net-smtp'
 end
diff --git a/pkgs/tools/security/schleuder/Gemfile.lock b/pkgs/tools/security/schleuder/Gemfile.lock
index 7f15bb7bd7176..96970097b875c 100644
--- a/pkgs/tools/security/schleuder/Gemfile.lock
+++ b/pkgs/tools/security/schleuder/Gemfile.lock
@@ -4,41 +4,45 @@ GEM
 GEM
   remote: https://rubygems.org/
   specs:
-    activemodel (6.1.6)
-      activesupport (= 6.1.6)
-    activerecord (6.1.6)
-      activemodel (= 6.1.6)
-      activesupport (= 6.1.6)
-    activesupport (6.1.6)
+    activemodel (6.1.7.7)
+      activesupport (= 6.1.7.7)
+    activerecord (6.1.7.7)
+      activemodel (= 6.1.7.7)
+      activesupport (= 6.1.7.7)
+    activesupport (6.1.7.7)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
       zeitwerk (~> 2.3)
-    bcrypt (3.1.18)
+    bcrypt (3.1.20)
     charlock_holmes (0.7.7)
-    concurrent-ruby (1.1.10)
+    concurrent-ruby (1.3.1)
     daemons (1.4.1)
     eventmachine (1.2.7)
-    gpgme (2.0.20)
-      mini_portile2 (~> 2.3)
-    i18n (1.10.0)
+    gpgme (2.0.24)
+      mini_portile2 (~> 2.7)
+    i18n (1.14.5)
       concurrent-ruby (~> 1.0)
     mail (2.7.1)
       mini_mime (>= 0.1.1)
     mail-gpg (0.4.4)
       gpgme (~> 2.0, >= 2.0.2)
       mail (~> 2.5, >= 2.5.3)
-    mini_mime (1.1.2)
-    mini_portile2 (2.8.0)
-    minitest (5.16.1)
+    mini_mime (1.1.5)
+    mini_portile2 (2.8.6)
+    minitest (5.23.1)
     multi_json (1.15.0)
-    mustermann (1.1.1)
+    mustermann (2.0.2)
       ruby2_keywords (~> 0.0.1)
-    rack (2.2.3.1)
-    rack-protection (2.2.0)
+    net-protocol (0.2.2)
+      timeout
+    net-smtp (0.5.0)
+      net-protocol
+    rack (2.2.9)
+    rack-protection (2.2.4)
       rack
-    rake (13.0.6)
+    rake (13.2.1)
     ruby2_keywords (0.0.5)
     schleuder (4.0.3)
       activerecord (~> 6.1.3)
@@ -53,34 +57,35 @@ GEM
       sqlite3 (~> 1.4.2)
       thin (~> 1)
       thor (~> 0)
-    sinatra (2.2.0)
-      mustermann (~> 1.0)
+    sinatra (2.2.4)
+      mustermann (~> 2.0)
       rack (~> 2.2)
-      rack-protection (= 2.2.0)
+      rack-protection (= 2.2.4)
       tilt (~> 2.0)
-    sinatra-contrib (2.2.0)
+    sinatra-contrib (2.2.4)
       multi_json
-      mustermann (~> 1.0)
-      rack-protection (= 2.2.0)
-      sinatra (= 2.2.0)
+      mustermann (~> 2.0)
+      rack-protection (= 2.2.4)
+      sinatra (= 2.2.4)
       tilt (~> 2.0)
     sqlite3 (1.4.4)
-    thin (1.8.1)
+    thin (1.8.2)
       daemons (~> 1.0, >= 1.0.9)
       eventmachine (~> 1.0, >= 1.0.4)
       rack (>= 1, < 3)
     thor (0.20.3)
-    tilt (2.0.10)
-    tzinfo (2.0.4)
+    tilt (2.3.0)
+    timeout (0.4.1)
+    tzinfo (2.0.6)
       concurrent-ruby (~> 1.0)
-    zeitwerk (2.6.0)
+    zeitwerk (2.6.15)
 
 PLATFORMS
-  aarch64-linux
   x86_64-linux
 
 DEPENDENCIES
+  net-smtp!
   schleuder!
 
 BUNDLED WITH
-   2.3.9
+   2.5.9
diff --git a/pkgs/tools/security/schleuder/cli/Gemfile b/pkgs/tools/security/schleuder/cli/Gemfile
index 428e856aecc65..12a93f677cfbe 100644
--- a/pkgs/tools/security/schleuder/cli/Gemfile
+++ b/pkgs/tools/security/schleuder/cli/Gemfile
@@ -1,4 +1,4 @@
 source "https://rubygems.org"
 
-gem "schleuder-cli", git: "https://0xacab.org/schleuder/schleuder-cli", tag: "schleuder-cli-0.1.0"
+gem "schleuder-cli", git: "https://0xacab.org/schleuder/schleuder-cli", tag: "schleuder-cli-0.2.0"
 
diff --git a/pkgs/tools/security/schleuder/cli/Gemfile.lock b/pkgs/tools/security/schleuder/cli/Gemfile.lock
index 3eead9459e054..808bcb8bc4f95 100644
--- a/pkgs/tools/security/schleuder/cli/Gemfile.lock
+++ b/pkgs/tools/security/schleuder/cli/Gemfile.lock
@@ -1,15 +1,15 @@
 GIT
   remote: https://0xacab.org/schleuder/schleuder-cli
-  revision: 1de2548695d9a74f47b7868954561b48cbc966f9
-  tag: schleuder-cli-0.1.0
+  revision: fd010d28b1503504056e714e03abf043b64794ea
+  tag: schleuder-cli-0.2.0
   specs:
-    schleuder-cli (0.1.0)
-      thor (~> 0)
+    schleuder-cli (0.2.0)
+      thor (~> 1)
 
 GEM
   remote: https://rubygems.org/
   specs:
-    thor (0.20.3)
+    thor (1.3.1)
 
 PLATFORMS
   aarch64-linux
@@ -19,4 +19,4 @@ DEPENDENCIES
   schleuder-cli!
 
 BUNDLED WITH
-   2.3.9
+   2.5.9
diff --git a/pkgs/tools/security/schleuder/cli/gemset.nix b/pkgs/tools/security/schleuder/cli/gemset.nix
index 45ff62f891370..eeb05d82060f7 100644
--- a/pkgs/tools/security/schleuder/cli/gemset.nix
+++ b/pkgs/tools/security/schleuder/cli/gemset.nix
@@ -5,21 +5,21 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "1de2548695d9a74f47b7868954561b48cbc966f9";
-      sha256 = "0k4i33w9a0bscw4wbs301vxca367g7pa89y6cr24i0014pbmhs9z";
+      rev = "fd010d28b1503504056e714e03abf043b64794ea";
+      sha256 = "1r8ayi0d00c14q40247rwjf5s5n3dsy9d9blhf5jzm3kddzpwnbx";
       type = "git";
       url = "https://0xacab.org/schleuder/schleuder-cli";
     };
-    version = "0.1.0";
+    version = "0.2.0";
   };
   thor = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
+      sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps";
       type = "gem";
     };
-    version = "0.20.3";
+    version = "1.3.1";
   };
 }
diff --git a/pkgs/tools/security/schleuder/gemset.nix b/pkgs/tools/security/schleuder/gemset.nix
index 63cd6a5db81f2..ba22b478b00a5 100644
--- a/pkgs/tools/security/schleuder/gemset.nix
+++ b/pkgs/tools/security/schleuder/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f0ai51icvvx5q0jd1l89k0dlwzpsrkqlj6x43f8qc4bd1ya9glx";
+      sha256 = "0zz32997k2fsyd0fzrh8f79yjr6hv3i4j9wykkxncl02j8dhrkay";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7.7";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0khjnkvmiyap1g3rvw9hp16mzai4smqcg5hxhq28pll25ljzxdbp";
+      sha256 = "0qzymgyrvw2k32ldabp2jr0zgp6z9w8smyb946qgvs9zfs4n2qnn";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7.7";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -27,20 +27,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08wzpwgdm03vzb8gqr8bvfdarb89g5ah0skvwqk6qv87p55xqkyw";
+      sha256 = "0r2i9b0pm0b1dy8fc7kyls1g7f0bcnyq53v825rykibzdqfqdfgp";
       type = "gem";
     };
-    version = "6.1.6";
+    version = "6.1.7.7";
   };
   bcrypt = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "048z3fvcknqx7ikkhrcrykxlqmf9bzc7l0y5h1cnvrc9n2qf0k8m";
+      sha256 = "16a0g2q40biv93i1hch3gw8rbmhp77qnnifj1k0a6m7dng3zh444";
       type = "gem";
     };
-    version = "3.1.18";
+    version = "3.1.20";
   };
   charlock_holmes = {
     groups = ["default"];
@@ -57,10 +57,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
+      sha256 = "1kmhr3pz2nmhnq0nqlicqfwfmkzkcl835g7sw1gjjhjvhz8g2sf3";
       type = "gem";
     };
-    version = "1.1.10";
+    version = "1.3.1";
   };
   daemons = {
     groups = ["default"];
@@ -88,10 +88,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xbgh9d8nbvsvyzqnd0mzhz0nr9hx4qn025kmz6d837lry4lc6gw";
+      sha256 = "0r1vmql7w7ka5xzj1aqf8pk2a4sv0znwj2zkg1fgvd5b89qcvv2k";
       type = "gem";
     };
-    version = "2.0.20";
+    version = "2.0.24";
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
@@ -99,10 +99,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
+      sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.14.5";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -131,30 +131,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
+      sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.1.5";
   };
   mini_portile2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
+      sha256 = "149r94xi6b3jbp6bv72f8383b95ndn0p5sxnq11gs1j9jadv0ajf";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.8.6";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08z6rgs1jgbc032843mwg3fayvzn4hihz8bl2gp87pf7z02kw5f3";
+      sha256 = "1gkslxvkhh44s21rbjvka3zsvfxxrf5pcl6f75rv2vyrzzbgis7i";
       type = "gem";
     };
-    version = "5.16.1";
+    version = "5.23.1";
   };
   multi_json = {
     groups = ["default"];
@@ -172,20 +172,42 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a";
+      sha256 = "0m70qz27mlv2rhk4j1li6pw797gmiwwqg02vcgxcxr1rq2v53rnb";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "2.0.2";
+  };
+  net-protocol = {
+    dependencies = ["timeout"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa";
+      type = "gem";
+    };
+    version = "0.2.2";
+  };
+  net-smtp = {
+    dependencies = ["net-protocol"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z";
+      type = "gem";
+    };
+    version = "0.5.0";
   };
   rack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b1qsg0yfargdhmpapp2d3mlxj82wyygs9nj74w0r03diyi8swlc";
+      sha256 = "0hj0rkw2z9r1lcg2wlrcld2n3phwrcgqcp7qd1g9a7hwgalh2qzx";
       type = "gem";
     };
-    version = "2.2.3.1";
+    version = "2.2.9";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -193,20 +215,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hz6h6d67r217qi202qmxq2xkn3643ay3iybhl3dq3qd6j8nm3b2";
+      sha256 = "1d6irsigm0i4ig1m47c94kixi3wb8jnxwvwkl8qxvyngmb73srl2";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.4";
   };
   rake = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
+      sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
       type = "gem";
     };
-    version = "13.0.6";
+    version = "13.2.1";
   };
   ruby2_keywords = {
     groups = ["default"];
@@ -235,10 +257,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x3rci7k30g96y307hvglpdgm3f7nga3k3n4i8n1v2xxx290800y";
+      sha256 = "0wkc079h6hzq737j4wycpnv7c38mhd0rl33pszyy7768zzvyjc9y";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.4";
   };
   sinatra-contrib = {
     dependencies = ["multi_json" "mustermann" "rack-protection" "sinatra" "tilt"];
@@ -246,10 +268,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zzckl2n7r18fk3929hgcv8pby6hxwva0rbxw66yq6r96lnwzryb";
+      sha256 = "0s6c1k3zzxp3xa7libvlpqaby27124rccyyxcsly04ih904cxk33";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.4";
   };
   sqlite3 = {
     groups = ["default"];
@@ -267,10 +289,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "123bh7qlv6shk8bg8cjc84ix8bhlfcilwnn3iy6zq3l57yaplm9l";
+      sha256 = "08g1yq6zzvgndj8fd98ah7pp8g2diw28p8bfjgv7rvjvp8d2am8w";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.8.2";
   };
   thor = {
     groups = ["default"];
@@ -287,10 +309,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
+      sha256 = "0p3l7v619hwfi781l3r7ypyv1l8hivp09r18kmkn6g11c4yr1pc2";
+      type = "gem";
+    };
+    version = "2.3.0";
+  };
+  timeout = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg";
       type = "gem";
     };
-    version = "2.0.10";
+    version = "0.4.1";
   };
   tzinfo = {
     dependencies = ["concurrent-ruby"];
@@ -298,19 +330,19 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10qp5x7f9hvlc0psv9gsfbxg4a7s0485wsbq1kljkxq94in91l4z";
+      sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
       type = "gem";
     };
-    version = "2.0.4";
+    version = "2.0.6";
   };
   zeitwerk = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xjdr2szxvn3zb1sb5l8nfd6k9jr3b4qqbbg1mj9grf68m3fxckc";
+      sha256 = "1kr2731z8f6cj23jxh67cdnpkrnnfwbrxj1hfhshls4mp8i8drmj";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.6.15";
   };
 }
diff --git a/pkgs/tools/security/scorecard/default.nix b/pkgs/tools/security/scorecard/default.nix
index 265253bba51be..75b6657fe7e25 100644
--- a/pkgs/tools/security/scorecard/default.nix
+++ b/pkgs/tools/security/scorecard/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "scorecard";
-  version = "4.12.0";
+  version = "4.13.1";
 
   src = fetchFromGitHub {
     owner = "ossf";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ys7uO+xMSlcD8OGw7fV+aR0+Q1UXrxPKVLQbphV4rKk=";
+    hash = "sha256-xf6HyiZlkU9ifgXr+/O8UeElqwF8c1h/9IRWDVHx2+g=";
     # populate values otherwise taken care of by goreleaser,
     # unfortunately these require us to use git. By doing
     # this in postFetch we can delete .git afterwards and
@@ -28,7 +28,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorHash = "sha256-L6HFZryniy3Gp8NKdjM4SK82ZG5eQPM7blkSE3YFhOw=";
+  vendorHash = "sha256-ohZcz7fn/YAglLI3YOi0J4FWkCJa2/nsM7T03+BOWkw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -58,6 +58,11 @@ buildGoModule rec {
     export SKIP_GINKGO=1
   '';
 
+  checkFlags = [
+    # https://github.com/ossf/scorecard/pull/4134
+    "-skip TestRunScorecard/empty_commits_repos_should_return_repo_details_but_no_checks"
+  ];
+
   postInstall = ''
     installShellCompletion --cmd scorecard \
       --bash <($out/bin/scorecard completion bash) \
@@ -69,7 +74,7 @@ buildGoModule rec {
   installCheckPhase = ''
     runHook preInstallCheck
     $out/bin/scorecard --help
-    # $out/bin/scorecard version 2>&1 | grep "v${version}"
+    $out/bin/scorecard version 2>&1 | grep "v${version}"
     runHook postInstallCheck
   '';
 
diff --git a/pkgs/tools/wayland/wluma/default.nix b/pkgs/tools/wayland/wluma/default.nix
index edc751fec5117..94201db4a395f 100644
--- a/pkgs/tools/wayland/wluma/default.nix
+++ b/pkgs/tools/wayland/wluma/default.nix
@@ -1,7 +1,10 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , makeWrapper
 , rustPlatform
+, marked-man
+, coreutils
 , vulkan-loader
 , wayland
 , pkg-config
@@ -22,6 +25,19 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256-Ow3SjeulYiHY9foXrmTtLK3F+B3+DrtDjBUke3bJeDw=";
   };
 
+  postPatch = ''
+    substituteInPlace Makefile --replace \
+      'target/release/$(BIN)' \
+      'target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/$(BIN)'
+
+    # Needs chmod and chgrp
+    substituteInPlace 90-wluma-backlight.rules --replace \
+      'RUN+="/bin/' 'RUN+="${coreutils}/bin/'
+
+    substituteInPlace wluma.service --replace \
+      'ExecStart=/usr/bin/wluma' 'ExecStart=${placeholder "out"}/bin/wluma'
+  '';
+
   cargoLock = {
     lockFile = ./Cargo.lock;
   };
@@ -30,6 +46,7 @@ rustPlatform.buildRustPackage rec {
     makeWrapper
     pkg-config
     rustPlatform.bindgenHook
+    marked-man
   ];
 
   buildInputs = [
@@ -39,6 +56,12 @@ rustPlatform.buildRustPackage rec {
     dbus
   ];
 
+  postBuild = ''
+    make docs
+  '';
+
+  dontCargoInstall = true;
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
   postInstall = ''
     wrapProgram $out/bin/wluma \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland ]}"
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 4f54816185f0c..9cccfbaa7cafd 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -60,6 +60,7 @@ mapAliases ({
   a4term = a4; # Added 2023-10-06
   acorn = throw "acorn has been removed as the upstream project was archived"; # Added 2024-04-27
   adtool = throw "'adtool' has been removed, as it was broken and unmaintained";
+  adom = throw "'adom' has been removed, as it was broken and unmaintained"; # added 2024-05-09
   advcpmv = throw "'advcpmv' has been removed, as it is not being actively maintained and break recent coreutils."; # Added 2024-03-29
   aether = throw "aether has been removed from nixpkgs; upstream unmaintained, security issues"; # Added 2023-10-03
   afl = throw "afl has been removed as the upstream project was archived. Consider using 'aflplusplus'"; # Added 2024-04-21
@@ -249,6 +250,7 @@ mapAliases ({
   dep = throw "'dep' has been removed, because it is deprecated and archived in favor of Go modules"; # Added 2023-12-26
   devserver = throw "'devserver' has been removed in favor of 'miniserve' or other alternatives"; # Added 2023-01-13
   dfeet = throw "'dfeet' has been removed because it is archived upstream. Please use 'd-spy' instead"; # Added 2024-03-07
+  dgsh = throw "'dgsh' has been removed, as it was broken and unmaintained"; # added 2024-05-09
   dhcp = throw "dhcp (ISC DHCP) has been removed from nixpkgs, because it reached its end of life"; # Added 2023-04-04
   dibbler = throw "dibbler was removed because it is not maintained anymore"; # Added 2024-05-14
   dnnl = oneDNN; # Added 2020-04-22
@@ -387,6 +389,7 @@ mapAliases ({
   fractal-next = fractal; # added 2023-11-25
   framework-system-tools = framework-tool; # added 2023-12-09
   fritzprofiles = throw "fritzprofiles was removed from nixpkgs, because it was removed as dependency of home-assistant for which it was pacakged."; # added 2024-01-05
+  frostwire = throw "frostwire was removed, as it was broken due to reproducibility issues, use `frostwire-bin` package instead."; # added 2024-05-17
   fuse2fs = if stdenv.isLinux then e2fsprogs.fuse2fs else null; # Added 2022-03-27 preserve, reason: convenience, arch has a package named fuse2fs too.
   futuresql = libsForQt5.futuresql; # added 2023-11-11
   fx_cast_bridge = fx-cast-bridge; # added 2023-07-26
@@ -988,6 +991,7 @@ mapAliases ({
   percona-xtrabackup_8_0 = percona-xtrabackup_lts; # Added 2024-05-07
   perldevel = throw "'perldevel' has been dropped due to lack of updates in nixpkgs and lack of consistent support for devel versions by 'perl-cross' releases, use 'perl' instead";
   perldevelPackages = perldevel;
+  petrinizer = throw "'petrinizer' has been removed, as it was broken and unmaintained"; # added 2024-05-09
   pgadmin = pgadmin4;
   pharo-spur64 = pharo; # Added 2022-08-03
   phodav_2_0 = throw "'phodav_2_0' has been renamed to/replaced by 'phodav'"; # Added 2023-02-21
@@ -1394,6 +1398,8 @@ mapAliases ({
   yacc = bison; # moved from top-level 2021-03-14
   yafaray-core = libyafaray; # Added 2022-09-23
   yarn2nix-moretea-openssl_1_1 = throw "'yarn2nix-moretea-openssl_1_1' has been removed."; # Added 2023-02-04
+  yi = throw "'yi' has been removed, as it was broken and unmaintained"; # added 2024-05-09
+  yrd = throw "'yrd' has been removed, as it was broken and unmaintained"; # added 2024-05-27
   ytmdesktop = throw "ytmdesktop was removed because upstream vanished"; # added 2024-03-24
   yubikey-manager4 = throw "yubikey-manager4 has been removed, since it is no longer required by yubikey-manager-qt. Please update to yubikey-manager."; # Added 2024-01-14
   yuzu-ea = throw "yuzu-ea has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 109539a1820af..a08430fcb777c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3668,8 +3668,6 @@ with pkgs;
 
   djmount = callPackage ../tools/filesystems/djmount { };
 
-  dgsh = callPackage ../shells/dgsh { };
-
   dkimpy = with python3Packages; toPythonApplication dkimpy;
 
   dl-librescore = callPackage ../tools/audio/dl-librescore { };
@@ -5513,9 +5511,7 @@ with pkgs;
 
   hyprpaper = callPackage ../applications/window-managers/hyprwm/hyprpaper { };
 
-  hyprpicker = callPackage ../applications/window-managers/hyprwm/hyprpicker {
-    wlroots = wlroots_0_16;
-  };
+  hyprpicker = callPackage ../applications/window-managers/hyprwm/hyprpicker { };
 
   hyprshade = python311Packages.callPackage ../applications/window-managers/hyprwm/hyprshade { };
 
@@ -8119,7 +8115,6 @@ with pkgs;
 
   frigate = callPackage ../applications/video/frigate { };
 
-  frostwire = callPackage ../applications/networking/p2p/frostwire { };
   frostwire-bin = callPackage ../applications/networking/p2p/frostwire/frostwire-bin.nix { };
 
   ftgl = callPackage ../development/libraries/ftgl { };
@@ -8863,8 +8858,6 @@ with pkgs;
 
   hardinfo = callPackage ../tools/system/hardinfo { };
 
-  harmonia = callPackage ../tools/package-management/harmonia { };
-
   hayagriva = callPackage ../tools/typesetting/hayagriva { };
 
   hcl2json = callPackage ../applications/misc/hcl2json { };
@@ -14791,11 +14784,6 @@ with pkgs;
 
   ytfzf = callPackage ../tools/misc/ytfzf { };
 
-  # To expose more packages for Yi, override the extraPackages arg.
-  yi = callPackage ../applications/editors/yi/wrapper.nix {
-    haskellPackages = haskell.packages.ghc810;
-  };
-
   yaydl = callPackage ../tools/video/yaydl {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -21474,7 +21462,9 @@ with pkgs;
 
   ilmbase = callPackage ../development/libraries/ilmbase { };
 
-  imgui = callPackage ../development/libraries/imgui { };
+  imgui = callPackage ../development/libraries/imgui {
+    stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
+  };
 
   imtui = callPackage ../development/libraries/imtui { };
 
@@ -22679,8 +22669,6 @@ with pkgs;
 
   libopusenc = callPackage ../development/libraries/libopusenc { };
 
-  liboqs = callPackage ../development/libraries/liboqs { };
-
   libosinfo = callPackage ../development/libraries/libosinfo { };
 
   libosip = callPackage ../development/libraries/osip { };
@@ -25057,25 +25045,23 @@ with pkgs;
   libzra = callPackage ../development/libraries/libzra { };
 
   # requires a newer Apple SDK
-  zig_0_9 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.9.nix {
+  zig_0_9 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.9 {
     llvmPackages = llvmPackages_13;
   };
   # requires a newer Apple SDK
-  zig_0_10 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.10.nix {
+  zig_0_10 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.10 {
     llvmPackages = llvmPackages_15;
   };
   # requires a newer Apple SDK
-  zig_0_11 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.11.nix {
+  zig_0_11 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.11 {
     llvmPackages = llvmPackages_16;
   };
   # requires a newer Apple SDK
-  zig_0_12 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.12.nix {
+  zig_0_12 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.12 {
     llvmPackages = llvmPackages_17;
   };
   zig = zig_0_12;
 
-  zig-shell-completions = callPackage ../development/compilers/zig/shell-completions.nix { };
-
   zimlib = callPackage ../development/libraries/zimlib { };
 
   zita-convolver = callPackage ../development/libraries/audio/zita-convolver { };
@@ -27164,8 +27150,6 @@ with pkgs;
 
   itpp = callPackage ../development/libraries/science/math/itpp { };
 
-  iw = callPackage ../os-specific/linux/iw { };
-
   iwd = callPackage ../os-specific/linux/iwd { };
 
   jool-cli = callPackage ../os-specific/linux/jool/cli.nix { };
@@ -34437,8 +34421,6 @@ with pkgs;
 
   peru = callPackage ../applications/version-management/peru { };
 
-  petrinizer = haskellPackages.callPackage ../applications/science/logic/petrinizer { };
-
   pmidi = callPackage ../applications/audio/pmidi { };
 
   printrun = callPackage ../applications/misc/printrun { };
@@ -36437,8 +36419,6 @@ with pkgs;
 
   abuse = callPackage ../games/abuse { };
 
-  adom = callPackage ../games/adom { };
-
   airshipper = callPackage ../games/airshipper { };
 
   airstrike = callPackage ../games/airstrike { };
@@ -40758,8 +40738,6 @@ with pkgs;
     stdenv = crossLibcStdenv;
   };
 
-  yrd = callPackage ../tools/networking/yrd { };
-
   powershell = callPackage ../shells/powershell { };
 
   doing = callPackage ../applications/misc/doing  { };
diff --git a/pkgs/top-level/darwin-aliases.nix b/pkgs/top-level/darwin-aliases.nix
index 78e29d9f1a598..c9799351f4e6c 100644
--- a/pkgs/top-level/darwin-aliases.nix
+++ b/pkgs/top-level/darwin-aliases.nix
@@ -57,6 +57,7 @@ mapAliases ({
 
   ### L ###
 
+  libauto = throw "'darwin.libauto' has been removed, as it was broken and unmaintained"; # added 2024-05-10
   libiconv = pkgs.libiconv; # 2024-03-27
 
   ### O ###
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index d20910a5302cf..c68146357c27a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -463,6 +463,8 @@ self: super: with self; {
 
   aiozeroconf = callPackage ../development/python-modules/aiozeroconf { };
 
+  aiozoneinfo = callPackage ../development/python-modules/aiozoneinfo { };
+
   airium = callPackage ../development/python-modules/airium { };
 
   airly = callPackage ../development/python-modules/airly { };
@@ -14307,6 +14309,8 @@ self: super: with self; {
 
   sphinx-togglebutton = callPackage ../development/python-modules/sphinx-togglebutton { };
 
+  sphinxawesome-theme = callPackage ../development/python-modules/sphinxawesome-theme { };
+
   sphinxcontrib-actdiag = callPackage ../development/python-modules/sphinxcontrib-actdiag { };
 
   sphinxcontrib-apidoc = callPackage ../development/python-modules/sphinxcontrib-apidoc { };